QA_TEST_SCRIPTS.md
Environment: the active QA deployment URL
Quick Start Checklist
Before You Begin
- Get test account credentials (admin + regular user)
- Access to test email account
- Browser: Chrome, Firefox, or Safari (latest)
- Mobile device or browser dev tools for responsive testing
- Optional: Airtable account, Plaid sandbox credentials
- Optional: webhook.site for webhook testing
Test Data to Prepare
- Small PDF file (< 5MB) for file uploads
- Large file (> 10MB) for size limit testing
- Test image files (PNG, JPG)
- Invalid files (.exe, .php) for security testing
3-Day Testing Plan at a Glance
Day 1 (6-8 hours) - Core Functionality
Must complete these critical tests:- ✅ TS-001: User Authentication
- ✅ TS-002: Create and Publish Form
- ✅ TS-003: Submit Public Form (Anonymous)
- ✅ TS-004: View Submissions in Admin
- ✅ TS-005: Form Status Management
- ✅ TS-006: Multiple Field Types
- ✅ TS-007: Form Validation
- ✅ TS-008: Form Share Links
- ✅ TS-009: Draft Submissions
- ✅ TS-010: Email Notifications
Day 2 (6-8 hours) - Advanced Features
Focus on settings and integrations: 11. ✅ TS-011: Conditional Logic 12. ✅ TS-012: Workspaces/Folders 13. ✅ TS-013: Team Management 14. ✅ TS-014: Form Versioning 15. ✅ TS-015: Import/Export 16. ⚠️ TS-016: Airtable Integration (skip if no account) 17. ⚠️ TS-017: Plaid Integration (skip if not configured) 18. ✅ TS-018: Webhooks 19. ✅ TS-019: Portal Applications 20. ✅ TS-020: Submission Status Management 21. ✅ TS-021: Analytics/Insights 22. ✅ TS-022: Mobile Responsive Goal: Test all settings pages and integrationsDay 3 (6-8 hours) - Edge Cases & Security
Critical security and edge case testing: 23. ✅ TS-023: Concurrent Editing 24. ✅ TS-024: Permission/Access Control (CRITICAL) 25. ✅ TS-025: Form Deletion/Archival 26. ✅ TS-026: Large Form Submission 27. ✅ TS-027: File Upload Security (CRITICAL) 28. ✅ TS-028: Form Scheduling 29. ✅ TS-029: Response Capacity 30. ✅ TS-030: XSS Prevention (CRITICAL) 31. ✅ TS-031: Session Timeout 32. ✅ TS-032: Form Duplication 33. ✅ TS-033: Multi-language 34. ✅ TS-034: Email Deliverability 35. ✅ TS-035: Draft Auto-Save 36. ✅ TS-036: Submission Export 37. ✅ TS-037: Applicant Profile/Vault 38. ✅ TS-038: Audit Log 39. ✅ TS-039: Error Handling 40. ✅ TS-040: Performance Goal: Ensure security, test edge cases, verify error handlingCritical Tests (Cannot Skip)
These tests MUST pass before production:- TS-001: Authentication - Users can log in
- TS-002: Create/Publish Form - Core workflow works
- TS-003: Public Submission - Forms can be submitted
- TS-024: Access Control - Non-admins can’t access admin features
- TS-027: File Security - File uploads are validated
- TS-030: XSS Prevention - No script injection possible
Common Test Accounts
Document your test credentials here: Admin Account:- Email: ___________________________
- Password: _______________________
- Email: ___________________________
- Password: _______________________
- Email: ___________________________
Feature Coverage Map
Authentication & Users
- Login/Logout (TS-001)
- Session persistence (TS-031)
- Role-based access (TS-024)
- Team management (TS-013)
Form Creation
- Basic form builder (TS-002)
- Field types (TS-006)
- Conditional logic (TS-011)
- Form duplication (TS-032)
Form Settings
- Details/status (TS-005)
- Share links (TS-008)
- Notifications (TS-010, TS-034)
- Webhooks (TS-018)
- Translations (TS-033)
- Versioning (TS-014)
- Analytics (TS-021)
- Import/Export (TS-015, TS-036)
Form Submissions
- Public anonymous (TS-003)
- Validation (TS-007)
- File uploads (TS-006, TS-027)
- Draft submissions (TS-009)
- View in admin (TS-004)
- Status management (TS-020)
- Export data (TS-036)
Portal (Authenticated)
- Application workflow (TS-019)
- Draft auto-save (TS-035)
- Profile/Vault (TS-037)
Integrations
- Airtable sync (TS-016)
- Plaid verification (TS-017)
- Webhooks (TS-018)
Organization
- Workspaces (TS-012)
- Team members (TS-013)
- Audit logs (TS-038)
Advanced
- Scheduling (TS-028)
- Capacity limits (TS-029)
- Concurrent editing (TS-023)
- Mobile responsive (TS-022)
Security
- Access control (TS-024)
- XSS prevention (TS-030)
- File validation (TS-027)
- Session timeout (TS-031)
Bug Severity Guidelines
Critical (Blocks Production)
- Authentication broken
- Cannot create/publish forms
- Cannot submit forms
- Data loss or corruption
- Security vulnerabilities (XSS, unauthorized access)
- System crashes
High (Should fix before release)
- Features don’t work as expected
- Incorrect data displayed
- Email notifications not sending
- Integrations failing
- Poor error handling
Medium (Should fix soon)
- UI/UX issues
- Minor validation problems
- Performance issues
- Non-critical features broken
Low (Nice to have)
- Cosmetic issues
- Minor text/label errors
- Enhancement suggestions
Testing Tips
General
- Use incognito/private windows for testing public forms and different user sessions
- Take screenshots of every bug immediately
- Record submission IDs when testing - makes bugs easier to debug
- Test in different browsers (Chrome, Firefox, Safari) if you have time
- Clear cache if you see stale data
Form Testing
- Create test forms with prefix “QA” so they’re easy to identify and delete
- Test both simple (3-5 fields) and complex (20+ fields) forms
- Test every field type at least once
- Always test required field validation
Submission Testing
- Keep a spreadsheet of test submissions for reference
- Use consistent test data (e.g., “Test User”, “test@example.com”) for easy identification
- Test edge cases: empty submissions, maximum character limits, special characters
Admin Testing
- Test with both admin and non-admin accounts
- Verify non-admins cannot access admin routes
- Test team member roles: Owner, Editor, Viewer
Integration Testing
- Skip Airtable/Plaid tests if you don’t have accounts - mark as “SKIP”
- Use webhook.site for webhook testing (free, no account needed)
- Test notification emails - check spam folder
Known Limitations / Out of Scope
The following are NOT in scope for this QA round:- Agency multi-tenant features (unless specifically requested)
- SMS notifications (unless Twilio configured)
- Payment integrations
- Custom code execution (TS-016 mentions but may not be active)
- Extensive load testing (just basic performance - TS-040)
Reporting Bugs
What to Include
- Test Script # (e.g., TS-003)
- Clear title (e.g., “Form submission fails with file upload”)
- Steps to reproduce (numbered list)
- Expected vs Actual result
- Screenshot or video
- Browser and device info
- Submission/Form ID if applicable
Where to Report
- Use Bug Report Template in
QA_TEST_SCRIPTS.md - Create GitHub issue (if you have repo access)
- Share in Slack/email with dev team
Bug Report Example
End-of-Day Checklist
At the end of each day:- Update test completion count in daily summary
- Document all bugs found
- Note any blockers for tomorrow
- Flag critical issues immediately to dev team
- Save all screenshots to organized folder
- Update pass/fail status for each test
Final Report Checklist
After 3 days, prepare final report:- Total tests executed (target: 35-40 out of 40)
- Pass rate percentage
- Bug summary (Critical/High/Medium/Low counts)
- Recommendation: Ready for production? Yes/No
- List any blockers or areas not tested
- Provide prioritized bug fix list
Quick Command Reference
Accessing Different Environments
- QA deployment: the active QA deployment URL
- Local (if running): localhost:3000
Key URLs to Test
/- Dashboard/forms- Forms list/forms/[id]/edit- Form builder/forms/[id]/settings- Form settings/forms/[id]/submissions- Submissions list/f/[slug]- Public form/portal- Applicant portal/portal/applications/[id]- Application detail/settings- Organization settings/applicants- Applicants list
Browser Dev Tools
- F12 or Cmd+Opt+I - Open dev tools
- Cmd+Shift+M - Toggle mobile view
- Application tab - View cookies/storage
- Network tab - Monitor API calls
- Console tab - Check for JavaScript errors
Questions During Testing?
If you encounter:- Unclear requirements - Flag and continue, note in bug report
- Environment issues - Check with dev team (credentials, integrations)
- Test blockers - Document and move to next test
- Assumed functionality - Document assumption, test anyway
- Dev team: [Slack channel / Email]
- Questions: [Contact person]
Success Criteria
QA is successful if:- ✅ All Critical tests pass
- ✅ All High priority tests pass (or bugs documented)
- ✅ No Critical or High security issues
- ✅ Core workflow (create → publish → submit → view) works flawlessly
- ✅ 80%+ overall pass rate
- ✅ All bugs clearly documented with repro steps
Ready to start? Begin with Day 1, TS-001 in the main test scripts document. Good luck! 🚀