Тестирование программного обеспечения. Базовый курс. 3-е издание



Pdf көрінісі
бет283/307
Дата03.07.2023
өлшемі5,03 Mb.
#179304
1   ...   279   280   281   282   283   284   285   286   ...   307
Байланысты:
Software Testing - Base Course (Svyatoslav Kulikov) - 3rd edition - RU

 
Стр: 261/301 
3.1.2. 
Области применения автоматизации 
Сначала мы ещё раз посмотрим на список задач, решить которые помогает 
автоматизация: 

Выполнение тест-кейсов, непосильных человеку. 

Решение рутинных задач. 

Ускорение выполнения тестирования. 

Высвобождение человеческих ресурсов для интеллектуальной работы. 

Увеличение тестового покрытия. 

Улучшение кода за счёт увеличения тестового покрытия и применения спе-
циальных техник автоматизации. 
Эти задачи чаще всего встречаются и проще всего решаются в следующих 
случаях (см. таблицу 3.1.a). 
Таблица 3.1.a — Случаи наибольшей применимости автоматизации 
Случай / задача 
Какую проблему решает автоматизация 
Регрессионное тестиро-
вание
{87}

Необходимость выполнять вручную тесты, количество которых 
неуклонно растёт с каждым билдом, но вся суть которых сводится к 
проверке того факта, что ранее работавшая функциональность про-
должает работать корректно. 
Инсталляционное тести-
рование
{86}
 
и настройка 
тестового окружения. 
Множество часто повторяющихся рутинных операций по проверке 
работы инсталлятора, размещения файлов в файловой системе, 
содержимого конфигурационных файлов, реестра и т.д. Подготовка 
приложения в заданной среде и с заданными настройками для про-
ведения основного тестирования. 
Конфигурационное тести-
рование
{89}
 
и тестирова-
ние совместимости
{89}

Выполнение одних и тех же тест-кейсов на большом множестве 
входных данных, под разными платформами и в разных условиях. 
Классический пример: есть файл настроек, в нём сто параметров, 
каждый может принимать сто значений: существует 100
100
вариан-
тов конфигурационного файла — все их нужно проверить. 
Использование комбина-
торных техник тестирова-
ния
{107}
 
(в т.ч. доменного 
тестирования
{95}

{242}
). 
Генерация комбинаций значений и многократное выполнение тест-
кейсов с использованием этих сгенерированных комбинаций в каче-
стве входных данных. 
Модульное тестирова-
ние
{77}

Проверка корректности работы атомарных участков кода и элемен-
тарных взаимодействий таких участков кода — практически невы-
полнимая для человека задача при условии, что нужно выполнить 
тысячи таких проверок и нигде не ошибиться. 
Интеграционное тестиро-
вание
{77}

Глубокая проверка взаимодействия компонентов в ситуации, когда 
человеку почти нечего наблюдать, т.к. все представляющие инте-
рес и подвергаемые тестированию процессы проходят на уровнях 
более глубоких, чем пользовательский интерфейс. 
Тестирование безопасно-
сти
{89}

Необходимость проверки прав доступа, паролей по умолчанию, от-
крытых портов, уязвимостей текущих версий ПО и т.д., т.е. быстрое 
выполнение очень большого количества проверок, в процессе кото-
рого нельзя что-то пропустить, забыть или «не так понять». 
Тестирование производи-
тельности
{91}

Создание нагрузки с интенсивностью и точностью, недоступной че-
ловеку. Сбор с высокой скоростью большого набора параметров ра-
боты приложения. Анализ большого объёма данных из журналов 
работы системы автоматизации. 
Дымовой тест
{79}
 
для круп-
ных систем. 
Выполнение при получении каждого билда большого количества до-
статочно простых для автоматизации тест-кейсов. 
Приложения (или их ча-
сти) без графического ин-
терфейса. 
Проверка консольных приложений на больших наборах значений 
параметров командной строки (и их комбинаций). Проверка прило-
жений и их компонентов, вообще не предназначенных для взаимо-
действия с человеком (веб-сервисы, серверы, библиотеки и т.д.). 


Области применения автоматизации
Тестирование программного обеспечения. Базовый курс. 
© EPAM Systems, 2015–2023
 
Стр: 262/301 
Длительные, рутинные, 
утомительные для чело-
века и/или требующие по-
вышенного внимания опе-
рации. 
Проверки, требующие сравнения больших объёмов данных, высо-
кой точности вычислений, обработки большого количества разме-
щённых по всему дереву каталогов файлов, ощутимо большого вре-
мени выполнения и т.д. Особенно, когда такие проверки повторя-
ются очень часто. 
Проверка «внутренней 
функциональности» веб-
приложений (ссылок, до-
ступности страниц и т.д.). 
Автоматизация предельно рутинных действий (например, прове-
рить все 30’000+ ссылок на предмет того, что все они ведут на ре-
ально существующие страницы). Автоматизация здесь упрощается 
в силу стандартности задачи — существует много готовых решений. 
Стандартная, однотипная 
для многих проектов 
функциональность. 
Даже высокая сложность при первичной автоматизации в таком 
случае окупится за счёт простоты многократного использования по-
лученных решений в разных проектах. 
«Технические задачи». 
Проверки корректности протоколирования, работы с базами дан-
ных, корректности поиска, файловых операций, корректности фор-
матов и содержимого генерируемых документов и т.д. 
С другой стороны, существуют случаи, в которых автоматизация, скорее 
всего, приведёт только к ухудшению ситуации. Вкратце — это все те области, где 
требуется человеческое мышление, а также некоторый перечень технологических 
областей. 
Чуть более подробно список выглядит так (таблица 3.1.b): 
Таблица 3.1.b — Случаи наименьшей применимости автоматизации 


Достарыңызбен бөлісу:
1   ...   279   280   281   282   283   284   285   286   ...   307




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет