Академический Документы
Профессиональный Документы
Культура Документы
Марат Ахин
2018
1 Случайное тестирование
Генерация тестов
Fuzzing
Generative random testing
Mutation random testing
Directed random testing
Основная идея
Заставить компьютер работать вместо нас
Дешевле
Быстрее
Нет человеческого фактора
Входные данные
Последовательности вызовов API
Тестовые оракулы
kd-tree
stoi
md5sum
PDF reader
P8FT8PjBG7s71Bw1a8EP4svDPL5g4E791
TJcs5t9ZbxQAsLZx436PdJcxk3vq61192
Нет!
md5sum
kd-tree
stoi
PDF reader
kd-tree
stoi
PDF reader
PDF reader
Web browser
Некорректные тесты
Эквивалентные тесты
Длинные тесты
Некорректные тесты
Эквивалентные тесты
Длинные тесты
Минимизация тестов
Дихотомия
Стохастический поиск
Эволюционные алгоритмы
Delta debugging
Concolic testing
Это сложно
Это очень сложно
Это очень-очень сложно
Инструментирование программы
Моделирование памяти
Взрыв пространства состояний
Оптимизации!
SAGE
Microsoft Research
500+ машино-лет
Более трети всех багов в различных проектах Microsoft
Развивается вместе с тестируемым им ПО
Visual Studio
Microsoft Office