Functional Test Suite
Run comprehensive functional testing covering unit, integration, and system tests to validate application functionality.
When to use me
Use this skill when:
- Running complete functional validation before releases
- Setting up CI/CD pipeline with full test coverage
- Testing all functional requirements systematically
- Ensuring code changes don't break existing functionality
- Preparing for QA review or user acceptance testing
What I do
-
Unit Testing Layer
- Run isolated component tests
- Validate individual functions and methods
- Achieve high code coverage (>80%)
- Mock external dependencies
-
Integration Testing Layer
- Test component interactions
- Validate API contracts and data flows
- Test database and external service integrations
- Check error handling across boundaries
-
System Testing Layer
- Test complete end-to-end workflows
- Validate functional requirements
- Test user interfaces and interactions
- Perform smoke and regression testing
Examples
# Run complete functional test suite
npm run test:functional # Custom functional suite
npm run test # Default test command
# Run in CI/CD pipeline
npm run test:ci # CI-optimized testing
npm run test:coverage # With coverage reporting
# Sequential execution
npm run test:unit && npm run test:integration && npm run test:e2e
# Parallel execution (if supported)
npm run test:all --parallel
Output format
Functional Test Suite Results:
──────────────────────────────
Test Pyramid Execution:
Unit Tests (1,234 tests):
✅ Passed: 1,230 (99.7%)
⚠️ Skipped: 2
❌ Failed: 2
📊 Coverage: 92%
Integration Tests (87 tests):
✅ Passed: 85 (97.7%)
❌ Failed: 2
- Database connection pooling
- Payment gateway timeout
System Tests (23 tests):
✅ Passed: 20 (87.0%)
❌ Failed: 3
- User registration flow
- Checkout process
- Admin dashboard
Overall: 1,344 tests, 95.2% pass rate
Critical Paths: 15/18 passed (83.3%)
Recommendation: Fix system test failures before release
Notes
- Follow test pyramid principle: many unit tests, fewer integration, even fewer system tests
- Run fast unit tests on every commit
- Run integration tests on pull requests
- Run system tests before releases
- Automate functional testing in CI/CD
- Track test metrics and trends over time
- Use test tags to categorize test types
- Implement flaky test detection and management