Ошибки бывают разные, но что делать с теми которые трудно воспроизвести? Поговорим о том, как правильно выстроить процесс тестирования для поиска ошибок которые не всегда удаётся воспроизвести.
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2017. Андрей Лазарев.Эффективный поиск невоспроизводимых ошибок
1. Киев 2017
Первый в Украине фестиваль тестирования
Эффективный поиск
невоспроизводимых ошибок
Лазарев Андрей
QA Technical Lead @ Terrasoft
2. Киев 2017
Предисловие
• Опыт получен на собственных ошибках в
тестировании
• Информация применима для тестирования
Web приложений
• Всё описанное уже находится в опытной
эксплуатации
• Или очень скоро там будет
Эффективный поиск невоспроизводимых ошибок
3. Киев 2017
О чем пойдёт речь
• Симптомы и причины невоспроизводимых
ошибок
• Причины возникновения
• Примеры неправильной организации
тестирования
• Рекомендуемые подходы и метрики
Эффективный поиск невоспроизводимых ошибок
4. Киев 2017
Симптомы таких ошибок
• Плавающие ошибки в приложении
• Случайно падающие автотесты
• Ошибка воспроизводится только на проде
• Воспроизведение ошибки может кардинально
меняться
Эффективный поиск невоспроизводимых ошибок
5. Киев 2017
Почему так происходит
• Недостаточное покрытие тестами
• Неверное применение инструментов в
тестировании
• Описание ошибки на уровне BlackBox
Эффективный поиск невоспроизводимых ошибок
8. Киев 2017
Резюме
Какие проблемы решены:
• Нет конфликтов при добавлении тестовых
данных автотестами
Какие проблемы не решены:
• Нет информации о поведении серверной
части
• Информация об ошибке на уровне BlackBox
Эффективный поиск невоспроизводимых ошибок
10. Киев 2017
Итоги
Какие проблемы решены:
• Доступна расширенная информация о
поведении приложения в разрезе всей
архитектуры
Какие проблемы не решены:
• Информация об ошибке на уровне GreyBox
• Нет информации о характере ошибки
Эффективный поиск невоспроизводимых ошибок
11. Киев 2017
Логирование серверной части
Эффективный поиск невоспроизводимых ошибок
• Статистика производительности приложения
• Потребление ресурсов сервера приложения
• Определение узких мест при обработке запросов
• Профайлинг HTTP запросов
• Профайлинг SQL запросов
• Логирование ошибок сервера
• Тригеры производительности
• Установка допустимых норм производительности
• Получение снэпшотов
12. Киев 2017
Логирование сервера БД
Эффективный поиск невоспроизводимых ошибок
• Статистика производительности БД
• Информация о тяжёлых запросах
• Информация об ошибках выполнения запросов
• Информация о пустых ответах БД
• Логирование блокировок таблиц
• Тригеры производительности
• Установка допустимых норм производительности
• Получение снэпшотов
13. Киев 2017
Итоги
Какие проблемы решены:
• Доступна расширенная информация о
поведении серверной части и БД
• Информация об ошибке на уровне WhiteBox
Эффективный поиск невоспроизводимых ошибок
14. Киев 2017
Расширение и применение модели
Эффективный поиск невоспроизводимых ошибок
Тестирование производительности системы
• Тестирование стабильности
• Стресс тестирование
• Конфигурационное тестирование
Тестирование производительности системы в
распределённой архитекторе
• Тестирование при конкурентном
распределении аппаратных ресурсов
• Тестирование интеграций и сервисов
15. Киев 2017
Выводы
• Автоматизация тестирования включает в себя
автоматизацию инструментов
• Даже при мануальном тестировании важно
получать информацию об ошибке на уровне
WhiteBox
• Упавший автотест всегда сообщает о наличии
ошибки
• Раннее тестирование производительности
упреждает плавающие ошибки в будущем
Эффективный поиск невоспроизводимых ошибок
16. Киев 2017
Вопросы
Спасибо за внимание!
Skype: ae.lazarev
Teregram: @Andrey_Lazarev
Email: aelazarev@gmail.com
Эффективный поиск невоспроизводимых ошибок