Skip to content
test logo

Test

test

Test features before users find bugs. Use when feature is built, before deploying, or when bugs reported. Covers manual testing, edge cases, cross-browser testing, and testing checklists for non-technical founders.

SKILL.md

Full skill instructions

Test

Testing Checklist

Feature Testing:
- [ ] Happy path works (main user flow)
- [ ] Edge cases handled (empty, long, invalid data)
- [ ] Error messages clear and helpful
- [ ] Works on mobile (iOS and Android)
- [ ] Works in Safari, Chrome, Firefox
- [ ] Loading states show during waits
- [ ] Forms validate input
- [ ] Can't break it with weird input
- [ ] Back button works correctly
- [ ] Page refresh doesn't lose data

See TEST-SCENARIOS.md for detailed scenarios.


When to Test

Test when:

  • Feature just built by AI
  • Before deploying to production
  • After fixing a bug (verify fix works)
  • Users report issues (reproduce first)

Don't test:

  • While AI is still building
  • Before feature is complete
  • Every tiny change (batch test features)

Rule: Build → Test → Fix → Test again → Deploy


Manual Testing Workflow

1. Test happy path
   - Does the main flow work?
   - Can user complete the task?

2. Test edge cases
   - What if field is empty?
   - What if text is very long?
   - What if user clicks twice?

3. Test on mobile
   - Open on real phone
   - Test main actions
   - Check layout doesn't break

4. Test in different browsers
   - Chrome (most users)
   - Safari (iOS users)
   - Firefox (some users)

5. Document issues
   - Screenshot the problem
   - Write exact steps to reproduce
   - Give to AI to fix

Testing Edge Cases

Always test these:

Empty data:

  • What shows when no items in list?
  • What happens with empty form field?
  • Is placeholder/​empty state clear?

Long data:

  • Very long name (200 characters)
  • Very long text (10,000 characters)
  • Does layout break?

