Test Case Review with Claude: Find the Gaps Before QA Does

SERIES: AI-POWERED DEV WORKFLOW · POST 9 OF 10

Finding a gap in your test cases during QA is expensive. The feature has been built, reviewed, and deployed to staging. Now QA finds a scenario that was never tested, the developer has already moved to the next ticket, and the fix goes into a mini-cycle that delays the release.

Finding that gap during test case review is cheap. You add one row to a spreadsheet. The feature is not built yet. Nothing is broken. The gap costs thirty seconds to fix instead of half a day.

Claude can do this review. Feed it the test cases and the FRD section they came from. Ask it to cross-check. It finds the scenarios that were missed, the duplicate tests that wasted effort, and the business rules with no test coverage. This post shows the exact workflow, using the Deliverable Approval test cases from Post 7 as the input.

Six Things to Look for in a Test Case Review

These are the categories where gaps most commonly hide. A well-prompted Claude will check all six automatically, but it helps to know what you are looking for:

#Review itemWhat to look for
1Missing negative testsHappy path is covered; what about wrong credentials, missing fields, invalid states? Most suites undertest the “no” path.
2Boundary values not testedFile size limits, character limits, date ranges, count maximums. If the FRD specifies a limit, there should be a test at that limit.
3Role-based access not fully coveredEach significant action should be tested from the perspective of a role that should succeed AND at least one that should be blocked.
4Notifications not verifiedIf the FRD says “user receives an email when X happens”, there must be a test that confirms the notification is triggered. Not just that X happened.
5Integration points missingWhat happens when a downstream dependency fails? Email service down, payment gateway timeout, file storage unavailable.
6Acceptance criteria without testsEvery acceptance criterion in the FRD should map to at least one test case. If a criterion has no test, it is unverified by definition.

The Four-Step Review Workflow

Step 1 — Load the Test Cases and the FRD Together

PROMPT 1 - Load Context

I am going to give you two things:
1. A set of test cases for the Deliverable Approval Workflow
2. The FRD section that specifies that feature

Read both. Do not start the review yet.
Confirm that you have read them and summarise:
- How many test cases you received
- How many FRD acceptance criteria exist for this feature
- How many FRD business rules exist for this feature

Getting this confirmation step right matters. If Claude misses a section of the FRD or only reads part of the test cases, the review is incomplete before it starts. For ClientHub, Claude confirmed: 10 test cases, 6 acceptance criteria, 3 business rules.

Step 2 — Cross-Check FRD Against Test Cases

PROMPT 2 - FRD to Test Case Cross-Check

Cross-check the FRD acceptance criteria and business rules
against the test cases.

For each FRD item, tell me:
- Which test case covers it (by ID)
- If no test case covers it, flag it as GAP

Output as a table: FRD item | Covered by | Status

Step 3 — Find Duplicates and Redundant Coverage

PROMPT 3 - Find Redundant Tests

Review the 10 test cases for overlap and redundancy.
Flag any tests where:
- Preconditions are identical to another test
- The expected result is already verified by a different test
- The test adds no unique coverage

Suggest which tests to merge or remove.

Step 4 — Generate New Test Cases for the Gaps

PROMPT 4 - Generate Gap-Filling Test Cases

Based on your review, write new test cases to fill the gaps you found.
Each new test case must:
- Use TC-DAW-XX format, continuing from TC-DAW-10
- Include: Type, Description, Preconditions, Steps, Expected Result
- Be grounded in the FRD (do not invent behaviour)

Write only the missing tests. Do not rewrite existing ones.

What Claude Found: Four Gaps in Ten Test Cases

Running Prompts 2 and 3 against the ten Deliverable Approval test cases from Post 7 returned four findings — three missing scenarios and one redundancy:

