Лучшие практики для непрерывного тестирования в Agile
В Agile, где мы часто выпускаем программное обеспечение в производство, нам необходимо обеспечить высокое качество программного обеспечения. на протяжении всего развития . Нам нужно тестировать рано, и нам нужно тестировать часто.
Нам нужно убедиться, что мы с самого начала получаем правильные требования, и убедиться, что мы тестируем на протяжении всей разработки, а не прекращаем тестирование непосредственно перед выпуском.
Ниже приведены передовые практики, которым мы можем следовать для внедрения и улучшения тестирования на протяжении всего жизненного цикла разработки.
Бережливое тестирование
Непрерывное тестирование требует полной сосредоточенности на обеспечении ценности для бизнеса. Вместо того, чтобы тратить время и силы на создание артефактов, не представляющих ценности, мы должны организовать тестирование рационально.
- Объедините разработчиков с тестировщиками, чтобы обеспечить эффективное модульное тестирование.
- Уменьшите количество ненужных артефактов тестирования, таких как обширные планы испытаний и тестовые случаи, сокращают время ожидания для тестирования.
- При тестировании вручную адаптируйте более исследовательский подход к тестированию.
Сотрудничать с бизнесом
Непрерывное тестирование означает правильное тестирование с самого начала. Чтобы начать разработку, мы должны убедиться, что у нас есть хорошие требования от бизнеса.
- QA должен строить тесные отношения с бизнес-аналитиками.
- Удалите двусмысленность из пользовательских историй - убедитесь, что каждая пользовательская история тестируется и включает критерии приемки .
- Не игнорируйте нефункциональные тесты, такие как тестирование производительности и безопасности. С самого начала проекта проводите как функциональное, так и нефункциональное тестирование.
- Создавайте осмысленные сценарии сквозного тестирования, используя тенденции, данные и аналитику с рабочего веб-сайта для сбора информации о действиях пользователей и путешествия пользователя через приложение.
Внедрить практику обеспечения качества
- Создайте сильную практику тестирования / обеспечения качества, которая будет стимулировать разработку. Определить Стратегия Agile QA-тестирования .
- Регулярно проводите семинары по обеспечению качества, на которых тестировщики могут улучшить свои технические навыки, а также навыки межличностного общения.
- Внедрите соответствующие методы тестирования, используя диаграммы технической архитектуры, модели приложения и интеллектуальные карты.
- Внедрите QA в команды , чтобы они знали обо всех изменениях в приложении.
Автоматизировать тестирование
Непрерывное тестирование требует раннего тестирования и частого тестирования. Мы можем использовать автоматическое тестирование, чтобы быстро получать отзывы о статусе приложения.
- Применять Лучшие практики по автоматизации тестирования
- Знать когда автоматизировать тесты, а когда оставить их как ручные тесты
- За автоматизацию тестирования отвечают как разработчики, так и тестировщики.
- По возможности автоматизируйте регрессионные тесты, а также нефункциональные тесты производительности и безопасности.
- Убедитесь, что вы следуете Пирамида автоматизации тестирования принцип за счет увеличения количества автоматических модульных тестов, тестов API и интеграции, и лишь небольшого числа автоматических тестов через пользовательский интерфейс.
- Запускайте автоматические тесты с сервера непрерывной интеграции (CI).
- Создавайте пакеты дымовой регрессии, которые работают быстро, и запускайте их так часто, как обновляется приложение.
- Автоматизируйте новые функции и истории по мере разработки, а не оставляйте их на потом.
Автоматизировать развертывание
- Чтобы получить максимальную отдачу от непрерывного тестирования, шаги на каждом этапе должны быть плавными, бесперебойными и автоматизированными.
- Вместо того, чтобы ждать, пока DevOps развернет последнюю версию в тестовой среде для тестирования QA, этот процесс следует автоматизировать.
- Объятие Автоматизация задач . Автоматизация предназначена не только для тестирования и проверки. Любую повторяющуюся тяжелую ручную работу следует автоматизировать.
- Стандартизируйте тестовые среды, чтобы развертывание в разных средах происходило гладко, а результаты автоматизированных тестов были надежными.
- Используйте визуализацию для масштабирования автоматизированного тестирования и получения быстрой обратной связи.