ТЕСТИРОВАНИЕ СКОРОСТИ И НАДЕЖНОСТИ



(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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!