Continuous integration умеет запускать тесты. Для этого его и придумали. Однако, как всегда, есть нюансы, связанные с теми или иными видами тестов. На митапе я расскажу про особенности настройки CI для работы с нагрузочным, приёмочным, интеграционным, UI- и Smoke-тестированием, проверкой корректности установки и апгрейда. Поговорим о том, на какие грабли можно при этом наступить и как их обойти.
Avito Automation Meetup (26.08.2017)
https://avitotech.timepad.ru/event/542380/
15. Prepare environment
—
1. Build Agent
2. Prefer containers (Docker) or VM template
3. Configure environment before build
4. Privileges for BuildAgent
1. Prefer roles for VM
18. Clean-up environment
—
1. Write in build directory
2. Cleanup created files, rollback modifications
1. Prefer VCS functionality
2. Swabra
3. Kill created processes (Swabra)
19. Clean-up environment
—
1. Write in build directory
2. Cleanup created files, rollback modifications
1. Prefer VCS functionality
2. Swabra
3. Kill created processes (Swabra)
4. Investigation takes time
20. Tests Execution
—
• Frameworks (Selenium) -> Utility (Maven, MS Build)
• Tools (Testcomplete) -> Plugin/script
1. Both can be run in CI
21. Tests Execution
—
• Frameworks (Selenium) -> Utility (Maven, MS Build)
• Tools (Testcomplete) -> Plugin/script
1. Both can be run in CI
2. Store tests in XML
29. Performance tests
—
1. Gold agent + Gold build
2. Failure condition by time
1. Specify exact test names/wildcard
30. Performance tests
—
1. Gold agent + Gold build
2. Failure condition by time
1. Specify exact test names
3. Statistics (per build/test/etc.) over the time
31. Performance tests
—
1. Gold agent + Gold build
2. Failure condition by time
1. Specify exact test names
3. Statistics (per build/test/etc.) over the time
Demo