Главной задачей такого скрипта является локализация ошибок, появляющихся в работе ПО. Автоматизация тестирования, в конечном счете, должна привести к тому, что человек не будет проверять ПО – эту работу на себя возьмет совокупность разных скриптов, что исключит возможность человеческого фактора (ошибки).
И так, с какими же трудностями может столкнуться тестирующий, предпочитающий автоматизированное тестирование ручному?
Первая проблема, с которой может столкнуться автоматическое тестирование – это несовместимость с тест кейсами (т.е. не все тестовые сценарии поддаются автоматизации). Например, ни один компьютер не сможет установить операционную систему, проверить напечатанный принтером документ и проверить содержимое картинки или видео.
На данном этапе автоматизация тестирования - это достаточно дорогостоящий процесс, который далеко не всегда окупается (дешевле выйдет обратиться к работе специалиста ручного тестирования), поскольку придется оплатить не только работу среды и создание автотеста, но и их обслуживание, а также устранение возникших неполадок (что под силу только опытному программисту или администратору). Кроме того саму работу автотестера также нужно запускать и тестировать, анализировать и обрабатывать полученные результаты. Поддержка автотестов станет для вас отдельной статьей расходов.
Если в автотест закралась ошибка или произошел некий сбой, то без помощи профессионального программиста также не обойтись. Это все в совокупности существенно увеличит стоимость автотестирования.
Есть еще две немаловажные вещи, на которые следует обратить внимание при выборе автотеста: изменение входных данных и функционала. Эти два пункта также требуют квалифицированного специалиста.
Изменения входных данных не избежать, если у вас большая система, требующая введения постоянно меняющихся параметров (например, банковская система). Такая процедура не только отнимет много времени, но и может привести к ряду проблем с ПО (например, могут обнулиться счета после введения новых данных). Изменение кейса (например, изменение названия банка) также потребует изменения скрипта.
Регрессионное тестирование (тест новых версий) требует изменения функционала и доработки автотестов, поскольку они не могут адаптироваться под новый интерфейс. Любое нововведение в ПО требует доработки автотестирования.
Конечно, ни одна техника и автоматизация не дошла до такого уровня развития, как человек и ничто в компьютерном мире не может пока работать без его участия. Кстати, если вы все-таки решились использовать автотесты, используйте регрессионное тестирование.
Комментарии:
creator2И так, давайте зададимся тем самым вопросом, который беспокоит все образованное человечество с появления первой техники. Кто кого: машина или человек? На этот раз речь пойдет о том, что называется автоматизированным тестом или автотестом.