Подробная классификация тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 76/301
•
Автоматизированное тестирование (automated testing, test automation
127
)
— набор техник, подходов и инструментальных средств, позволяющий исклю- чить человека из выполнения некоторых задач в процессе тестирования.
Тест-кейсы частично или полностью выполняет специальное инструменталь- ное средство, однако разработка тест-кейсов, подготовка данных, оценка ре- зультатов выполнения, написания отчётов об обнаруженных дефектах — всё это и многое другое по-прежнему делает человек.
Некоторые авторы
113
говорят отдельно о «полуавтоматизирован- ном» тестировании как варианте ручного с частичным использова- нием средств автоматизации и отдельно об «автоматизированном» тестировании (относя туда области тестирования, в которых компь- ютер выполняет ощутимо большой процент задач). Но т.к. без уча- стия человека всё равно не обходится ни один из этих видов тести- рования, не станем усложнять набор терминов и ограничимся одним понятием «автоматизированное тестирование».
У автоматизированного тестирования есть много как сильных, так и слабых сторон (см. таблицу 2.3.b).
Таблица 2.3.b — Преимущества и недостатки автоматизированного тестирования
Преимущества Недостатки • Скорость выполнения тест-кейсов может в разы и на порядки превосходить возможно- сти человека.
• Отсутствие влияния человеческого фактора в процессе выполнения тест-кейсов (устало- сти, невнимательности и т.д.).
• Минимизация затрат при многократном вы- полнении тест-кейсов (участие человека здесь требуется лишь эпизодически).
• Способность средств автоматизации выпол- нить тест-кейсы, в принципе непосильные для человека в силу своей сложности, скоро- сти или иных факторов.
• Способность средств автоматизации соби- рать, сохранять, анализировать, агрегиро- вать и представлять в удобной для восприя- тия человеком форме колоссальные объёмы данных.
• Способность средств автоматизации выпол- нять низкоуровневые действия с приложе- нием, операционной системой, каналами пе- редачи данных и т.д.
• Необходим высококвалифицированный пер- сонал в силу того факта, что автоматизация
— это «проект внутри проекта» (со своими требованиями, планами, кодом и т.д.)
• Высокие затраты на сложные средства авто- матизации, разработку и сопровождение кода тест-кейсов.
• Автоматизация требует более тщательного планирования и управления рисками, т.к. в противном случае проекту может быть нане- сён серьёзный ущерб.
• Средств автоматизации крайне много, что усложняет проблему выбора того или иного средства и может повлечь за собой финансо- вые затраты (и риски), необходимость обуче- ния персонала (или поиска специалистов).
• В случае ощутимого изменения требований, смены технологического домена, перера- ботки интерфейсов (как пользовательских, так и программных) многие тест-кейсы стано- вятся безнадёжно устаревшими и требуют создания заново.
Если же выразить все преимущества и недостатки автоматизации тестиро- вания одной фразой, то получается, что автоматизация позволяет ощутимо увели- чить тестовое покрытие (test coverage
128
), но при этом столь же ощутимо увеличи- вает риски.
127
Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a f ormalized testing process. (Ravinder Veer Hooda, “An Automation of
Software Testing: A Foundation for the Future”)
128
1 ... 6 7 8 9 10 11 12 13 ... 38