Код презентации скопируйте его
Разбиение на подобласти Чтобы избежать ненужного тестирования, разбейте область входных значений на группы эквивалентных тестов Два теста считаются эквивалентными если они настолько похожи, что проверять оба бессмысленно Выберите одно входное значение из каждого класса эквивалентности в качестве представителя целой группы значений Парафраз Myers, Art of Software Testing
Пример Доменное имя должно содержать от двух до 63 символов, начинаться и заканчиваться буквой латинского алфавита или цифрой. Промежуточными символами могут быть буквы латинского алфавита, цифры или дефис. Доменное имя не может содержать дефисы одновременно в 3-й и 4-й позициях. Правила регистрации доменных имен в домене RU, http://www.cctld.ru/ru/docs/RU-2.php
Пример Длина имени: 0-1, 2-63, 64-∞ Символы: буквы латинского алфавита, цифры, дефис, все остальные Структура в начале/конце стоит дефис/не дефис, в 3 и 4 позиции дефисы/не дефисы
Примеры «чисел» (границы встречаются) перечисления (enumeration) символы (character) количество (разрешённых установок (пароль мин 3 раза), записей в БД, строк в файле, цветов, …) длина (строки, имени файла, пути, текста в файле, слова, абзаца, …) размер/объём (файла, памяти, экрана, окна, шрифта, пакета, …) номер (версии), время (интервал), скорость (ввода данных, перемещения мыши), …
Мы – нарушители границ! На входе (то, что пользователь вводит) На выходе (то, что пользователь видит) Где-то глубоко внутри
Границы добра и зла Физические (не может существовать)(строка -1 длинны) Логические (не подходит по смыслу)(при покупке кол. товара -1) Технологические (не получается)(не описаны, память переполнена, ограничения ресурсов, в базе данных) Произвольные (нельзя потому что нельзя)(длинна поля не >20символов)
Paint 1.Изменить размер изо. (-1, больше 99999, скопировать -1) 2. Файл – свойства (вводим больше 9999, -1, буквы) 3. Изменить размер изо (сохранить размер 99999 и потом увеличить в процентах)
Неизвестные зависимости Случайные комбинации Неслучайные комбинации полный перебор (10 checkbox = 2^10 тестов) покрытие комбинаций меньшей размерности
3. Неизвестные зависимости Случайные комбинации Неслучайные комбинации полный перебор покрытие комбинаций меньшей размерности
Сокращение перебора: пример Три переменные: «Что» - строка «С учётом регистра» - булевская «Направление» - перечислимый тип Зависимости: «Что» и «С учётом регистра»
Сокращение перебора: пример Тестовые значения: «Что» “нижний” (L), “ВЕРХНИЙ” (U), “ВпЕрЕмЕшКу” (M) «С учётом регистра» Да (Y), Нет (N) «Direction» Вверх (U), Вниз (D)
Полный перебор «Что» «С учетом регистра» «Направление» 1 L Y U 2 L Y D 3 L N U 4 L N D 5 U Y U 6 U Y D 7 U N U 8 U N D 9 M Y U 10 M Y D 11 M N U 12 M N D
Сокращение перебора: пример Перебор: полный – все комбинации все значения хотя бы по разу все пары – каждый с каждым все n-ки
Все значения хотя бы по разу «Что» «С учётом регистра» «Направление» 1 L Y U 2 U N D 3 M * (Y) * (U)
Все пары (каждый с каждым) «Что» «С учётом регистра» «Направление» 1 L Y U 2 L N D 3 U Y D 4 U N U 5 M Y * (U) 6 M N * (D)
Сокращение перебора: пример Четыре переменные: «Что» - строка «С учётом регистра» - булевская «Направление» - перечислимый тип «Есть в тексте» - булевская
Все пары (каждый с каждым) «Что» «С учётом регистра» «Направление» «Есть в тексте» 1 L Y U Y 2 L N D N 3 U Y D N 4 U N U Y 5 M Y U N 6 M N D Y
Сокращение перебора: пример Пять переменных: «Что» - строка «С учётом регистра» - булевская «Направление» - перечислимый тип «Есть в тексте» - булевская «Регистр совпадает» - булевская
Все пары (каждый с каждым) «Что» «С уч.рег.» «Напр.» «Есть» «Рег.совп.» 1 L Y U Y Y 2 L N D N N 3 U Y D N Y 4 U N U Y N 5 M Y U N N 6 M N D Y Y
Сокращение перебора: пример Зависимости: «Что» и «С учётом регистра» «Что» и «Есть в тексте» «Есть в тексте» и «Регистр совпадает»
Все пары (каждый с каждым) пар «Есть в тексте» (N) + «Рег.совп.» (*) не существует нет пары «Что» (L) + «Регистр совпадает» (N) «Что» «С уч.рег.» «Напр.» «Есть» «Рег.совп.» 1 L Y U Y Y 2 L N D N - 3 U Y D N - 4 U N U Y N 5 M Y U N - 6 M N D Y Y
Все пары (каждый с каждым) «Что» «С уч.рег.» «Напр.» «Есть» «Рег.совп.» 1 L Y U Y Y 2 L N D N - 3 L N D Y N 4 U Y D N - 5 U N U Y N 6 U Y D Y Y 7 M Y U N - 8 M N D Y Y 9 M Y U Y N
Сокращение перебора: пример Шесть переменных: «Что» - строка «С учётом регистра» - булевская «Направление» - перечислимый тип «Есть в тексте» - булевская «Регистр совпадает» - булевская «Направление совпадает» - булевская
Все пары (каждый с каждым) «Что» «С уч.р.» «Напр.» «Есть» «Р.совп.» «Н.совп.» 1 L Y U Y Y N 2 L N D N - - 3 L N D Y N Y 4 U Y D N - - 5 U N U Y N Y 6 U Y D Y Y N 7 M Y U N - - 8 M N D Y Y N 9 M Y U Y N Y