
Тестування веб-додатків - емулятор інтернет-каналу Sloppy.
Сьогодні ж ми поговоримо про дуже просту утиліту, але тим не менш яка може стати вашим постійним і надійним другом і помічником.
З усіх видів тестування веб-додатків, найбільш, на мою думку, затребуваним і поширеним, є тестування роботи системи у користувачів з різним каналом доступу. Ну, може бути, крім тесту сумісності в різних браузерах. І так, нам майже в кожному проекті потрібно або дуже бажано подивитися, як люди з різною швидкістю підключення будуть бачити наш проект. Особливо це стосується веб-програм - від цього іноді залежить взагалі працездатність проекту, зокрема, коли завантажуються великі AJAX-бібліотеки і проект часто взаємодіє з сервером. Ось якраз для таких випадків є проект Sloppy.
Архітектурно, Sloppy - це проксі-сервер, який емулює доступ до зазначеного сайту через канал із заданою смугою пропускання - від модемного 9.6 Кб, до виділення 512 Кб. Питання, чому тільки такий маленький верхній порога швидкості, адже канали в 1 Мб і більш вже досить широко поширені. Швидше за все мається на увазі, що якщо швидкість 1 Мб або більше, то будь-який проект буде завантажуватися настільки швидко, що тестувати не має сенсу, хоча я схильний і посперечатися в цьому випадку - є проекти, у яких навіть такий канал викличе якщо не затримки, то просто повільний процес завантаження і пов'язано це не стільки з каналом, скільки з іншими витратами, тому протестувати все ж хотілося б і на таких клієнтах.
З доступних налаштувань у нас є: адреса сайту, який будемо тестувати, вибір швидкості (із сітки 9.6, 14.4, 28.8, 56, 128, 256 і 512 Кб), а також порт, за яким ми будемо отримувати сторінку. До речі, зважаючи на свою «проксі-природу», його можна використовувати як для тесту локального проекту, так і будь-якого проекту в мережі. Звичайно, у цьому випадку потрібен доступ до інтернету, тоді як просто для тесту локального сервера цього зовсім не потрібно (ну хіба що для завантаження пакета).
Після завдання параметрів і старту, браузер відкриває локальну адресу 127.0.0.1 на тому порту, що ви вказали в опціях (за замовчуванням, 7569) і відкриває вказаний вами сайт.
До речі, сам Sloppy цікавий тим, що поширюється як JNLP-файл, тобто використовує Java Web Start для запуску, при цьому сам код завантажується з сайту проекту, втім за розміром він абсолютно мініатюрний. Можна завантажити і сам вихідний код окремо.
Природно, в більш потужних і спеціалізованих пакетах для тестування ви можете набагато гнучкіше і повніше керувати буквально всіма аспектами емуляції і з'єднання, але чи часто вам потрібно пару десятків параметрів для простої перевірки? Адже запустивши пару разів проект через Sloppy ви відразу зрозумієте, де і що можна поправити, а потім вже приступити до повноцінного тестування з використанням професійного інструментарію.
У плані розвитку, цікавою виглядає інтеграція або ж просто спільна робота з утилітами для моніторингу завантаження скриптів та інших елементів сторінки та аналізу цього процесу. Наприклад, можна відмінно тестувати свої програми, використовуючи зв'язку Sloppy + Firebug + YSlow! Ось це вже набір для серйозного застосування. А ви як вважаєте?