Documentation Testing & Quality Assurance Checklist¶
Last Updated: October 17, 2025 Purpose: Comprehensive verification that all documentation is accurate, complete, and user-friendly.
๐ Testing Overview¶
This checklist ensures FraiseQL documentation meets production quality standards. Run these checks before releases and after major documentation changes.
Automated Checks (Run via CI)¶
- โ Link validation (internal/external)
- โ Code syntax validation
- โ File existence verification
- โ Terminology consistency
Manual Checks (Human verification required)¶
- โ Code example execution
- โ Installation path testing
- โ New user onboarding flow
- โ Content accuracy review
๐ Link Validation¶
Internal Links (Relative paths)¶
- All
../and./links resolve to existing files - Section anchors (
#section-name) exist in target files - Navigation breadcrumbs work correctly
- Cross-references between docs are accurate
External Links (HTTP/HTTPS)¶
- GitHub repository links are valid
- Documentation site links work
- Package registry links (PyPI) are current
- External tool documentation links are accessible
File References¶
- All referenced files exist (
README.md,pyproject.toml, etc.) - Code imports resolve correctly
- Example file paths are accurate
- Image/diagram references exist
๐ Content Accuracy¶
Version Information¶
- Current version numbers are correct (pyproject.toml matches README)
- Version status descriptions are accurate
- Compatibility requirements are up-to-date
- Deprecation notices are current
Code Examples¶
- All code blocks have correct syntax highlighting
- Import statements are valid
- Function calls match current API
- Variable names are consistent
- Error handling examples are realistic
Installation Instructions¶
- Package names are correct
- Version constraints are appropriate
- System requirements are accurate
- Platform-specific instructions work
Configuration Examples¶
- All config options exist in code
- Default values are correct
- Environment variable names match
- JSON/YAML syntax is valid
๐ Code Example Testing¶
Quickstart Examples¶
-
fraiseql initcreates working project - Generated code runs without errors
- Database setup works as documented
- GraphQL queries execute successfully
Tutorial Examples¶
- All tutorial steps produce expected results
- Intermediate files are correct
- Error recovery instructions work
- Final applications are functional
Production Examples¶
- Enterprise examples deploy successfully
- Performance benchmarks are reproducible
- Security configurations work
- Monitoring integrations function
API Examples¶
- All documented methods exist
- Parameter types are correct
- Return values match documentation
- Error conditions are handled
๐๏ธ Installation Path Testing¶
Basic Installation¶
-
pip install "fraiseql<2"works - All dependencies install correctly
- Import statements work
- Basic functionality available
Enterprise Installation¶
-
pip install "fraiseql[enterprise]<2"succeeds - Optional dependencies install
- Enterprise features are available
- Performance optimizations active
Development Installation¶
-
pip install -e .[dev]works - Development tools available
- Testing framework configured
- Code quality tools functional
Platform Testing¶
- Linux installation works
- macOS installation works
- Windows installation works (if supported)
- Docker container builds successfully
๐ค New User Onboarding Test¶
Beginner Path (< 30 minutes)¶
- Start from main README.md
- Follow "Is this for me?" guidance
- Complete quickstart successfully
- Execute first GraphQL query
- Verify working API
Time Target: < 30 minutes from start to working API
Production Path (< 60 minutes)¶
- Start from main README.md
- Choose production path
- Install enterprise version
- Deploy example application
- Verify performance metrics
Time Target: < 60 minutes to production deployment
Contributor Path (< 45 minutes)¶
- Start from main README.md
- Follow contributor guidance
- Set up development environment
- Run test suite successfully
- Make first code change
Time Target: < 45 minutes to contributing
๐ Content Quality Checks¶
Consistency¶
- Terminology is standardized (e.g., "FraiseQL" vs "fraiseql")
- Code style is consistent across examples
- Naming conventions are followed
- Voice/tone is appropriate for audience
Completeness¶
- All features are documented
- Prerequisites are clearly stated
- Troubleshooting sections exist
- Related topics are cross-referenced
Clarity¶
- Instructions are step-by-step
- Concepts are explained before use
- Error messages are anticipated
- Examples include expected output
Currency¶
- All version numbers are current
- API changes are reflected
- Best practices are up-to-date
- Security recommendations current
๐งช Automated Validation Scripts¶
Link Checker¶
# Run link validation
./scripts/validate-docs.sh --links
# Check specific file
./scripts/validate-docs.sh --file docs/quickstart.md
Code Example Tester¶
# Test all examples
./scripts/validate-docs.sh --examples
# Test specific example
./scripts/validate-docs.sh --example quickstart
Installation Verifier¶
# Test all install paths
./scripts/validate-docs.sh --install
# Test specific platform
./scripts/validate-docs.sh --install --platform linux
๐ Quality Metrics¶
Quantitative Metrics¶
- Link Health: 100% of internal links working
- Code Coverage: 100% of examples tested
- Installation Success: 100% of documented paths working
- User Success Rate: > 95% complete onboarding successfully
Qualitative Metrics¶
- Readability: Content understandable by target audience
- Accuracy: No factual errors or contradictions
- Completeness: All necessary information provided
- Usability: Users can achieve goals efficiently
๐จ Common Issues & Fixes¶
Dead Links¶
- Symptom: 404 errors or broken navigation
- Fix: Update file paths, check file existence
- Prevention: Run link checker before commits
Outdated Examples¶
- Symptom: Code fails to execute
- Fix: Update to current API, test execution
- Prevention: Test examples after API changes
Missing Prerequisites¶
- Symptom: Users can't follow instructions
- Fix: Add clear prerequisites section
- Prevention: Include prerequisites in all guides
Version Inconsistencies¶
- Symptom: Conflicting version information
- Fix: Centralize version data, update all references
- Prevention: Single source of truth for versions
๐ Continuous Quality¶
Pre-Commit Checks¶
- Run link validation on changed files
- Syntax check code examples
- Verify file references exist
CI/CD Integration¶
- Automated testing on pull requests
- Documentation validation in releases
- Performance regression detection
Regular Audits¶
- Monthly documentation review
- User feedback integration
- Competitive analysis updates
โ Final Verification Checklist¶
- All automated checks pass
- Manual testing completed
- New user onboarding successful
- Cross-team review completed
- Performance benchmarks current
- Security review passed
- Accessibility standards met
This checklist ensures FraiseQL documentation maintains production quality and provides excellent user experience.