Invalid data:

  • Invalid email format
  • Negative numbers where not allowed
  • Special characters in text field
  • SQL characters ('; DROP TABLE)

Boundary cases:

  • Exactly at limit (100 char limit, enter 100)
  • Just over limit (enter 101)
  • Zero/​empty values

Tell AI:

Test these edge cases:
- Empty username: show "Required"
- Username too long (>50 chars): show "Max 50 characters"
- Username with spaces: show "No spaces allowed"
- Special characters: show "Letters and numbers only"

See EDGE-CASES.md for comprehensive list.


Testing on Mobile

Minimum mobile tests:

Mobile Testing:
- [ ] Page loads and looks correct
- [ ] Can tap all buttons (44px minimum)
- [ ] Forms work (keyboard appears)
- [ ] No horizontal scroll
- [ ] Images load and fit screen
- [ ] Navigation works
- [ ] Can complete main user flow

Test on:

  • iPhone (Safari) - Most common iOS
  • Android phone (Chrome) - Most common Android

Don't need to test:

  • Every phone model
  • Tablets (unless primary use case)
  • Landscape mode (unless important)

Cross-Browser Testing

Priority order:

  1. Chrome (65% of users) - Test thoroughly
  2. Safari (20% of users) - Test main flows
  3. Firefox (5% of users) - Quick check
  4. Edge (5% of users) - Usually works if Chrome works

Common browser issues:

  • Date pickers look different
  • Flexbox behaves differently
  • Scrolling momentum feels different
  • Animations may not work on old Safari

Quick test:

Open in each browser:
1. Load homepage
2. Sign up / Log in
3. Complete 1-2 main actions
4. Check nothing is broken

Testing Forms

Form validation testing:

Form Testing Checklist:
- [ ] Required fields show error if empty
- [ ] Email validation works (format check)
- [ ] Password requirements enforced
- [ ] Can't submit invalid form
- [ ] Error messages clear and specific
- [ ] Success message shows after submit
- [ ] Form disables during submit (no double-submit)
- [ ] Errors clear when user fixes them

Tell AI:

Test form validation:
- Required field left empty: "This field is required"
- Invalid email: "Enter a valid email address"
- Weak password: "Password must be 8+ characters with 1 number"
- All valid: Allow submit
- Show errors inline, not alert()

Testing Authentication

Auth flow testing:

Auth Testing:
- [ ] Can sign up with valid info
- [ ] Can't sign up with existing email
- [ ] Can log in with correct password
- [ ] Can't log in with wrong password
- [ ] Can reset password via email
- [ ] Session expires after timeout
- [ ] Logout works (can't access protected pages)
- [ ] Can't access protected routes without login
- [ ] Redirect to login when session expires

Testing Integrations

Third-party services:

Payment (Stripe):

- [ ] Test card (4242 4242 4242 4242) processes
- [ ] Declined card shows error
- [ ] Receipt email sent
- [ ] Subscription status updates
- [ ] Can cancel subscription

Email (SendGrid):

- [ ] Welcome email sends on signup
- [ ] Password reset email arrives
- [ ] Emails have correct content
- [ ] Links in email work
- [ ] Unsubscribe link works

Tell AI:

Add test mode checking:
Log when using test API keys.
Show banner: "TEST MODE - No real charges"
Use Stripe test cards only in development.

Finding Bugs Yourself

How to break your app:

1. Click fast and repeatedly

  • Double-click submit button
  • Click back button quickly
  • Refresh during loading

2. Enter unexpected data

  • Copy/​paste 10,000 characters
  • Enter emojis 🎉 in text fields
  • Try SQL: '; DROP TABLE users;--
  • Enter HTML: <script>alert('xss')</​script>

3. Change state unexpectedly

  • Log out in another tab
  • Let session expire, then try action
  • Open same page in multiple tabs

4. Use slow connection

  • Chrome DevTools → Network → Slow 3G
  • Try all main actions
  • Do loading states show?

See BREAKING-THINGS.md for full list.


Documenting Bugs

Bug report template:

Bug: [Short description]

Steps to reproduce:
1. [First action]
2. [Second action]
3. [What triggers the bug]

Expected: [What should happen]
Actual: [What actually happened]

Screenshot: [Attach if visual]
Browser: [Chrome 120 on Mac]
URL: [Where it happened]
Frequency: [Always / Sometimes / Once]

Give to AI to fix:

Bug found: [paste bug report]

Please:
1. Reproduce the bug
2. Identify root cause
3. Fix the issue
4. Verify fix works
5. Test that fix didn't break anything else

Regression Testing

After fixing a bug, test:

Regression Checklist:
- [ ] Original bug is fixed
- [ ] Happy path still works
- [ ] Related features still work
- [ ] No new errors in console
- [ ] No new visual issues

Common regression issues:

  • Fix breaks different browser
  • Fix breaks mobile layout
  • Fix breaks related feature
  • Fix introduces new edge case bug

Pre-Deployment Checklist

Before pushing to production:

Production Readiness:
- [ ] All features tested (happy path + edge cases)
- [ ] Works on mobile (iPhone + Android)
- [ ] Works in Safari and Chrome
- [ ] No console errors
- [ ] Forms validate correctly
- [ ] Authentication works
- [ ] No test data visible
- [ ] Error messages are user-friendly
- [ ] Loading states show
- [ ] Can't break it with weird input

When to Get QA Help

Consider hiring QA when:

  • 10 features to test before launch

  • Complex user flows (multi-step processes)
  • Multiple integrations to verify
  • Preparing for big launch (> 1000 users)

For most MVPs: Following this checklist is sufficient.


Common Testing Mistakes

MistakeFix
Only test happy pathTest edge cases too
Test only on Chrome desktopTest mobile + Safari
Skip testing formsForms are where bugs hide
Test while AI still buildingWait until feature complete
Ignore console errorsFix all errors before deploy
Test with perfect dataTest empty, long, invalid data

Quick Testing Shortcuts

5-minute quick test:

1. Load page in Chrome
2. Complete main user flow
3. Try one edge case (empty field)
4. Check mobile view (Chrome DevTools)
5. Look for console errors

15-minute thorough test:

1. Happy path in Chrome
2. 3-4 edge cases
3. Test on real phone
4. Check Safari
5. Try to break it (fast clicks, weird input)
6. Check all error messages

Testing Tools

Built into browser:

  • Chrome DevTools (Inspect)
  • Network tab (check API calls)
  • Console (check for errors)
  • Device mode (test mobile sizes)
  • Lighthouse (performance + best practices)

Free external tools:

  • BrowserStack (free trial) - Test on real devices
  • Can I Use (caniuse.com) - Check browser support
  • Validator.nu - Check HTML validity

Usually don't need:

  • Automated testing frameworks (too complex for non-technical)
  • Paid testing services (manual testing sufficient for MVP)

Success Looks Like

✅ Main user flow works perfectly
✅ Edge cases handled gracefully
✅ Works on mobile and desktop
✅ Works in Chrome and Safari
✅ Error messages clear and helpful
✅ Can't break it with weird input
✅ No bugs reported by users

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View