Слайд 3Что такое техника тест-дизайна?
минимум усилий
максимум результата
![Что такое техника тест-дизайна? минимум усилий максимум результата](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-2.jpg)
Слайд 4Соотношение усилий и результата
усилия
результат
![Соотношение усилий и результата усилия результат](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-3.jpg)
Слайд 5Тесты – сеть для ловли багов
![Тесты – сеть для ловли багов](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-4.jpg)
Слайд 6Когда остановиться?
Когда собрана полная коллекция чего-нибудь
![Когда остановиться? Когда собрана полная коллекция чего-нибудь](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-5.jpg)
Слайд 7Разбиение на подобласти
Чтобы избежать ненужного тестирования, разбейте область входных значений на группы
![Разбиение на подобласти Чтобы избежать ненужного тестирования, разбейте область входных значений на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-6.jpg)
эквивалентных тестов
Два теста считаются эквивалентными если они настолько похожи, что проверять оба бессмысленно
Выберите одно входное значение из каждого класса эквивалентности в качестве представителя целой группы значений
Парафраз Myers, Art of Software Testing
Слайд 8Пример
Доменное имя должно содержать от двух до 63 символов, начинаться и заканчиваться
![Пример Доменное имя должно содержать от двух до 63 символов, начинаться и](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-7.jpg)
буквой латинского алфавита или цифрой.
Промежуточными символами могут быть буквы латинского алфавита, цифры или дефис.
Доменное имя не может содержать дефисы одновременно в 3-й и 4-й позициях.
Правила регистрации доменных имен в домене RU, http://www.cctld.ru/ru/docs/RU-2.php
Слайд 9Пример
Длина имени:
0-1, 2-63, 64-∞
Символы:
буквы латинского алфавита,
цифры, дефис, все остальные
Структура
в начале/конце стоит дефис/не
![Пример Длина имени: 0-1, 2-63, 64-∞ Символы: буквы латинского алфавита, цифры, дефис,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-8.jpg)
дефис,
в 3 и 4 позиции дефисы/не дефисы
Слайд 11Покрытие и разбиение
буквы
цифры
дефис
![Покрытие и разбиение буквы цифры дефис](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-10.jpg)
Слайд 14Примеры «чисел»
(границы встречаются)
перечисления (enumeration)
символы (character)
количество (разрешённых установок (пароль мин 3 раза), записей
![Примеры «чисел» (границы встречаются) перечисления (enumeration) символы (character) количество (разрешённых установок (пароль](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-13.jpg)
в БД, строк в файле, цветов, …)
длина (строки, имени файла, пути, текста в файле, слова, абзаца, …)
размер/объём (файла, памяти, экрана, окна, шрифта, пакета, …)
номер (версии), время (интервал), скорость (ввода данных, перемещения мыши), …
Слайд 15Мы – нарушители границ!
На входе (то, что пользователь вводит)
На выходе (то, что
![Мы – нарушители границ! На входе (то, что пользователь вводит) На выходе](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-14.jpg)
пользователь видит)
Где-то глубоко внутри
Слайд 17Границы добра и зла
Физические (не может существовать)(строка -1 длинны)
Логические (не подходит по
![Границы добра и зла Физические (не может существовать)(строка -1 длинны) Логические (не](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-16.jpg)
смыслу)(при покупке кол. товара -1)
Технологические (не получается)(не описаны, память переполнена, ограничения ресурсов, в базе данных)
Произвольные (нельзя потому что нельзя)(длинна поля не >20символов)
Слайд 19Сколько тестов внутри?
буквы
цифры
дефис
![Сколько тестов внутри? буквы цифры дефис](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-18.jpg)
Слайд 24Paint
1.Изменить размер изо. (-1, больше 99999, скопировать -1)
2. Файл – свойства (вводим
![Paint 1.Изменить размер изо. (-1, больше 99999, скопировать -1) 2. Файл –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-23.jpg)
больше 9999, -1, буквы)
3. Изменить размер изо (сохранить размер 99999 и потом увеличить в процентах)
Слайд 25Неизвестные зависимости
Случайные комбинации
Неслучайные комбинации
полный перебор (10 checkbox = 2^10 тестов)
покрытие комбинаций меньшей
![Неизвестные зависимости Случайные комбинации Неслучайные комбинации полный перебор (10 checkbox = 2^10](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-24.jpg)
размерности
Слайд 272. Зависимость одного от другого
![2. Зависимость одного от другого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-26.jpg)
Слайд 283. Неизвестные зависимости
Случайные комбинации
Неслучайные комбинации
полный перебор
покрытие комбинаций меньшей размерности
![3. Неизвестные зависимости Случайные комбинации Неслучайные комбинации полный перебор покрытие комбинаций меньшей размерности](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-27.jpg)
Слайд 30Сокращение перебора: пример
Три переменные:
«Что» - строка
«С учётом регистра» - булевская
«Направление» - перечислимый
![Сокращение перебора: пример Три переменные: «Что» - строка «С учётом регистра» -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-29.jpg)
тип
Зависимости:
«Что» и «С учётом регистра»
Слайд 31Сокращение перебора: пример
Тестовые значения:
«Что»
“нижний” (L), “ВЕРХНИЙ” (U), “ВпЕрЕмЕшКу” (M)
«С учётом регистра»
Да (Y),
![Сокращение перебора: пример Тестовые значения: «Что» “нижний” (L), “ВЕРХНИЙ” (U), “ВпЕрЕмЕшКу” (M)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-30.jpg)
Нет (N)
«Direction»
Вверх (U), Вниз (D)
Слайд 33Сокращение перебора: пример
Перебор:
полный – все комбинации
все значения хотя бы по разу
все пары
![Сокращение перебора: пример Перебор: полный – все комбинации все значения хотя бы](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-32.jpg)
– каждый с каждым
все n-ки
Слайд 36Сокращение перебора: пример
Четыре переменные:
«Что» - строка
«С учётом регистра» - булевская
«Направление» - перечислимый
![Сокращение перебора: пример Четыре переменные: «Что» - строка «С учётом регистра» -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-35.jpg)
тип
«Есть в тексте» - булевская
Слайд 38Сокращение перебора: пример
Пять переменных:
«Что» - строка
«С учётом регистра» - булевская
«Направление» - перечислимый
![Сокращение перебора: пример Пять переменных: «Что» - строка «С учётом регистра» -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-37.jpg)
тип
«Есть в тексте» - булевская
«Регистр совпадает» - булевская
Слайд 40Сокращение перебора: пример
Зависимости:
«Что» и «С учётом регистра»
«Что» и «Есть в тексте»
«Есть в
![Сокращение перебора: пример Зависимости: «Что» и «С учётом регистра» «Что» и «Есть](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-39.jpg)
тексте» и «Регистр совпадает»
Слайд 41Все пары (каждый с каждым)
пар «Есть в тексте» (N) + «Рег.совп.» (*)
![Все пары (каждый с каждым) пар «Есть в тексте» (N) + «Рег.совп.»](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-40.jpg)
не существует
нет пары «Что» (L) + «Регистр совпадает» (N)
Слайд 43Сокращение перебора: пример
Шесть переменных:
«Что» - строка
«С учётом регистра» - булевская
«Направление» - перечислимый
![Сокращение перебора: пример Шесть переменных: «Что» - строка «С учётом регистра» -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-42.jpg)
тип
«Есть в тексте» - булевская
«Регистр совпадает» - булевская
«Направление совпадает» - булевская
Слайд 45Ограничения подхода
Хорошо работает для независимых переменных
Но если переменные независимы, зачем проверять комбинации???
![Ограничения подхода Хорошо работает для независимых переменных Но если переменные независимы, зачем проверять комбинации???](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-44.jpg)
Слайд 46Инструменты тестирования
Сайт http://pairwise.org/
![Инструменты тестирования Сайт http://pairwise.org/](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/370516/slide-45.jpg)