12 января 2015 г. 22:51:34

Тестирование производительности – итоги второй и третьей недели обучения

                                                                                          Боже,                                                               
                                                                                                                                           научи меня гуглить, когда нужно гуглить,
                                                                                                                                спрашивать, когда нужно спросить,           
                                                                                                                                        и помоги мне отличить одно от другого.  
(молитва начинающего тестировщика 
из сборника по баго-экзорцизму)        


Вторая неделя:
Не происходило ничего, совсем ничего. Из-за новогодних праздников, понятное дело, домашка не проверялась. Я же, не сумев попасть домой на НГ и рождество, скучала, но попыток развеселить себя путем погрызанием гранита такой науки как performance testing не предпринимала.

Третья неделя:
Появляется новый челлендж: придумать сценарии для своего приложения или выбрать из предложенного.
Итого, в моем хозяйстве на данный момент водятся: addressbook, Ghost, Mantis.

Ghost:
Успокоиться я не могла еще с самой первой недели. Не отрабатывал сценарий "авторизация/создание нового поста/публикация этого поста" на этапе публикации. 
В последней версии (ghost-0.5.7) было OAuth 2.0, и не было csrf-token’ов, которые в марте 2014 еще были. Решила сделать ход конем и установила более древнюю версию (Ghost-0.4.0-pre3), прикинув, что в примере использовалась версия, ближайшая по дате релиза к марту. Так и есть, увидела искомые csrf-token’ы. 
Обрадовавшись, что наконец-то я знаю, что с ними делать, записала сценарий, вытащила значение токена и передала в запросах. Но ничего в моей проблеме не изменилось. Ни-че-го. 

Было решено заняться Mantis. Тем более спросить об учебном проекте на форуме эффективнее, чем просить вникнуть в какой-то ghost и найти ошибку. 

Mantis:
Разгуглив возникшие вопросы по 1)отправке уведомлений на почту, 2)отключению капчи при регистрации новых пользователей и 3) доступом к гугл-аккаунту "менее защищенным приложениям", записала сценарий. Который тоже не отработал, при чем на этапе создания учетной записи и отправки письма свежезарегистрированному пользователю.

Делать нечего, отправилась на закрытый форум группы с повинной. Было чудесно, что тема с вопросом по занятию №3 оказалась уже заведена, а вторым спрашивать всегда приятнее. 

Оперативно получила ответ. Оказалось, что не отрабатывал из-за сущей ерунды  Волшебство кукис- и кеш-менеджера не распространялось на все запросы. Не там разместила элементы (facepalm с моей стороны).

Исправила и сценарий отработал. Дальше уже добавляла финтифлюшки а-ля "сгенерируем функцией имя пользователя вида user13 и дадим ему почту вида user+13@gmail.com". Ну не хотелось мне csv файл с логином и почтой создавать. Да еще и вручную обновлять после каждого запуска. 

{Жалобное, можно не читать}
У меня иррациональная нелюбовь к этому формату. Не получается нормально создать при помощи LibreOffice, других приложений и веб-сервисов по созданию csv-файлов. А когда возникает необходимость создать файл в таком формате, оказывается, что мне нужно заново ставить Excel в виртуалке...
В итоге, для учебного примера скачала csv файл с примером и вручную забила своими данными.
{/Жалобное} 


Ghost:
На радостях от того, что лед с Мантис тронулся, вернулась к Привиденью. 
Сценарий упорно отказывался отрабатывать и флудить в блоге.
Results tree показывал, что токен а) передается б) одинаковый. И где-то был подвох.
Подвох обнаружился при прохождении вручную в браузере шагов из сценария. На каждом шаге  открывалась информация о странице и сверялся csrf-token. Оказалось, что для авторизации токен один, а для публикации поста токен уже меняется. (Интересно, что же за версия была в примере).
Дальше добавились финтифлюшки: чтение из csv (пришлось все-таки) для авторизации, задержка в 5 секунд между стартом пользователей (иначе ругается), генерация рандомных строк для публикации + в заголовок поста добавить номер пользователя (убедиться, что точно все смогли принять участие в генерации флуда и неоднократно)

Может, "дорасту" до последней версии Ghost.
Может, "дозрею" и стану опасной, попади мне в руки JMeter и задача :)

И когда-нибудь перейду от борьбы с инструментом к тестированию и анализу результатов. Все-таки, в Ghost ошибок нет с задержкой в 5 секунд для 6 пользователей, которые добавляют пост, а при 10 пользователях уже ошибки есть. 

Комментарии доступны по линку на сам пост.


blog comments powered by Disqus