Дмитрий Зенович
руководитель тестирования
Руководство, разработка, тестирование
Тестирование
• Процесс• Информация• Качество
Как протестировать?
Затраты ресурсов при ручном регрессионном тестировании
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Тестирование версииИнтересная задача
Ручное тестирование
Настройка конфигурации
Выполнение теста
Анализ результатов
Отчет
Настройка конфигурации
Эталонные образы Редактирование образов
Opscode Chef
Быстрое создание стенда
Автоматизация тестов
• Полностью автоматизированные тесты
• Python UnitTest• Собственные
библиотеки
Автоматический запуск тестов
Git / RPM
Ручное тестирование версииИнтересная задачаАвтоматизированное тестирование
Тестирование
Настройка конфигурации
Выполнение теста
Анализ результатов
Отчет
Параллельный Selenium
• IE• Opera• Java/C++• Блокировки
Триггеры непредвиденных ситуаций
ltrace + подмена результата + Python
Машина времени
ltrace + подмена результата time, gettimeofdate, clock_gettime
Проверка фильтра Блума
Проверка случайной выдачи
Критерий
Проверка случайной выдачи
Проверка случайной выдачи
Простой пример:
chi_square, p_value = scipy.stats.chisquare(counted)0,05 > p_value > 0,95
Тестирование
Итоги
• Настройка конфигурации
• Выполнение регрессионных тестов
• Анализ результатов• Публикация отчета
• Новые тесты• Автоматизация• Инструменты
автоматизации