Проектируя автоматизированные UI-тесты, за годы работы я затвердил себе, что начинать надо с минимально валидными записями в системе. При таком подходе высвечиваются ложные предположения в различных частях системы, которые вряд ли были бы пойманы юнит-тестами.
Как я уже писал, я стараюсь настраивать тестовые данные для UI-тестов через системное API (даже если API – это чистый SQL, это все равно хорошая практика). В этом случае, когда ваш браузер стартует тест, все данные уже на местах.
К примеру (который большей частью правдив), предположим, что у вас есть запись в системе для Пользователя, и единственное необходимое поле для этой записи – это «Фамилия». Если вы начнете проектировать тесты с записями, где указана только «Фамилия», вы быстро обнаружите, где система предполагает наличие еще и «Имени», «Адреса, «Почты» или «Телефона».
Прошу всех неравнодушных поделиться опытом в следующей жизненной ситуации начинающего тестировщика!
Требования заказчика:
- реализовать санити тестирование (цикличное, т.е. в назначенное время) по заданным параметрам
параметры для примера: логин, переход в личный кабинет, поиск товара
- наглядное отображение результатов в реальном времени (дата и время процессинга, продолжительность, респонс тайм, графики таймаутов для каждого респонса, нагрузка на сервер и прочие параметры машины в данный момент, нагрузка на железо)
- сохранение вышеуказанных результатов для последующего анализа
- сравнение и анализ полученных результатов в рамках вышеуказанных требований, для выяснения причин медленной производительности системы
Владея жметром (примерно 2 месяца), мне удалось реализовать часть сценария без подробного анализа и получения данных. В целом большая часть задачи стоит как раз таки в отображении и анализе собранных результатов.
Проекту не хватает реал-тайм анализа производительности системы. Насколько сейчас хватает моих знаний, то на мой взгляд с жметром вполне возможно реализовать данную задачу.
Краткая информация по системе и серверной части:
- вебприложение на жабе; ADF фреймворк
Есть тест, в нем просто идет HTTP GET:/ Запрос на ендпоинт, в настройках Thread Group стоит 500 пользователей и Rump-UP Period - 10, Loop Count - Forever.
То есть просто бесконечный тест одного ендпоинта, но дело в том что мне перед этим бесконечный циклом нужно как то один раз выполнить авторизацию пользователя, что бы получить куку сохранить ее в Cookie Manager'e, и потом использовать ее.
Но я не могу понять как мне HTTP POST:/ Запрос сделать один раз когда в настройках Thread Group стоит делать это бесконечно, Я пока что только разбираюсь в этом тестере, по этому не сильно понимаю как он работает, если я создам еще одну группу Thread Group и поставлю ее выше моей основной, и в ней напишу сделать авторизацию один раз, то это сработает или есть какие-то лучше способы это сделать?