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



Pdf көрінісі
бет290/307
Дата03.07.2023
өлшемі5,03 Mb.
#179304
1   ...   286   287   288   289   290   291   292   293   ...   307
Байланысты:
Software Testing - Base Course (Svyatoslav Kulikov) - 3rd edition - RU

 
Стр: 269/301 
3.2.3. 
Технологии автоматизации тестирования 
В данной главе мы рассмотрим несколько высокоуровневых технологий ав-
томатизации тестирования, каждая из которых, в свою очередь, базируется на 
своём наборе технических решений (инструментальных средствах, языках про-
граммирования, способах взаимодействия с тестируемым приложением и т.д.). 
Начнём с краткого обзора эволюции высокоуровневых технологий, при этом 
подчеркнув, что «старые» решения по-прежнему используются (или как компо-
ненты «новых», или самостоятельно в отдельных случаях). 
Таблица 3.2.a — Эволюция высокоуровневых технологий автоматизации тестиро-
вания 
№ 
Подход
Суть
Преимущества
Недостатки

Частные решения. 
Для решения каждой 
отдельной задачи 
пишется отдельная 
программа. 
Быстро, просто. 
Нет системности, 
много времени ухо-
дит на поддержку. 
Почти невозможно 
повторное использо-
вание. 

Тестирование под 
управлением дан-
ными
{93}
 (DDT). 
Из тест-кейса вовне 
выносятся входные 
данные и ожидае-
мые результаты. 
Один и тот же тест-
кейс можно повто-
рять многократно с 
разными данными. 
Логика тест-кейса по-
прежнему строго 
определяется 
внутри, а потому для 
её изменения тест-
кейс надо переписы-
вать. 

Тестирование под 
управлением ключе-
выми словами
{93}
 
(KDT). 
Из тест-кейса вовне 
выносится описание 
его поведения. 
Концентрация на вы-
сокоуровневых дей-
ствиях. Данные и 
особенности поведе-
ния хранятся вовне и 
могут быть изменены 
без изменения кода 
тест-кейса. 
Сложность выполне-
ния низкоуровневых 
операций. 

Использование 
фреймворков. 
Конструктор, позво-
ляющий использо-
вать остальные под-
ходы. 
Мощность и гиб-
кость. 
Относительная 
сложность (особенно 
— в создании 
фреймворка). 

Запись и воспроиз-
ведение (Record & 
Playback). 
Средство автомати-
зации записывает 
действия тестиров-
щика и может вос-
произвести их, 
управляя тестируе-
мым приложением. 
Простота, высокая 
скорость создания 
тест-кейсов. 
Крайне низкое каче-
ство, линейность, не-
поддерживаемость 
тест-кейсов. Требу-
ется серьёзная дора-
ботка полученного 
кода. 


Технологии автоматизации тестирования
Тестирование программного обеспечения. Базовый курс. 
© EPAM Systems, 2015–2023
 
Стр: 270/301 

Тестирование под 
управлением пове-
дением
{93}
 (BDT). 
Развитие идей тести-
рования под управ-
лением данными и 
ключевыми словами. 
Отличие — в концен-
трации на бизнес-
сценариях без вы-
полнения мелких 
проверок. 
Высокое удобство 
проверки высоко-
уровневых пользова-
тельских сценариев. 
Такие тест-кейсы 
пропускают большое 
количество функцио-
нальных и нефункци-
ональных дефектов, 
а потому должны 
быть дополнены 
классическими бо-
лее низкоуровне-
выми тест-кейсами. 
На текущем этапе развития тестирования представленные в таблице 3.2.a 
технологии иерархически можно изобразить следующей схемой (см. рисунок 3.2.b): 
 
Рисунок 3.2.b — Иерархия технологий автоматизации тестирования 
Сейчас мы рассмотрим эти технологии подробнее и на примерах, но сначала 
стоит упомянуть один основополагающий подход, который находит применение 
практически в любой технологии автоматизации, — функциональную декомпози-
цию. 
Функциональная декомпозиция 
Функциональная декомпозиция
(functional decomposition
370

— процесс 
определения функции через её разделение на несколько низкоуровневых 
подфункций. 
Функциональная декомпозиция активно используется как в программирова-
нии, так и в автоматизации тестирования с целью упрощения решения поставлен-
ных задач и получения возможности повторного использования фрагментов кода 
для решения различных высокоуровневых задач. 
Рассмотрим пример (рисунок 3.2.c): легко заметить, что часть низкоуровне-
вых действий (поиск и заполнение полей, поиск и нажатие кнопок) универсальна и 
может быть использована при решении других задач (например, регистрация, 
оформление заказа и т.д.). 
370
Functional decomposition.
The process of defining lower-level functions and sequencing relationships. [
«System Engineering 
Fundamentals
», Defense Acquisition University Press] 
Использование 
фреймворков
Запись и 
воспроизведение
Тестирование под 
управлением данными
Тестирование под управлением 
ключевыми словами
Комбинация тестирование под управлением 
данными и ключевыми словами
Тестирование под управлением 
поведением


Технологии автоматизации тестирования
Тестирование программного обеспечения. Базовый курс. 
© EPAM Systems, 2015–2023
 
Стр: 271/301 
 
Рисунок 3.2.c — Пример функциональной декомпозиции в программировании и те-
стировании 
Применение функциональной декомпозиции позволяет не только упростить 
процесс решения поставленных задач, но и избавиться от необходимости самосто-
ятельной реализации действий на самом низком уровне, т.к. они, как правило, уже 
решены авторами соответствующих библиотек или фреймворков. 
Возвращаемся к технологиям автоматизации тестирования. 


Достарыңызбен бөлісу:
1   ...   286   287   288   289   290   291   292   293   ...   307




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

    Басты бет