Skill v1.0.1
currentAutomated scan100/1002 files
version: "1.0.1" name: test description: "Use this skill when the user needs to test features before deployment, create test scenarios, find edge cases, or verify bug fixes. Covers manual testing workflows, cross-browser testing, edge case identification, and testing checklists for non-technical founders."
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
Structured QA Workflow
Don't test randomly. Follow this sequence every time.
Step 1: Orient — What Exists?
Before testing, know what you're testing. Walk through your app and list every page and feature.
Map Your App:- [ ] List every page (home, dashboard, settings, etc.)- [ ] List every form (signup, contact, create/edit)- [ ] List every button that does something- [ ] List every integration (payments, email, third-party)
Step 2: Explore — Visit Everything Systematically
Go through every page, every button, every form. Don't skip pages you "know" work.
Tell AI:
Go through every page of my app. Click every button. Fill every form.Submit every action. Tell me what's broken, what looks wrong, and whatbehaves unexpectedly. For each issue, tell me:- What page it's on- What you did- What happened vs. what should happen- How severe it is (blocks users vs. cosmetic)
Step 3: Score — Rate Your App's Health
Rate your app 1-10 on each dimension. Be honest — this is for you.
App Health Score:Score (1-10)Does it load fast? (under 3 seconds) ___Do all buttons/links work? ___Do forms submit correctly? ___Do error messages make sense? ___Does it work on mobile? ___Is the core flow completable? ___Total: ___/6050-60: Ready to ship40-49: Fix the gaps, then ship30-39: Significant issues — fix before showing users<30: Major problems — keep building before testing
Step 4: Fix and Re-Verify
After each fix, re-test two things: the thing that was broken AND the things that were working. AI fixes often break something else.
After Every Fix:- [ ] Original bug is resolved- [ ] Core signup/login flow still works- [ ] Core action still works- [ ] No new visual issues on the page you changed
Step 5: The Fresh Eyes Test
Have someone who's never seen your app try to sign up and complete the core action. Watch without helping. What surprises you?
- Where do they hesitate?
- What do they click that you didn't expect?
- Where do they get confused but don't say anything?
- Can they describe what the app does after using it for 2 minutes?
This test reveals more than a week of solo testing. The things you "know" are obvious often aren't.
Manual Testing Checklist
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 break4. 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:
- Chrome (65% of users) - Test thoroughly
- Safari (20% of users) - Test main flows
- Firefox (5% of users) - Quick check
- 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 homepage2. Sign up / Log in3. Complete 1-2 main actions4. 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 bug2. Identify root cause3. Fix the issue4. Verify fix works5. 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
| Mistake | Fix | |
|---|---|---|
| Only test happy path | Test edge cases too | |
| Test only on Chrome desktop | Test mobile + Safari | |
| Skip testing forms | Forms are where bugs hide | |
| Test while AI still building | Wait until feature complete | |
| Ignore console errors | Fix all errors before deploy | |
| Test with perfect data | Test empty, long, invalid data |
Quick Testing Shortcuts
5-minute quick test:
1. Load page in Chrome2. Complete main user flow3. 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 Chrome2. 3-4 edge cases3. Test on real phone4. Check Safari5. 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