ТЕСТИРОВАНИЕ СКОРОСТИ И НАДЕЖНОСТИ
(load/stress/performance testing)
Это проверка поведения веб-сайта (или его отдельных частей) при одновременном наплыве множества пользователей.
Классификация видов тестирования
153
У каждого, кто пользуется Интернетом, есть опыт ожидания, когда, например, кликаешь на линк и следующая страница медленно высасывает из тебя душу, загружаясь ну оче-е-е-е-нь
долго.
Плохой перформанс (скорость работы) — это основная беда российских интернет-проектов.
Менеджмент, который экономит на подобном тестировании, в итоге, как правило, глубоко сожалеет об этом, так как современный интернет-пользователь — это существо ранимое и нервное, если сайт работает медленно, с перебоями или не работает совсем, так как не справляется с наплывом посетителей, то современный интернет-пользователь идет куда? Правильно, на сайт конкурента, тем более что физически никуда идти или ехать не надо, а надо лишь набрать "даблюдаблюдаблю точка адрес конкурента точка ком ".
Тестирование скорости и надежности — это отдельная техническая дисциплина, за хорошее знание которой получают очень большие деньги в иностранной валюте.
Как правило, целью такого тестирования является обнаружение слабого места (bottleneck) в системе. Под системой подразумеваются все компоненты веб-сайта, включая код, базу данных, "железо" и т.д.
В моей практике был случай, когда из-за того, что один из запросов к базе данных был составлен громоздко (с точки зрения обработки этого запроса системой), одна интернет-компания потеряла много пользователей, так как в течение нескольких дней сайт то работал, то не работал, и никто не мог понять, what the heck is going on ("что за фигня "), пока один из программистов не встрепенулся и не исправил код. Прошу заметить, что функционально старый код работал прекрасно, но с точки зрения перформанса он никуда не годился.
|
|
Скорость и надежность веб-сайта профессионально проверяется специальным ПО, которое легко может стоить под 100 тыс. долл. (например, Silk Performer от Segue или Load Runner от Mercury Interactive).
Упомянутое ПО служит:
с одной стороны, для генерации наплыва пользователей,
154
Тестирование Дот Ком. Часть 2
с другой — для измерения скорости, с какой веб-сайт в среднем отвечает каждому из "наплывших" и с третьей — для последующего анализа полученных данных.
ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ (security testing)
Одна из знакомых моего друга несколько лет назад наотрез отказывалась пользоваться Интернетом. На вопрос "почему? " она неизменно отвечала, что боится хукеров, чем неизменно вызывала у окружающих смех до икоты, так как на самом деле она имела в виду хакеров (hacker — в современном значении киберпреступ-ник, hooker — девушка легкого поведения).
|
|
Шутки шутками, а киберпреступность (cyber crime) — это целая криминальная индустрия, доходы ежегодно измеряются миллиардами долларов, которые соответственно теряют корпорации и честные каптруженики.
Тестирование безопасности — это множество вещей, суть которых заключается в том, чтобы усложнить условия для кражи — кражи данных, денег и информации.
Например, в одной из систем интернет-платежей есть специальный отдел, который профессионально занимается взламыванием... своего же веб-сайта и получает премии за каждую найденную ошибку в системе обеспечения безопасности.
ТЕСТИРОВАНИЕ ОПЫТА ПОЛЬЗОВАТЕЛЯ
(usability testing)
Призвано объективно оценить опыт пользователя (user experience), который будет работать с разрабатываемым интерфейсом.
Каждый из нас иногда ломает голову над тем, как исполнить желаемое на том или ином сайте. Поясню.
Допустим, вы идете на сайт сети пиццерий и хотите найти пиццерию, ближайшую к вашему дому. Если интерфейс сделан с заботой об опыте пользователя (user friendly interface), то мы быстро найдем вверху (header) и/или внизу (footer) страницы хорошо заметный линк "restaurant locator" либо "store locator" (месторасположение ресторана).
|
|
Вопрос:почему такой линк должен быть вверху или внизу страницы и называться именно так?
Классификация видов тестирования
155
Ответ:да потому, что это своего рода конвенция, и пользователь, ищущий ближайшую к дому пиццерию, ожидает увидеть линк в этих местах и с таким названием.
При юзабилити-тестировании также проверяется интуитивность интерфейса. Я видел некоторые "гениальные" интерфейсы, которые словно были созданы с целью не допустить достижения страницы, на которой можно оплатить товар.
Еще одним примером ужасного юзабилити является ставшее популярным размещение, скажем, на новостных сайтах больших мигающих баннеров справа от текста, после минуты чтения новостей на таком сайте создается впечатление, что побывал на угарной дискотеке.
Юзабилити-тестирование часто проводится путем привлечения группы потенциальных пользователей с целью собрать впечатления от работы с системой.
В добрые доткомовские времена, на рубеже тысячелетий представители интернет-компаний запросто ловили на улицах Сан-Франциско праздношатающихся разгшъдяев и платили им 50 долл. за час работы со свежеиспеченным веб-сайтом. Those were the Ways, my friend... Those were the days... (непереводимо).
|
|
Зачастую опыт пользователя тестируется самими продюсерами во время написания спека и создания макетов. Есть также профессиональные юзабилити-инженеры.
ТЕСТИРОВАНИЕ СОВМЕСТИМОСТИ
(compatibility testing)
Это проверка того, как наш веб-сайт взаимодействует с
• "железом" (например, модемами) и
• ПО (браузерами/операционными системами) наших пользователей.
Пример
Много лет назад, когда Netscape Navigator все еще использовался, а Виндоуз была еще в 98 версии, мы нашли такой баг:
"Краткое описание:
"Проблема совместимости: Win'98 перезагружается при входе в систему с Netscape Navigator версии Х.Х"
156
Тестирование Дот Ком. Часть 2
Описание и шаги для воспроизведения проблемы:
1. Открой www.main.testshop.rs с помощью Netscape Navigator версии Х.Х, установленной на Win'98 (можно использовать машину из тест-лаборатории).
2. Введи "rsavin-testuser11@testshop.rs" в поле "Имя пользователя" и "121212" в поле "Пароль".
3. Нажми на кнопку "Вход".
Баг: Win'98 начинает перезагружаться. Ожидаемый результат: вход в систему.
Комментарий:
баг воспроизводится только при таком сочетании браузера и ОС".
Из примера почерпнем по крайней мере три вещи:
• при тестировании было найдено такое сочетание браузера/операционной системы, при котором существовал фатальный баг, из-за которого пользователь не только не смог бы войти в www.main.testshop.rs, но и терял бы всю свою несохраненную работу;
• проблемы, связанные с совместимостью между веб-сайтом и браузером/ОС, реальны и могут вести к серьезным багам;
• можно (и нужно) создать тест-лабораторию с наиболее популярнымисочетаниями браузер/ОС, установленными на компьютерах наших пользователей.
Как найти эти популярные сочетания? Очень просто — покопайтесь в Интернете и поищите статистику о пользовании браузеров и ОС.
Что дальше? Дальше включаем компы с популярными ОС, запускаем на них популярные браузеры и исполняем наши тест-кейсы.
Тестирование с разными браузерами называется кросс-браузер-тестированием(cross-browser testing).
Тестирование с разными ОС называется кросс-платформ-тести-рованием(cross-platform testing).
Примером тестирования совместимости вашего сайта и "железа" является ситуация, когда полноценное пользование вашим сайтом возможно только при наличии видеокарты определенного типа, например поддерживающей технологию DirectX версии Х.Х. Здесь мы можем, например, протестировать, каков будет опыт пользователя, если у того на машине установлена устаревшая и неподдерживаемая видеокарта (кстати, такое тестирование будет называться негативным, но об этом позднее).
За исключением тех случаев, когда тест-кейсы специально созданы для тестирования совместимости, я не рекомендую указывать
Классификация видов тестирования
157
в них детали, например, по типу и версии браузера, так как типы и особенно версии меняются. Как мы помним, излишняя детализация приводит к трате времени на поддержание тест-кейсов.
По субъекту тестирования
• альфа-тестировщик (alpha tester);
• бета-тестировщик (beta tester).
АЛЬФА-ТЕСТИРОВЩИК (alpha tester)
Это сотрудники компании, которые профессионально или непрофессионально проводят тестирование: тестировщики, программисты, продюсеры, бухгалтеры, сисадмины, секретарши. В стар-тапах накануне релиза нередко все работники, включая Харито-ныча, сидят по 16 часов кряду, пытаясь найти непойманные баги.
БЕТА-ТЕСТИРОВЩИК (beta tester)
Это нередко баловень судьбы, который не является сотрудником компании и которому посчастливилось пользоваться новой системой до того, как она станет доступна всем остальным. За бета-тестирование иногда даже платят деньги (вспомните пример с 50 долл. в час за юзабилити-тестирование).
Дата добавления: 2018-05-02; просмотров: 969; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!