-
QA2 Maintenance CI system (< LTS 2021)
- Fábio Santos: UI Team
- Pedro Gonçalves: nApps Team
- Automated CI/CD pipeline
- Master and maintenance branches
- Feature branches with PR
- All commits reference JIRA tickets
- < LTS 2021: Test and Push
- >= LTS 2021: PR checks
- (code review, static analysis, tests, ...)
- Live preview environment (K8S deployment)
- Unit, functional and performance testing
- Crowdsourced functional testing on UAT environments (Rainforest)
- Weekly browser regression tests
- HotFix validation
- Manual testing by QA and/or PO
- Automated promotion of RC / rollout to customers
- Cross project checks
- Slow/flaky functional testing (JSF UI / Web UI) => REST API testing
- Automated test environment provisionning (JX/K8S vs NCO)
- Monitoring / logging UAT
- Shared managed services (Arender, ...)
- 3rd party integrations (Aspera, LiveConnect, ...)
- Upload / Download
- Configuration matrix (addons, configuration, feature flags)
- Need configured applications for testing (Nuxeo Intranet)
- JIRA + Service Desk
- Confluence
- Automated release task / plan creation (TBD?)
- Discussing adopting X-Ray (+JIRA integration)
- Jenkins, Jenkins X, Github Actions
- Rainforest
Core team
- PO: Julien Aubenque
- TL: Thomas Roger
UI team
- QA: Fábio Santos
- PO: Bertran Chauvin
- TL: Gabriel Barata
Github Actions for Nuxeo Elements
- Easy, fast and cheap (mock services)
- Cross browser
Current stack
- Mocha + Chai
- @nuxeo/testing-helpers
- Promisified helpers
- Mock Nuxeo client
- Karma
- Local launchers
- Saucelabs launcher
- @open-wc/karma-esm (no build)
- Jenkins X
Future
- Github Actions (ongoing)
- Move to @web/test-runner (https://modern-web.dev/docs/test-runner/)
- Visual regression tests
- Run in CI using nuxeo-ftest to start local server
- Can run against any server (WebUI dev server, docker, k8s, etc..)
Current stack
- webdriver.io v4
- Chai
- Selenium standalone launcher
- Cucumber BDD
- JUnit and Cucumber HTML reporters
Web UI FTest Framework
- Simple way to run Web UI functional tests:
npx @nuxeo/nuxeo-web-ui-ftest --report --screenshots --headless --tags='not @ignore'
- Reuse of common page objects and step definitions
Challenges
- Shadow DOM (wdio-shadow-plugin vs Component objects (
shadow$
) ) - Speed: timeouts and polling make things slow
- Flakyness: sensitive to performance, non transactional commands, etc..
Future
- webdriver.io v7
- suport for Puppetter (Chrome DevTools Protocol)
- no Playwright yet to avoid download of custom browsers
- visual regression
Rainforest tests
- Run on UAT environments
- Exploratory tests
nApps team
- QA: Pedro Gonçalves
- PO: Lisa McIntyre
- TL: Bruno Santos
(Connect and Studio) (NOS team)
- PO: Max Gavanon
- TL: Arnaud Kervern
Drive team
- PO: Max Gavanon
- TL: Mickaël Schoentgen
Documentation:
AI team
- PO: Tiago Cardoso
- TL: Pedro Cardoso
Documentation:
PO (Tiago Cardoso) is in charge of doing manual validation when releasing