истории просматриваются командой до начала работы. Не располагайте окно времени (например, спринты), скорее стройте рассказы в непрерывной трубе. Тест определяет, какие тесты будут автоматизированы и какие будут выполняться вручную. Test pyramid Вступает в игру. Используйте инструменты, такие как rest-assured (Java) или HTTParty и др. Для Ruby (множество вариантов с Ruby) для проверки конечных точек веб-сайта на уровне обслуживания (скорость - это ключ для CI). Чистые тесты пользовательского интерфейса должны составлять около 10% от всех автоматизированных тестов. Тесты UI занимают больше всего времени. Выберите тесты пользовательского интерфейса, которые выполняют как можно больше JavaScript на стороне клиента. Вы можете использовать автоматические инструменты сравнения снимков экрана, такие как Applitools и др. Для ускорения регрессионных тестов для пользовательского интерфейса. Кстати, я упоминаю только инструменты как примеры. Я не поддерживаю какой-либо инструмент или продукт. Сделайте свое собственное исследование.
Дженкинса (или Teamcity) шаги могут выглядеть следующим образом:
- Сложение App
- (зависит от шага 1) блок выполнения тестов
- (зависит от шага 2) испытаний запустить сервис слоя
- (в зависимости от шага 2) запуска тестов слоя UI
- (зависит от шагов 3 & 4) развертывания для тестирования
После тестирования выполните любые проверки вручную (например, смотреть и чувствовать).
Развертывание продукции один или несколько раз в неделю (10 часов популярны).
Запуск автоматизированного производственного дыма (например, тесты только для чтения, которые читают DB/BI со служебным уровнем и сравнивают с отображаемыми значениями UI) для проверки производственного развертывания. Были протестированы процедуры возврата. :-)
У нас есть следующий трубопровод: сборка (с модульными испытаниями) -> интеграционные тесты + SonarQube -> развертывание на стадии DEV -> развертывание на этапе QA -> развертывание на этапе PROD. Сборка запускается SCM, развертывание заданий выполняется вручную. Мы используем Jenkins [плагин конвейера доставки] (https://wiki.jenkins-ci.org/display/JENKINS/Delivery+Pipeline+Plugin) для управления конвейерами. Задача развертывания делает SCP файла WAR на сервере и перезапускает Tomcat через сценарий оболочки (все они включены в наш скрипт сборки Gradle). –
Спасибо @SteffenHarbich - в какое облако вы развертываете? – user2666282
Также вы запускаете все тесты как часть конвейера или есть другие тесты? Если да, когда и как вы их запускаете? – user2666282