Процесс тестирования можно построить разными способами. Один из эффективных методов автоматизации процесса тестирования это непрерывное тестирование в рамках непрерывной поставки ПО. Непрерывное тестирование позволяет стабилизировать и улучшить качество кода. Т.к. любое приложение начинается с разработки, то необходимо внедрять полноценное тестирование в циклы разработки.
Основная идея непрерывной поставки в том, чтобы построить конвейер (Deployment Pipeline), позволяющий каждому изменению в системе контроля версий попасть в боевое окружение стандартным и полностью автоматизированным способом.
Пример построения Deployment Pipeline на Jenkins для первой части:
1. Создание pipeline проекта
1.1. “Создать item” — ввести название и выбрать конфигурацию pipeline
1.2. В поле “GitHub project” ввести адрес до репозитория
1.3. Выбрать чекбокс “Опрашивать SCM об изменениях” и настроить расписание на проверку репозитория каждую минуту “* * * * *”
1.4. В поле “Pipeline script” ввести шаги проекта
node{
stage 'Deploy'
build 'Deploy_CHECK'
stage 'Sonar_analysis'
build job: 'Sonar_analysis', parameters: [string(name: 'STAND', value: 'CHECK')]
stage 'Unit tests'
build job: 'Unit_tests', parameters: [string(name: 'STAND', value: 'CHECK')]
stage 'Deploy DEV'
build 'Deploy_DEV'
stage 'Unit tests'
build job: 'Unit_tests', parameters: [string(name: 'STAND', value: 'DEV')]
stage 'Acceptance_test'
build 'Acceptance_test'
stage 'Smoke_tests'
build job: 'Smoke_tests', parameters: [string(name: '', value: 'DEV')]
}
2. Внести изменение в репозиторий
3. В течение минуты pipeline увидит новое изменение в репозитории и запустит проверку