Поэтапное внедрение процессов тестирования
QA начинается с диалога: как мы собирали требования внутри команды
Даже в уже работающем проекте внедрение QA началось с комплексного сбора и анализа требований. Для этого было налажено взаимодействие с текущими сотрудниками, которые исполняли роли обеспечения качества:
- продакт-менеджерами (узнали приоритеты бизнеса);
- специалистами поддержки (узнали о частых жалобах пользователей и проблемных местах).
Нефункциональные требования: поддержка нескольких языков
В выявлении нефункциональных требований помогли чек-листы и лучшие практики, которые используются на старте проекта в компании. Однако сразу выяснилось далеко не все. Так, например, в ходе дальнейшего ручного тестирования обнаружилось, что приложение поддерживает сразу несколько языков. При проведении тестирования локализации обнаружились непереведенные элементы интерфейса. Даже после включения языковых проверок в чек-листы первое время наблюдалось значительное число возвратов по данному пункту.
Анализ в помощь дизайну
Дизайн дополнился анализом и документированием требований – этот симбиоз создал четкие ориентиры для разработчиков и устранил неопределенность на этапе приемочного тестирования.
На этапе анализа для некоторых фичей наряду с формированием технических требований осуществлялась проработка макетов из готовых компонентов: таблиц, форм и стандартных страниц. Это освободило время дизайнера для работы над более масштабными задачами и нестандартными решениями.
Ручное тестирование: с чего мы начинали
Изначально тестирование проводилось вручную, так как работа велась с готовой реализацией проекта. По мере тестирования новых фичей проводились проверки затрагиваемой функциональности. Так формировалась тестовая документация для уже существующих частей приложения.
Процессам приемочного тестирования теперь предшествовало функциональное, что значительно сократило число возвратов на этапе приемки.
Стандартизация описания дефектов уменьшила неопределенность в процессе их устранения.
Smoke-тестирование: первый шаг к автоматизации и стабильности
Внедрение smoke-тестов для быстрой проверки работоспособности системы и регулярного регрессионного тестирования позволило:
- сократить время обнаружения критических дефектов
- предотвратить появление старых ошибок в новых версиях
- оптимизировать процесс тестирования при частых релизах.
Исходно регрессионное тестирование проводилось вручную. Однако в процессе детальной документации тестов и получения полного представления о работе приложения начался перевод ключевых сценариев в автотесты. Это позволило постепенно сокращать временные затраты на регрессионное тестирование.