Слайд 2Decision table
Условия– некоторый входной набор, который порождает Действия. Это могут быть:
аргументы сообщения;
состояние
![Decision table Условия– некоторый входной набор, который порождает Действия. Это могут быть:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465243/slide-1.jpg)
тестируемого объекта;
переменные класса\глобальные переменные.
Действия– ожидаемый выход метода. Это могут быть:
возвращаемое значение функции
сообщение (или неск.) другим объектам
стоговое состояние тестируемого объекта
комбинация всех этих элементов
Слайд 3Decision table
Как минимум 1 тест д.б. выполнен для каждого Действия.
Если переменные участвующие
![Decision table Как минимум 1 тест д.б. выполнен для каждого Действия. Если](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465243/slide-2.jpg)
в решении не boolean, то тесты д.б. составлены ещё и для тестирования граничных условий
Слайд 4Рекурсивный метод
В общем виде состоит из:
Предусловие
Базовый случай (Base case)
Рекурсивный случай (Recursive case)
Постусловие
![Рекурсивный метод В общем виде состоит из: Предусловие Базовый случай (Base case)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465243/slide-3.jpg)
Слайд 5Рекурсивный метод
Набор тестов должен покрывать:
0 вызовов рекурсий;
1 вызов рекурсии;
Макс глубину вызовов;
Попытаться нарушить
![Рекурсивный метод Набор тестов должен покрывать: 0 вызовов рекурсий; 1 вызов рекурсии;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/465243/slide-4.jpg)
предусловия изначального вызова;
Попытаться нарушить предусловия в нисходящей фазе;
Попытаться нарушить постусловия в восходящей фазе;
Границы инвариантов определенных для аргументов и\или состояния структур данных проходящих через алгоритм;
Комбинация нагрузки системы и Макс глубины вызова, если это критично для системы;