Математические основы тест-дизайна
Х@habr_comмедиа / агрегатор
1 месРазбор математических методов, позволяющих сократить количество тестов при проверке сложных систем с миллиардами комбинаций.
От бесконечности к конечности: как математика помогает в тестировании
Приложение принимает 10 параметров, у каждого по 10 значений. Комбинаций получается 10 миллиардов, и даже по секунде на тест полный перебор растянулся бы больше чем на 300 лет. Проверить всё невозможно физически, и весь тест-дизайн вырос как ответ на этот тупик.
Дальше выясняется забавное. Техники, которыми тестировщик пользуется интуитивно, как таблицей умножения, придуманы не в IT. Эквивалентное разбиение опирается на теорию множеств XIX века, таблицы решений уходят к булевой алгебре 1854 года, тестирование состояний восходит к Эйлеру и семи мостам Кёнигсберга, а массивы для pairwise вообще пришли из планирования статистических экспериментов.
Разберёмся, как выбрать горстку тестов, которая поймает большинство дефектов вместо 300 лет перебора.
Кратко (AI)
Автор объясняет, как математические концепции, такие как теория множеств и булева алгебра, помогают оптимизировать процесс тестирования ПО. Вместо полного перебора всех возможных комбинаций параметров предлагается использовать методы тест-дизайна для эффективного поиска дефектов.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