Mid-LevelCI/CD & DevOps for QA
How do you design a test pipeline in GitHub Actions or Jenkins?
- pipeline design
- GitHub Actions
- Jenkins
Answer it first, then compare. Nothing here is saved or scored.
Model answer
Typical stages: (1) Lint + unit tests (fast, fail early). (2) Build application. (3) Deploy to test environment. (4) Integration/API tests (parallel if possible). (5) E2E/UI tests (parallel shards). (6) Performance smoke test (optional). (7) Report results, upload artifacts (screenshots, videos). Key decisions: when to run (every PR, main only, nightly), parallelism (matrix strategy for browsers), and failure handling (block merge vs. warning). Cache dependencies between runs for speed.
What interviewers listen for
- Pipeline shapeYou design stages by failure cost and runtime budget, not by tool feature lists.
- Parallelisation craftYou can shard a real suite and explain the state-isolation choices you made.
- Quality gatesYou know which checks block merge, which warn, and why those defaults are correct.
- Shift-left fluencyYou talk about ownership transfer, not just earlier execution.