6. QA & Testing¶
| What | Accepting a build, analyzing its impact, and running sanity, smoke, and regression testing. |
| Owner | QA (independent team), with Development supplying impact analysis. |
| Triggers | When a complete Build Ticket hands a build to QA. |
Summary¶
QA is an independent function that verifies a build before it can ship. QA only accepts a build when its Build Ticket and impact analysis are complete, because the impact analysis tells QA what changed and therefore what to test. QA then works through a documented test plan in escalating scope: sanity (does the core path even work), smoke (do the main flows work), and regression (does anything previously working now break). Every defect is logged in the tracker against the same JIRA Release.
Full detail¶
QA acceptance gate¶
QA accepts a build for testing only when the Build Ticket is complete, including the impact analysis below. QA is accountable for holding this gate: an incomplete handover is sent back, not tested on guesswork.
Impact analysis¶
The impact analysis is supplied with the build and is required before testing begins. It is captured for both planned changes and for bug fixes.
Impact analysis of the change (not bugs)¶
- Components impacted (select all that apply): Frontend, Backend / API, Database, UI/UX, DevOps/Deployment.
- Functional impact: the key functional changes (new, modified, or removed functionality).
- Technical impact: the affected modules, classes, functions, database tables, or APIs.
Impact analysis of the bugs¶
- Components impacted (same list as above).
- Functional impact.
- Technical impact.
- Root cause of the issue.
Use the Impact Analysis form.
The three test suites¶
QA runs testing in escalating scope. The point of the order is to fail fast: do not spend hours on regression if the core path is already broken.
| Suite | Question it answers | Scope |
|---|---|---|
| Sanity | Does the specific new or changed feature work on its main path? | Narrow, focused on what this build changed. |
| Smoke | Do the application's main workflows still work end to end? | The critical user journeys. |
| Regression | Does any previously working functionality now break? | Broad, across existing functionality, guided by the impact analysis. |
The impact analysis directs where regression effort is concentrated: the components and modules it flags are where breakage is most likely.
Test plan and traceability¶
Testing runs against a documented test plan. Each test case is verified and its result recorded, so there is evidence of what was tested and what passed. Defects are logged in the tracker and added to the same JIRA Release the build belongs to, giving a complete picture of what was planned, what was built, what QA found, and what shipped.
flowchart TD
A[Build Ticket received] --> B{Build Ticket + impact analysis complete?}
B -->|no| C[Reject, send back to dev]
B -->|yes| D[Accept build]
D --> E[Sanity: does the changed feature work?]
E -->|fail| F[Log defect, return to dev]
E -->|pass| G[Smoke: do main flows work?]
G -->|fail| F
G -->|pass| H[Regression: anything broken?]
H -->|defects| F
H -->|clean| I[Record test plan results]
F --> J[Defect Handling]
I --> K[Give go-ahead for tagging]
Example¶
QA receives Build Ticket
BUILD-58forv1.4.0. The impact analysis flags Backend/API and Database as impacted, with the orders module and theorderstable affected by the CSV export work. QA runs sanity on the export feature itself, smoke on the core order and checkout flows, then concentrates regression on the orders module and anything touching theorderstable. Two defects are found, logged against JIRA Releasev1.4.0, and sent back. After re-test they pass, and QA gives the go-ahead.
Related¶
- Previous phase: Build & Release Freeze
- Next phase: Defect Handling, then Tagging & Deployment
- Impact Analysis form and test plan skeleton