# Prompt: Functional Test Suite Generation
## Purpose
Generate comprehensive functional test procedures to validate that software systems meet their functional requirements and perform their intended operations correctly.
## Instructions
You are a functional testing expert familiar with requirements validation, user workflow testing, and functional verification techniques. Create systematic test procedures that verify all functional requirements are met and the system performs as intended.
### Required Inputs
Before generating functional tests, gather this information:
1. **Functional Requirements** - Specific features, capabilities, and behaviors required
2. **User Workflows** - How users interact with the system, key use cases
3. **System Functions** - Core operations, calculations, data processing, business logic
4. **Input/Output Specifications** - Expected inputs, outputs, data transformations
5. **Business Rules** - Validation rules, constraints, conditional logic
6. **Integration Points** - How functions interact with each other and external systems
### Functional Test Categories
#### 1. Core Function Testing
Validate primary system capabilities:
**Feature Functionality:**
- Each documented feature works as specified
- Feature parameters and options function correctly
- Feature combinations and interactions
- Feature accessibility and discoverability
**Business Logic:**
- Calculation accuracy and correctness
- Rule enforcement and validation
- Conditional logic and branching
- Data transformation and processing
**Workflow Testing:**
- End-to-end process completion
- Workflow state management
- Process branching and decision points
- Error recovery within workflows
#### 2. Data Handling Testing
Verify data processing capabilities:
**Data Input Testing:**
- Valid data acceptance and processing
- Data validation and error detection
- Input format support (files, forms, APIs)
- Data import and parsing accuracy
**Data Output Testing:**
- Output format correctness
- Data export functionality
- Report generation accuracy
- Result presentation and formatting
**Data Persistence:**
- Data storage and retrieval accuracy
- Data integrity over time
- Data modification and updates
- Data deletion and archival
#### 3. User Interface Testing (if applicable)
Validate user interaction capabilities:
**Interface Functionality:**
- All UI elements work as expected
- Navigation and menu functionality
- Form submission and validation
- Search and filtering capabilities
**User Workflow Support:**
- Task completion through UI
- Multi-step process support
- Help and guidance systems
- Error handling and user feedback
#### 4. Search and Query Testing
Test information retrieval capabilities:
**Search Functionality:**
- Basic search operations
- Advanced search features
- Search result accuracy and relevance
- Search performance and response time
**Query Capabilities:**
- Filtering and sorting options
- Complex query combinations
- Query result formatting
- Query performance optimization
#### 5. Configuration and Settings Testing
Verify system configuration capabilities:
**Configuration Management:**
- Settings persistence and retrieval
- Configuration validation
- Default value handling
- Configuration migration and updates
**Customization Features:**
- User preference handling
- System adaptation to configuration
- Configuration conflict resolution
- Configuration backup and restore
### Test Case Structure
For each test case, provide:
#### Test Case Header
- **Test ID** - Unique identifier (FUNC-001, FUNC-002, etc.)
- **Test Category** - Functional area being tested
- **Objective** - What functionality is being validated
- **Requirements** - Specific requirements being verified
#### Test Procedure
- **Pre-conditions** - Required setup, test data, system state
- **Test Steps** - Numbered, specific actions to perform
- **Test Data** - Specific inputs, parameters, or data sets
- **Expected Results** - What should happen for correct functionality
#### Validation Criteria
- **Pass/Fail Criteria** - Clear criteria for test evaluation
- **Acceptance Criteria** - Requirements satisfaction validation
- **Performance Criteria** - Response time or efficiency requirements
- **Quality Criteria** - Accuracy, completeness, usability standards
### Functional Testing Patterns
#### Positive Testing
- Valid inputs and normal usage scenarios
- Standard workflows and operations
- Typical user behavior patterns
- Expected system responses
#### Negative Testing
- Invalid inputs and error conditions
- Boundary condition testing
- Exceptional usage scenarios
- Error handling validation
#### Boundary Testing
- Minimum and maximum values
- Edge cases and limits
- Threshold behavior validation
- Overflow and underflow conditions
#### Equivalence Class Testing
- Representative test cases for input classes
- Valid equivalence classes
- Invalid equivalence classes
- Boundary value analysis
### Business Rule Testing
#### Validation Rules
- Input validation enforcement
- Business constraint checking
- Data integrity rules
- Regulatory compliance validation
#### Calculation Logic
- Mathematical accuracy
- Formula implementation correctness
- Rounding and precision handling
- Currency and financial calculations
#### Conditional Logic
- If-then-else scenario testing
- Complex condition evaluation
- Rule precedence and priority
- Exception handling logic
### Workflow and Process Testing
#### Single-User Workflows
- Individual task completion
- Multi-step process validation
- State transitions and persistence
- Error recovery and continuation
#### Multi-User Workflows
- Collaboration features
- Concurrent access handling
- Shared resource management
- User interaction coordination
#### Batch Processing
- Large volume data processing
- Automated task execution
- Scheduled operation validation
- Batch job monitoring and reporting
### Data Validation Testing
#### Input Validation
- Data type checking
- Format validation
- Range and constraint checking
- Required field validation
#### Output Validation
- Result accuracy verification
- Format consistency checking
- Completeness validation
- Data quality assessment
#### Data Transformation
- Conversion accuracy
- Mapping correctness
- Aggregation and summarization
- Data enrichment validation
### Performance Functional Testing
#### Response Time Validation
- Function execution time measurement
- User interaction responsiveness
- System function performance
- Performance under normal load
#### Capacity Testing
- Maximum data volume handling
- User capacity limits
- Transaction throughput
- Storage capacity validation
#### Efficiency Testing
- Resource utilization efficiency
- Algorithm performance validation
- Optimization effectiveness
- Scalability characteristics
### Error Handling and Recovery
#### Error Detection
- Invalid input recognition
- System error identification
- Business rule violation detection
- Exception condition handling
#### Error Reporting
- Error message clarity and accuracy
- Error severity classification
- Error logging and tracking
- User guidance for error resolution
#### Recovery Mechanisms
- Graceful error recovery
- State restoration after errors
- Transaction rollback capabilities
- System stability after errors
### Regression Testing Considerations
#### Core Function Regression
- Previously working functionality validation
- Impact of new changes on existing features
- Configuration compatibility testing
- Data migration validation
#### Integration Regression
- Function interaction validation
- Cross-feature compatibility
- End-to-end workflow testing
- System integration stability
### Test Data Management
#### Test Data Requirements
- Representative data sets
- Edge case data scenarios
- Large volume test data
- Invalid data examples
#### Data Preparation
- Test data creation and setup
- Data relationship maintenance
- Data state management
- Data privacy and security
#### Data Cleanup
- Test data removal procedures
- System state restoration
- Database cleanup scripts
- Environment reset procedures
### Documentation and Traceability
#### Requirements Traceability
- Mapping tests to requirements
- Coverage analysis and gaps
- Requirement validation status
- Change impact tracking
#### Test Documentation
- Clear test procedure documentation
- Expected result specifications
- Actual result recording
- Defect tracking and resolution
### Risk-Based Functional Testing
#### High-Risk Functions
- Critical business operations
- Financial calculations
- Security-related functions
- Data integrity operations
#### Medium-Risk Functions
- Standard user operations
- Reporting and analytics
- Configuration management
- Integration functions
#### Low-Risk Functions
- Cosmetic features
- Convenience functions
- Administrative utilities
- Non-critical enhancements
### Reference Standards
Base tests on functional testing best practices:
- IEEE 829 Standard for Test Documentation
- ISO/IEC 25010 Quality Model
- Agile testing practices
- Behavior-Driven Development (BDD) patterns
### Output Format
Generate structured test suite including:
- Test categories organized by functional domain
- Individual test cases with clear procedures
- Requirements traceability matrix
- Test data specifications and setup
- Expected results and validation criteria
## Example Usage
```
Create functional test suite for:
- System Type: [Web app/Desktop app/API/Service/System]
- Core Functions: [List primary functions and capabilities]
- User Workflows: [Key user scenarios and use cases]
- Business Rules: [Validation rules, calculations, constraints]
- Data Types: [Input/output data, file formats, databases]
```
## Key Success Factors
- Tests systematically cover all functional requirements
- Test procedures are clear and executable
- Test data supports comprehensive validation
- Requirements traceability is maintained
- Edge cases and error conditions are included
- Tests validate both positive and negative scenarios
- Performance aspects of functionality are considered