Sparround

Static testing & requirement review

Static testing is checking without executing code: reading and analysing requirements, user stories, designs, test cases and code. Dynamic testing means running the system and observing its behaviour.

This topic matters for a manual QA because it answers the question: "what does QA do when the code isn't ready?" The answer — its most valuable work: finding the defect before it ever reaches the code.

Fixing a one-line ambiguity in refinement takes minutes; the same mistake reaching production means hours of analysis, a hotfix, a retest and sometimes customer compensation. That is the practical meaning of the "early testing" principle.

Review typeFormalityHow it runsOutput
Informal reviewLowestA quick "take a look at this" with a colleague — no paperworkVerbal notes, small corrections
WalkthroughLow-mediumThe author walks the team through the document step by step, questions are raisedShared understanding, a list of open questions
Technical reviewMediumTechnical experts evaluate the proposed solutionA technical decision and alternatives
InspectionHighestDefined roles (moderator, author, reviewer, scribe), checklists, metricsA formal defect list, entry/exit criteria

When is a requirement testable? The criteria:

  • Unambiguous — a sentence cannot be read two ways
  • Measurable — numbers instead of "fast", "convenient", "sufficient"
  • Complete — both the success case and the error case are described
  • Consistent — it does not contradict another requirement
  • Traceable — the business need it comes from is known
  • Feasible — achievable with the available time and technology

Red-flag words (ask a question the moment you see them): etc., usually, as much as possible, user-friendly, fast, optimal, if needed, should work correctly.

In interviews, answering "the code isn't ready, what do you do?" with "I wait" is an instant minus. The strong answer is a list: I review the requirements and prepare a question list, check that acceptance criteria are verifiable, write test cases/checklists, prepare test data and the environment, and refresh stale regression cases. If you once found a real defect in a review — tell that story; it doubles the strength of the answer.