GapWhat Claude flagged
File size boundaryNone of the 10 tests check what happens when a file exceeds the upload size limit. The FRD specifies a 50MB maximum — that boundary has no test.
Email delivery failureTC-DAW-01 and TC-DAW-02 both assume the notification email is sent successfully. There is no test for when the email service is down. The approval flow should succeed regardless of email status.
Audit log verificationThe BRD requires all user actions to be logged. The 10 test cases verify what the user sees, but none query the AuditLog table to confirm an entry was actually written.
TC-DAW-01 and TC-DAW-09 overlapTC-DAW-01 (approve pending deliverable) and TC-DAW-09 (re-upload after rejection) both end with an approval. The approval assertions are duplicated. TC-DAW-09 can be simplified to focus only on the re-upload reset behaviour.

The redundancy finding on TC-DAW-01 and TC-DAW-09 is worth acting on. Duplicate assertions create false confidence in coverage numbers and maintenance overhead when the feature changes. TC-DAW-09 was trimmed to focus only on the re-upload state reset, removing the approval assertion already covered by TC-DAW-01.

The Three New Test Cases Claude Generated

From the three genuine gaps (file size boundary, email failure, audit log), Claude wrote the following test cases:

IDTypeDescriptionPreconditionsStepsExpected Result
TC-DAW-11Edge CaseFile exceeding max upload size is rejectedLogged in as PM. Upload form is open.1. Attach a file larger than 50MB. 2. Click Upload.Upload rejected. Error: “File exceeds maximum size of 50MB.” No deliverable record created.
TC-DAW-12NegativeApproval succeeds even if email service is temporarily unavailableEmail service returns 503. Deliverable in Pending Review state.1. Stub email service to return 503. 2. Client approves deliverable. 3. Check system behaviour.Approval status updates to Approved. Email queued for retry. No error shown to client.
TC-DAW-13PositiveAudit log entry created on approvalLogged in as Client. Deliverable in Pending Review state.1. Client approves deliverable. 2. Query AuditLog table for this deliverable ID.AuditLog contains: action=APPROVED, userId=client.id, timestamp within 1s of action. No missing fields.

TC-DAW-12 is the one I would have been most likely to miss on my own. Testing that an approval succeeds even when the email service fails requires stubbing the email provider — it is an integration test, not a UI test. Without this, you discover the behaviour only when the email service has an actual outage in production.

The Reusable Test Review Checklist

Use this prompt to generate a review checklist for any feature. The output below is what Claude produced — copy it into your test plan template and run it against every feature before handing off to QA:

PROMPT — Generate Reusable Review Checklist

Generate a reusable test case review checklist.
Format it as a checkbox list grouped into six categories:
negative paths, boundaries, role-based access,
notifications, integration points, FRD coverage.
Each item should be a specific, binary check — not vague guidance.
Someone should be able to run through this list in under 5 minutes.
REUSABLE TEST REVIEW CHECKLIST

[NEGATIVE PATHS]
[ ] At least 2 negative test cases per feature
[ ] Invalid input tested (missing fields, wrong format, wrong state)
[ ] Error messages verified (not just that failure occurs)

[BOUNDARIES]
[ ] Every FRD-specified limit has a test at the boundary
[ ] Empty state tested (no records, 0KB file, blank input)
[ ] Maximum value tested (max file size, max characters, etc.)

[ROLE-BASED ACCESS]
[ ] Each action tested from at least one permitted and one blocked role
[ ] Self-action restrictions enforced (e.g. cannot approve own upload)

[NOTIFICATIONS]
[ ] Every FRD notification trigger has a test confirming it fires
[ ] Notification failure tested — does core action still succeed?

[INTEGRATION]
[ ] External service failure tested (email, storage, payment)
[ ] Concurrent access tested where relevant

[FRD COVERAGE]
[ ] Every acceptance criterion maps to at least one test case
[ ] Every business rule maps to at least one test case
[ ] No duplicate tests (same preconditions + steps + assertion)

What Is Next

The last post in this series is Post 10: AI-Powered Code Review with Claude. That is where Claude reviews actual code — checking correctness, security, performance, naming, and test coverage against a realistic Next.js API route. It is the final quality gate before you merge.

Next in this series: Post 10 — AI-Powered Code Review with Claude: What to Check and How to Prompt

One post left. If this series has been useful, sharing it is the best way to support it.