skills/by-role/qa/risk-based-testing/SKILL.md
Allocate testing effort based on risk and failure likelihood using Google's SET/SWE/TE model. Use when user says "risk-based testing", "where should I focus testing", "test coverage strategy", "prioritize what to test", "high risk areas", or needs to decide how to distribute QA effort across a codebase - even if they don't explicitly say "risk-based".
npx skillsauth add qa-aman/claude-skills risk-based-testingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Risk-based testing focuses effort where failures cause the most harm. Based on "How Google Tests Software" by James Whittaker, Jason Arbon, and Jeff Carollo, this approach maps product risk to test investment - instead of testing everything equally, you test the highest-risk components most deeply.
The core insight: not all code carries equal risk. A bug in a payment flow is not the same as a bug in a tooltip. Risk-based testing makes that distinction explicit, then allocates testing hours accordingly.
Break the product into three levels:
ACC gives you a structured map of what exists to test. Without it, coverage is guesswork.
For every capability in your ACC map, assign two scores (1-3 scale):
| Dimension | 1 | 2 | 3 | |-----------|---|---|---| | Likelihood of failure | Low - stable, rarely changed | Medium - some recent changes | High - new, complex, frequently modified | | Impact of failure | Low - cosmetic, no user harm | Medium - UX degraded, workaround exists | High - data loss, security, revenue, blocking |
Risk score = Likelihood x Impact (range: 1-9)
High risk (7-9):
Medium risk (4-6):
Low risk (1-3):
Google's three engineering roles cover different risk surfaces:
Map high-risk capabilities to TE-led sessions. Map medium-risk to SWE-owned tests. Low-risk stays in automated smoke suites.
Document findings in a table:
| Capability | Component | Likelihood | Impact | Risk Score | Test Type | Owner | |-----------|-----------|-----------|--------|------------|-----------|-------| | Process refund | Payments | 2 | 3 | 6 | Unit + integration | SET | | Login with OAuth | Auth | 3 | 3 | 9 | Full suite + TE session | SET + TE | | Update avatar | Profile | 1 | 1 | 1 | Smoke only | SWE |
Update this register at the start of each sprint as code changes shift the risk landscape.
Risk scores change. A stable module that gets refactored jumps to high likelihood. A new payment method adds high impact. Review and re-score whenever:
1. Equal coverage everywhere Bad: Spending the same testing effort on user avatar upload and the payment processor. Good: Score risk, allocate proportionally. Low-risk code gets smoke tests. High-risk code gets deep coverage.
2. Risk scoring without impact Bad: Scoring only likelihood - "this code is new so it's risky." Good: Always multiply by impact. New code in a non-critical path is still low priority.
3. Static risk register Bad: Score risk once at project kickoff and never revisit. Good: Update scores at sprint start when code changes. Treat the register as a living document.
4. Treating all bugs as equal Bad: Triaging all bugs with the same urgency regardless of location. Good: A bug in a high-risk capability escalates immediately. A bug in a low-risk capability queues.
5. No owner per capability Bad: Risk register exists but no one knows who tests what. Good: Every high-risk capability has a named role owner (SET, TE, or SWE).
development
Plan a webinar end-to-end using April Dunford's Obviously Awesome positioning framework to find the topic angle that makes the webinar obviously valuable to the right audience. Produces topic positioning, abstract, speaker brief, registration page, promotion sequence, day-of run-of-show, and post-webinar follow-up. Use when the user asks to plan a webinar, virtual event, online workshop, "we need a webinar on X", host a webinar, online masterclass, or any live virtual event with promotion and follow-up. Reads ICP, services, and brand voice from knowledge/.
development
Write long-form thought leadership articles, opinion pieces, industry POV essays, and CEO/founder bylines using the Made to Stick SUCCESs framework (Chip and Dan Heath). Use when the user asks for a long-form article, executive byline, opinion piece, industry POV, manifesto, "explain our point of view on X", or wants to publish an authority-building piece (1200-2500 words). Reads brand voice and positioning from knowledge/.
development
Plan a monthly content calendar across channels using the Content Marketing Matrix (Dave Chaffey, Smart Insights) - Entertain/Inspire/Educate/Convince. Every post gets a quadrant label. The monthly calendar must hit 40% Educate, 40% Inspire+Convince, 20% Entertain. Produces a week-by-week posting schedule with topics, formats, channels, and asset links. Use when the user says "content calendar", "social calendar", "plan next month's content", "what should we post", "content plan", "editorial calendar", "schedule posts for the month", or wants a structured posting plan for LinkedIn, Twitter, email, or blog. Reads brand voice, ICP, and past learnings from knowledge/.
development
Write SEO-optimized long-form articles targeting specific keywords using the They Ask You Answer Big 5 framework (Marcus Sheridan). Articles are categorized by Big 5 type (Cost, Problems, Versus, Best/Reviews, How-To) and structured accordingly. The "answer first" rule applies to every article. Use when the user asks for an SEO article, blog post for ranking, "rank for keyword X", organic content, search-optimized post, pillar page, or content for organic traffic. Includes keyword targeting, search intent matching, internal linking suggestions, and meta tags.