Функциональное тестирование программного обеспечения
Тестирование по стратегии чёрного ящика
Особенности тестирования «черного ящика»
Целевые категории ошибок:
Достоинства и недостатки
Способ разбиения по эквивалентности
Условие ввода может задавать:
Правила формирования классов эквивалентности
Диапазон
Конкретное значение
Множество значений
Логическое значение
Тестовые варианты
Анализ граничных значений
Анализ граничных значений отличается от эквивалентного разбиения следующим:
Правила анализа граничных значений
Дерево разбиений
Анализ причинно-следственных связей
Граф причинно-следственных связей
Функции графа причинно-следственных связей
226.00K
Категория: ПрограммированиеПрограммирование

Функциональное тестирование программного обеспечения (глава 7)

1. Функциональное тестирование программного обеспечения

2.

Функциональное тестирование –
один из основных видов
независимого тестирования
программного обеспечения,
направленный на проверку
реализуемости функциональных
требований.
Тестирование определяет, решает
ли разработанное ПО задачи, ради
которых оно было создано.

3. Тестирование по стратегии чёрного ящика

Под «чёрным ящиком»
понимается объект исследования,
внутреннее устройство которого
неизвестно.
Понятие «чёрный ящик» предложено У. Р. Эшби

4. Особенности тестирования «черного ящика»

Известно: входные данные и соответствующие
выходные данные (ТЗ и спецификации).
Исследуется: поведение программы при решении
возложенных на нее функциональных задач.
Составление тестов предполагает получение:
– наборов входных данных, которые приводят к
аномалиям поведения программы (IT);
– наборов выходных данных, которые
демонстрируют дефекты программы (ОТ).

5.

Входные
данные
IT
Программное
изделие
Выходные
данные
OT

6. Целевые категории ошибок:

• некорректные или отсутствующие
функции;
• ошибки интерфейса;
• ошибки во внешних структурах данных
или в доступе к базе данных;
• ошибки характеристик (необходимая
емкость памяти и т. д.);
• ошибки инициализации и завершения.

7. Достоинства и недостатки

Достоинства:
Недостатки:
• сокращение
необходимого
количества тестовых
вариантов;
• выявление классов
ошибок, а не
отдельных ошибок.
• тестирование
возможно только на
завершающих
стадиях реализации;
• трудность
определения
конкретного
оператора
(подпрограммы),
приведшего к
ошибке.

8. Способ разбиения по эквивалентности

Область данных программы делится
на классы эквивалентности.
Класс эквивалентности – набор
данных с общими свойствами (с
точки зрения логики выполнения
программы).

9.

Допустимые
исходные значения
Недопустимые
исходные значения
Программное
изделие
Выходные классы
результатов

10. Условие ввода может задавать:

• определенное значение;
• диапазон значений;
• множество конкретных
значений;
• булево условие.

11. Правила формирования классов эквивалентности

1. Диапазон;
2. Конкретное значение;
3. Множество значений;
4. Логическое значение.

12. Диапазон

Если условие ввода задает диапазон
n...т, то определяются один
допустимый и два недопустимых класса
эквивалентности:
• V_Class={n.. .т} - допустимый класс
эквивалентности;
• Inv_С1аss1={x|для любого х: х < п} - первый
недопустимый класс эквивалентности;
• Inv_С1аss2={y|для любого у: у > т} - второй
недопустимый класс эквивалентности.

13. Конкретное значение

Если условие ввода задает конкретное
значение а, то определяется один
допустимый и два недопустимых класса
эквивалентности:
• V_Class={a};
• Inv_Class1 ={х|для любого х: х < а};
• Inv_С1аss2={y|для любого у: у > а}.

14. Множество значений

Если условие ввода задает множество
значений {а, b, с}, то определяются
один допустимый и один недопустимый
класс эквивалентности:
• V_Class={a, b, с};
• Inv_Сlаss={x|для любого х:
(х!=а)&(х!=b)&(х!=с)}.

15. Логическое значение

Если условие ввода задает булево
значение, например true, то
определяются один допустимый и один
недопустимый класс эквивалентности:
• V_Class={true};
• Inv_Class={false}.

16. Тестовые варианты

После построения классов эквивалентности разрабатываются
тестовые варианты. Тестовый вариант выбирается так, чтобы
проверить сразу наибольшее количество свойств класса
эквивалентности.
Определение тестов:
1. Каждому классу эквивалентности
присваивается уникальный номер.
2. Если еще остались не включенные в тесты
допустимые классы, то пишутся тесты, которые
покрывают максимально возможное количество
классов.
3. Если остались не включенные в тесты
недопустимые классы, то пишут тесты, которые
покрывают только один класс.

17. Анализ граничных значений

Граничные условия — это
ситуации, возникающие на
высших и нижних границах
входных классов
эквивалентности.

18. Анализ граничных значений отличается от эквивалентного разбиения следующим:

• Выбор любого элемента в классе
эквивалентности в качестве
представительного осуществляется таким
образом, чтобы проверить тестом каждую
границу этого класса.
• При разработке тестов рассматриваются не
только входные значения (пространство
входов), но и выходные (пространство
выходов).

19. Правила анализа граничных значений

• Построить тесты с неправильными входными
данными для ситуации незначительного выхода
за границы области значений.
• Обязательно писать тесты для минимальной и
максимальной границы диапазона.
• Использовать первые два правила для каждого
из входных значений (использовать пункт 2 для
всех выходных значений).
• Если вход и выход программы представляет
упорядоченное множество, сосредоточить
внимание на первом и последнем элементах
списка.

20. Дерево разбиений

21. Анализ причинно-следственных связей

• Спецификация разбивается на рабочие участки.
• В спецификации определяются множество причин и
следствий. Под причиной понимается отдельное
входное условие или класс эквивалентности.
Следствие представляет собой выходное условие или
преобразование системы. Здесь каждой причине и
следствию присваивается номер.
• На основе анализа семантического (смыслового)
содержания спецификации строится таблица
истинности, в которой последовательно перебираются
всевозможные комбинации причин и определяются
следствия для каждой комбинации причин.

22. Граф причинно-следственных связей

Обозначения:
сi
- причины
еi
- следствия
Возможные состояния узлов графа:
1 – состояние присутствует
0 – состояние отсутсвует

23. Функции графа причинно-следственных связей

Функции графа причинноследственных связей
сi
еi
A
Функция тождество
Ограничение E
E
B
сi
еi
Функция НЕ
A
сi
B
V
еi
Функция ИЛИ
сi
B
сi
A
еi
сi
Ограничение I
Ограничение O
O
Функция И
B
English     Русский Правила