Similar presentations:
Функциональное тестирование программного обеспечения (глава 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