2.5. Классификация по степени автоматизации
·
Ручное
тестирование — тестирование, в котором тест-кейсы выполняются человеком вручную
без использования средств автоматизации. Несмотря на то что это звучит очень
просто, от тестировщика в те или иные моменты времени требуются такие качества,
как терпеливость, наблюдательность, креативность, умение ставить нестандартные
эксперименты, а также умение видеть и понимать, что происходит «внутри системы»,
т.е. как внешние воздействия на приложение трансформируются в его внутренние
процессы.
·
Автоматизированное
тестирование — набор техник, подходов и инструментальных средств, позволяющий
исключить человека из выполнения некоторых задач в процессе тестирования.
Тест-кейсы частично или полностью выполняет специальное инструментальное
средство, однако разработка тест-кейсов, подготовка данных, оценка результатов
выполнения, написания отчётов об обнаруженных дефектах — всё это и многое другое
по-прежнему делает человек.
У
автоматизированного тестирования есть много как сильных, так и слабых сторон
(см. таблицу 1).
Преимущества |
Недостатки |
·
Скорость
выполнения тест-кейсов может в разы и на порядки превосходить возможности
человека. ·
Отсутствие
влияния человеческого фактора в процессе выполнения тест-кейсов
(усталости, невнимательности и т.д.) ·
Минимизация
затрат при многократном выполнении тест-кейсов (участие человека здесь
требуется лишь эпизодически). ·
Способность
средств автоматизации выполнить тест-кейсы, в принципе непосильные для
человека в силу своей сложности, скорости или иных факторов.
·
Способность
средств автоматизации собирать, сохранять, анализировать, агрегировать и
представлять в удобной для восприятия человеком форме колоссальные объёмы
данных. ·
Способность
средств автоматизации выполнять низкоуровневые действия с приложением,
операционной системой, каналами передачи данных и т.д.
|
·
Необходим
высококвалифицированный персонал в силу того факта, что автоматизация —
это «проект внутри проекта» (со своими требованиями, планами, кодом и
т.д.) ·
Высокие
затраты на сложные средства автоматизации, разработку и сопровождение кода
тест-кейсов. ·
Автоматизация
требует более тщательного планирования и управления рисками, т.к. в
противном случае проекту может быть нанесён серьёзный ущерб.
·
Средств
автоматизации крайне много, что усложняет проблему выбора того или иного
средства и может повлечь за собой финансовые затраты (и риски),
необходимость обучения персонала (или поиска специалистов).
·
В
случае ощутимого изменения требований, смены технологического домена,
переработки интерфейсов (как пользовательских, так и программных) многие
тест-кейсы становятся безнадёжно устаревшими и требуют создания заново.
|
Таблица
1 Преимущества
и недостатки автоматизированного тестирования.
Если
же выразить все преимущества и недостатки автоматизации тестирования одной
фразой, то получается, что автоматизация позволяет ощутимо увеличить тестовое
покрытие, но при этом столь же
ощутимо увеличивает риски.