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

Автоматизированное тестирование (automated testing, test automation) — набор техник, подходов и инструментальных средств, позволяющий исключить человека из выполнения некоторых задач в процессе тестирования.
особенность

Особенность автоматизированных тест-кейсов — это источники данных и способы их генерации.

Если мы планируем выполнить тест-кейс 50–100–500 раз с разными входными данными, вручную столько данных мы не подготовим.

Источниками данных в такой ситуации могут стать:
случайные величины (генерация (случайных) данных по алгоритму)
получение данных из внешних источников: извлечение данных из базы данных
собранные рабочие данные, т.е. данные, созданные реальными пользователями в процессе их реальной работы
ручная генерация
применение

Области применения автоматизации:

выполнение тест-кейсов, непосильных человеку
решение рутинных задач
ускорение выполнения тестирования
высвобождение человеческих ресурсов для интеллектуальной работы
увеличение тестового покрытия
сложно автоматизировать

Сложно автоматизировать следующее:

проверка открытия файла в сторонней программе
(к примеру — проверка корректности отправленного на печать документа)
проверка содержимого изображения
(есть программы, которые позволяют частично решить эту проблему, но в простом срезе задач такие тесты лучше не автоматизировать, а оставить для ручного тестирования)
проверки, связанные с ajax скриптами
(эту проблему решить проще, для разных приложений есть свои решения, но в целом ajax автоматизировать существенно сложнее)
преимущества

Преимущества автоматизации тестирования:

повторяемость – все написанные тесты всегда будут выполняться однообразно, т. е. исключен «человеческий фактор»
выполнение без вмешательства – высвобождение человеческих ресурсов или тесты могут выполняться в нерабочее время
(этот метод предпочтительнее, так как нагрузка на локальные сети ночью снижена)
скорость выполнения и, как следствие, экономия времени, а также, более быстрое предоставление отчета о состоянии продукта
недостатки

Недостатки автоматизации тестирования:

большие затраты на разработку
затраты на поддержку
стоимость инструмента для автоматизации – в случае, если используется лицензированное ПО, его стоимость может быть достаточно высока
инструменты

Инструменты автоматизации

Что выбрать?

эффективность

Оценка эффективности автоматизации

TManTotal = NTman + NR * TManRun
TAutoTotal = TAuto + NTAutoRun + NR * TAutoMull
Если TManTotal >= TAutoTotal, то автоматизация имеет смысл
нравится контент?

Если хочешь поощрить за труд, жми кнопку

Прокрутить вверх