Автоматизация тестирования
Автоматизированное тестирование использует программные средства для выполнения функциональных тестов, что позволяет сократить время тестирования и упростить его процесс.

Нагрузочное тестирование — позволяет оценить возможности приложения в соответствии с заранее определенными целями.

Автоматизированное тестирование выполняется без участия человека, позволяет в короткие сроки обнаружить ошибки, а также выполнить действия, которые затруднены или более затратны при ручном тестировании.
Целью нагрузочного тестирования является проверка поведения приложения при определенной нагрузке, например, при заданном количестве параллельно работающих пользователей за промежуток времени.
Поскольку версии собираются часто, то возникает необходимость быстро оценивать их качество. Сборки осуществляются автоматизировано по расписанию, устанавливаются на виртуальную машину, где по расписанию запускаются автоматизированные тесты и рассылаются отчеты с результатом тестирования.

Наши автоматизированные тесты интегрированы с системой управления тестированием, и мы сразу видим если что-то пошло не так. Кроме того, к каждому тесту прикрепляется видеозапись прогона и снимки экрана, а также собирается вся необходимая отладочная информация, что позволяет быстро локализовать и исправить ошибку в коде.
Автоматизированное тестирование крайне эффективно при применении непрерывной интеграции (CI) с использованием таких средств, как, например, Jenkins или Azure DevOps.
Архитектура решения автоматизации тестирования. Мы используем Open Source фреймворки NUnit и Selenium WebDriver как основу для наших автоматизированных тестов, многопоточность обеспечивается веб-сервером Selenoid и контейнеризацией в Docker, мы также используем фреймворк PageObject, предоставляющий гибкий доступ к элементам пользовательского интерфейса — это позволяет нам тратить меньше времени на разработку и получать более стабильные тесты.
Использование фреймворков и стандартизация архитектуры автоматизированного тестирования позволяет создавать эффективные и простые тест. Это облегчает процесс обслуживания и создания новых тестов. А их запуск через систему непрерывной интеграции – гарантия того, что приложение будет быстро протестировано в каждой из тестовых сред, и качество продукта будет под постоянным контролем.
Процесс тестирования
1
Анализ требований
Анализ требований и системных требований выполняется на начальном этапе работ. Делается это, чтобы проверить их тестируемость, полноту, а также для выявления конфликтов требований.
2
Планирование тестирования
Создание проекта, стратегии тестирования и плана автоматизированного тестирования выполняется после анализа требований (например, план тестирования производительности, план автоматизации функционального тестирования).
3
Разработка тест-кейсов и тестов
Процесс разработки тестов включает создание тестовых сценариев и наборов тестовых сценариев. Далее на этом этапе разрабатываются автоматизированные тесты, тесты для нагрузочного тестирования и т.п.
4
Проведение тестов
• Функциональное тестирование (регрессионное тестирование бизнес-логики приложения);
• Нефункциональное тестирование (тестирование верстки, производительности, cтресс-тестирование и т.п.).
5
Анализ результатов тестирования
Заведение дефектов в систему отслеживания ошибок, предоставление отчета о производительности приложения.
10,5 ч.
Экономия времени тестировщиков за один прогон автоматизированного тестирования
98%
Функционала продукта охватывается автоматизированным тестированием