Стр: 76/301
•
Автоматизированное тестирование (automated testing, test automation
127
)
—
набор техник, подходов и инструментальных средств, позволяющий исклю-
чить человека из выполнения некоторых задач в процессе тестирования.
Тест-кейсы частично или полностью выполняет специальное инструменталь-
ное средство, однако разработка тест-кейсов, подготовка данных, оценка ре-
зультатов выполнения, написания отчётов об обнаруженных дефектах — всё
это и многое другое по-прежнему делает человек.
Некоторые авторы
113
говорят отдельно о «полуавтоматизирован-
ном» тестировании как варианте ручного с частичным использова-
нием средств автоматизации и отдельно об «автоматизированном»
тестировании (относя туда области тестирования, в которых компь-
ютер выполняет ощутимо большой процент задач). Но т.к. без уча-
стия человека всё равно не обходится ни один из этих видов тести-
рования, не станем усложнять набор терминов и ограничимся одним
понятием «автоматизированное тестирование».
У автоматизированного тестирования есть много как сильных, так и слабых
сторон (см. таблицу 2.3.b).
Таблица 2.3.b — Преимущества и недостатки автоматизированного тестирования
Преимущества Недостатки •
Скорость выполнения тест-кейсов может в
разы и на порядки превосходить возможно-
сти человека.
•
Отсутствие влияния человеческого фактора
в процессе выполнения тест-кейсов (устало-
сти, невнимательности и т.д.).
•
Минимизация затрат при многократном вы-
полнении тест-кейсов (участие человека
здесь требуется лишь эпизодически).
•
Способность средств автоматизации выпол-
нить тест-кейсы, в принципе непосильные
для человека в силу своей сложности, скоро-
сти или иных факторов.
•
Способность средств автоматизации соби-
рать, сохранять, анализировать, агрегиро-
вать и представлять в удобной для восприя-
тия человеком форме колоссальные объёмы
данных.
•
Способность средств автоматизации выпол-
нять низкоуровневые действия с приложе-
нием, операционной системой, каналами пе-
редачи данных и т.д.
•
Необходим высококвалифицированный пер-
сонал в силу того факта, что автоматизация
— это «проект внутри проекта» (со своими
требованиями, планами, кодом и т.д.)
•
Высокие затраты на сложные средства авто-
матизации, разработку и сопровождение
кода тест-кейсов.
•
Автоматизация требует более тщательного
планирования и управления рисками, т.к. в
противном случае проекту может быть нане-
сён серьёзный ущерб.
•
Средств автоматизации крайне много, что
усложняет проблему выбора того или иного
средства и может повлечь за собой финансо-
вые затраты (и риски), необходимость обуче-
ния персонала (или поиска специалистов).
•
В случае ощутимого изменения требований,
смены технологического домена, перера-
ботки интерфейсов (как пользовательских,
так и программных) многие тест-кейсы стано-
вятся безнадёжно устаревшими и требуют
создания заново.
Если же выразить все преимущества и недостатки автоматизации тестиро-
вания одной фразой, то получается, что автоматизация позволяет ощутимо увели-
чить тестовое покрытие (test coverage
128
), но при этом столь же ощутимо увеличи-
вает риски.
127