Слайд 2Оглавление
Проектирование тестов
Методики проектирования тестов
Эквивалентное разбиение
Правила выделения классов
Правила составления тестов
Анализ граничных значений
Правила составления
![Оглавление Проектирование тестов Методики проектирования тестов Эквивалентное разбиение Правила выделения классов Правила](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-1.jpg)
тестов
Слайд 3Проектирование тестов
Ресурсы всегда ограничены, поэтому самым важным является следующий вопрос:
Какое подмножество всех
![Проектирование тестов Ресурсы всегда ограничены, поэтому самым важным является следующий вопрос: Какое](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-2.jpg)
возможных тестов имеет наибольшую вероятность обнаружения большинства ошибок?
Понятно, что худший вариант – это стохастическое (как придется), но как надо?
Слайд 4Методики проектирования тестов
Черный ящик:
Эквивалентное разбиение
Анализ граничных значений
Метод функциональных диаграмм
Стеклянный ящик:
Покрытие строк
Покрытие условий
Покрытие
![Методики проектирования тестов Черный ящик: Эквивалентное разбиение Анализ граничных значений Метод функциональных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-3.jpg)
условных операторов
Слайд 5Эквивалентное разбиение
Технология проектирования тестов, ориентированная на снижение общего числа тестов
Основная мысль –
![Эквивалентное разбиение Технология проектирования тестов, ориентированная на снижение общего числа тестов Основная](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-4.jpg)
разбить все данные для программы на классы
Если проектировать тесты для каждого класса, а не для каждого члена класса – то общее число тестов уменьшится
Слайд 6Эквивалентное разбиение (2)
Правильный тест
Уменьшает более чем на единицу число других тестов, которые
![Эквивалентное разбиение (2) Правильный тест Уменьшает более чем на единицу число других](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-5.jpg)
нужно разработать для достижения приемлемого уровня тестирования
Покрывать значительную часть других возможных тестов
Слайд 7Эквивалентное разбиение
Разработка тестов идет в два этапа:
Выделение классов эквивалентности
Построение тестов
![Эквивалентное разбиение Разработка тестов идет в два этапа: Выделение классов эквивалентности Построение тестов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-6.jpg)
Слайд 8Правила выделения классов эквивалентности
Если входное условие описывает диапазон, то выделяют один правильный
![Правила выделения классов эквивалентности Если входное условие описывает диапазон, то выделяют один](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-7.jpg)
класс эквивалентности и два неправильных
Если входное условие описывает множество значений, каждое из которых трактуется особо, то определяется правильный класс эквивалентности для каждого из значений и один неправильный класс значений
Если входное условие трактуется как «должно быть», то делается один правильный класс эквивалентности и один неправильный
Если есть подозрение, что различные элементы класса эквивалентности могут трактоваться программой по разному, следует разбить класс на несколько подклассов
Слайд 9Правила составления тестов
Каждому классу эквивалентности назначается уникальный номер
Проектирование новых тестов, каждый из
![Правила составления тестов Каждому классу эквивалентности назначается уникальный номер Проектирование новых тестов,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-8.jpg)
которых покрывает как можно большее число непокрытых правильных классов эквивалентности до тех пор, пока не будут покрыты все правильные классы эквивалентности
Проектирование тестов, каждый из которых покрывает один и только один из непокрытых неправильных классов эквивалентности пока все неправильные классы эквивалентности не будут покрыты тестами
Слайд 10Практика
Программа получается на вход 3 целых значения. Эти числа являются длинами сторон
![Практика Программа получается на вход 3 целых значения. Эти числа являются длинами](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-9.jpg)
треугольника. Результатом работы программы является сообщение – каким является этот треугольник: прямоугольным, равносторонним, равнобедренным, неравносторонний.
«?»: расписать классы эквивалентности
Слайд 11Решение
Корректные классы
(2,2,2) – равносторонний
(3,2,2) – равнобедренный
(3,4,5) – прямоугольный
(2,3,4) - неравносторонний
Некорректные классы
(2,2,-1) –
![Решение Корректные классы (2,2,2) – равносторонний (3,2,2) – равнобедренный (3,4,5) – прямоугольный](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-10.jpg)
отрицательная сторона
(3,2,1) – вырожденный
(2,2,0) – нулевая длина
(5,3,1) – не треугольник
(2,3,А) – не число
Слайд 12Практика №2
Есть поле ввода времени: формат ввода «чч»:«мм»:«сс»
«?»: Расписать классы эквивалентности
![Практика №2 Есть поле ввода времени: формат ввода «чч»:«мм»:«сс» «?»: Расписать классы эквивалентности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-11.jpg)
Слайд 14Анализ граничных значений
Анализ граничных значений отличается от эквивалентного разбиение в двух моментах:
Выбор
![Анализ граничных значений Анализ граничных значений отличается от эквивалентного разбиение в двух](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-13.jpg)
элемента в классе эквивалентности идет таким образом, чтобы проверить тестом каждую границу этого класса
При разработке тестов рассматривается не только пространство условий, но и пространство результатов
Слайд 15Правила составления тестов
Построить тесты для границ области и тесты с неправильными данными
![Правила составления тестов Построить тесты для границ области и тесты с неправильными](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-14.jpg)
для случаев незначительного выхода за границы области, если входное значение описывает диапазон значений
Построить тесты для минимального и максимального значения условий и тесты, большие и меньшие этих значений, если входное условие удовлетворяет дискретному ряду значений
Использовать правило 1 для каждого выходного условия
Использовать правило 2 для каждого выходного условия
Если вход или выход программы есть упорядоченное множество, то сделать тесты на первый и последний элементы
Попробовать найти другие граничные значения
Слайд 16Практика
Поле ввода: возраст сотрудника.
Допустимые значения: от 14 до 80.
«?»: список тестов?
![Практика Поле ввода: возраст сотрудника. Допустимые значения: от 14 до 80. «?»: список тестов?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/422692/slide-15.jpg)