Вы находитесь на странице: 1из 15

Автоматизация тестирования

Зачем нужна автоматизация тестирования?


Когда автоматизация полезна?

➢ Ваша первоочередная задача – сэкономить время проектной команды


➢ Тесты должны выполняться для каждой сборки приложения
➢ Ваш проект - длительный или комплексный (состоит из различных итераций)
➢ На выполнение тест-кейсов тратится много времени и ресурсов
➢ Проводится нагрузочное или стресс-тестирование
➢ Нужно сократить текущий объем тестирования с целью успеть к
определенным срокам
Когда автоматизация бесполезна?

❑ Для выполнения тестирования нужен человеческий интеллект интуиция


❑ Процесс тестирования ограничен интуитивными или исследовательскими
проверками
❑ Требования, относящиеся к существующей функциональности, часто
изменяются
❑ Нужно провести тестирование только единожды
Когда автоматизация не может быть
проведена?
Тестирование пользовательского интерфейса:

Ручное тестирование проверит общий вид приложения (четкость


изображений, расположение и отображение элементов графического
интерфейса при разных разрешениях экрана и др.), а также отдельно взятые
компоненты (например, цвет шрифта – сможет ли конечный пользователь его
легко воспринимать). Ручные проверки покажут, соответствует ли графический
интерфейс предпочтениям потребителей.
Когда автоматизация не может быть
проведена?
Тестирование удобства пользования:

Оно ответит с точки зрения пользователя на вопрос, является приложение


простым в использовании или нет.
Когда автоматизация не может быть
проведена?
Интуитивное тестирование:
Когда автоматизация не может быть
проведена?
Интуитивное тестирование:

Это тип проверок, при котором тест-кейсы не создаются заранее, а QA-


инженеры тестируют приложение и исследуют его «на ходу»
Manual + Automation
1. Вы используете как автоматизированные, так и ручные проверки для тестирования
различных аспектов одной и той же функциональности.
2. Ваша цель - быстрее выпустить новую версию продукта на рынок, для этого нужно
ускорить сам процесс тестирования.
3. Тесты являются «полуавтоматизированными», а для их завершения проводится ручная
проверка. Например, тестирование пользовательского интерфейса для разных браузеров и
разрешений экранов. Автотест откроет каждый браузер в нужном разрешении, перейдет по
ссылкам, сделает скриншот, а ручной тестировщик определит, насколько корректно
отображается содержимое страницы.
4. Ручные тесты должны быть проведены после завершения автоматизированных тестов,
например, чтобы выявить проблемы с пользовательской стороны.
5. Частые выходы новых версий ПО сложного продукта (масштабное регрессионное
тестирование).
Как повысить эффективность автоматизации?

✓ Запускать автотесты как можно чаще, чтобы быстрее реагировать на


изменения, быстрее находить дефекты и следить за тем, чтобы тестовое
покрытие было оптимальным.
✓ Группировать тесты по функциональности в тестовые наборы, чтобы
упростить обновление связанных тест-кейсов при изменении
функциональной области.
✓ Формировать отчеты с разными артефактами (скриншоты, логи), чтобы
можно было легко выявить причину ошибки.
Как повысить эффективность автоматизации?

✓ Разрабатывать тест-кейсы таким образом, чтобы изменение положения


элементов на странице не приводило к падению автотеста и необходимости
его обновления.
✓ Хранить тестовые данные в конфигурационном файле отдельно от шагов
автотестов.
✓ Разрабатывать тесты в наборе таким образом, чтобы они оставались
независимыми друг от друга, а неудачный запуск одного из них не влиял на
остальные.
Manual или Automation?

Факторы:
❖ ROI (окупаемость инвестиций). Окупят ли себя ресурсы, потраченные на
автоматизацию конкретного сценария?
❖ Сложность теста. Можно ли тест автоматизировать? Есть ли смысл оставлять
его ручным?
❖ Стабильность системы. Насколько приложение и его отдельные компоненты
стабильны? Могут ли они быть покрыты автоматизированными тестами? Где,
из-за часто меняющейся функциональности, понадобится помощь ручных
тестировщиков?
Подводные камни

▪ Внедрение автоматизации – это не одноразовое действие, так как нужно


тратить время на поддержку актуальности автотестов.
▪ Количество новых регрессионных дефектов всегда будет немного меньше по
сравнению с теми ошибками, что будут обнаружены в новой
функциональности.
▪ Иногда результаты тестирования нужны в течение нескольких часов,
особенно если говорить о проверках недавно внедренной
функциональности. В этом случае эффективнее перейти к ручному
тестированию и получить результаты как можно скорее.
Плюсы автоматизации

❑ Несмотря на то, что для написания тест-кейсов требуются определенные ресурсы,


окупаемость для больших и долгосрочных проектов может быть огромной. Тесты
легко настраиваются и многократно используются. Можно значительно снизить
стоимость каждого часа, затрачиваемого на проверки, а также найти наиболее
трудно обнаруживаемые баги.
❑ Можно быстро собрать обратную связь о состоянии продукта и обеспечить более
высокую эффективность работы команды разработчиков. Это улучшает интеграцию
между инженерами по обеспечению качества, программистами, менеджерами и
другими участниками процесса работы над ПО.
❑ Поскольку автоматизация тестирования помогает увеличить скорость разработки,
она становится более рентабельной и значительно упрощает выявление ошибки и
ее устранение на ранней стадии жизненного цикла системы.
Плюсы автоматизации

❑ Автоматизация регрессионных тестов экономит время QA- инженеров и освобождает


больше ресурсов для проведения интуитивных проверок и других активностей по
тестированию. При корректном использовании автоматизированные тесты могут
выполняться с минимальной вовлеченностью человека или вообще без него.
❑ Эффективность проверок во многом зависит от качества используемых тестовых
данных. Создавать их вручную довольно ресурсоемко, поэтому тестирование часто
проводится на копиях «живых» БД. Автоматизированные тесты могут быть
спроектированы так, чтобы они создавали и получали необходимые данные,
изменяли их (не затрагивая другие) и возвращались в исходное состояние.
❑ Автоматизация позволяет проходить этапы проведения тестов быстрее, чем это
делает человек. Это особенно актуально для DDT (тестов, управляемых данными),
поскольку одни и те же проверки проводятся много раз, но с разными наборами
данных.

Вам также может понравиться