QA in DevOps
DevOps loop
Plan → Code → Build → Test → Release → Deploy → Operate → Monitor → (loop)
QA touch every phase.
Pipeline stages typical
- Pre-commit — lint, unit test, hooks.
- Build — compile, package.
- Static analysis — SonarQube, security scan.
- Unit test — block merge if fail.
- Integration test — API, contract test.
- Deploy staging — auto.
- E2E test — Cypress, Playwright, Appium.
- Performance test — k6, JMeter.
- Manual UAT — gate to prod.
- Deploy production — blue-green or canary.
- Smoke test prod — synthetic check.
- Monitor — Sentry, DataDog.
QA gate criteria
- Unit coverage > 80%.
- Integration pass rate > 95%.
- E2E critical path pass.
- Performance regression < 10%.
- Zero critical / high open bug.
Tools
- Jenkins, GitHub Actions, GitLab CI, CircleCI, ArgoCD.
- Test report: Allure, Junit XML, ReportPortal.
- Notification: Slack, Microsoft Teams.
VN context
Banking app (MB, TCB) CI/CD chuyển từ manual sang automated 2020+. SBV regulation ngày càng strict yêu cầu evidence test trong pipeline.
Anti-pattern
- Manual gate stop pipeline 1 tuần → CI/CD pseudo.
- Skip flaky test instead of fix → tech debt.
- No rollback → production stuck on bad build.
Best practice
- Pipeline run < 30 phút PR-to-merge.
- Rollback automated < 5 phút.
- Test data refresh automated.