Scenario Testing Introduction
Scenario testing
is like a "business journey simulation" for real users - it comprehensively verifies the execution quality of complex business processes through multi-step combinations. With AngusTester scenario testing, you can:
✅ Simulate real user operation paths
✅ Identify cross-system interaction issues
✅ Validate exception handling processes
✅ Save 60%+ test design time
✅ Improve 90%+ business scenario coverage
What is Scenario Testing? End-to-End Business Validation
Scenario testing differs from simple functional testing - it's a complete mapping of real user journeys:
Typical Scenario Examples:
🛒 **E-commerce Purchase Flow**:
1. Search product → 2. Add to cart → 3. Fill address → 4. Pay order → 5. Check order status
🏥 **Medical Appointment Flow**:
1. Select department → 2. Choose doctor → 3. Fill medical record → 4. Pay registration fee → 5. Receive appointment notification
VS Traditional Testing:
Comparison Dimension | Traditional Testing | Scenario Testing |
---|---|---|
Test Scope | Single function point | End-to-end business process |
Verification Goal | Functional correctness | Business completeness + User experience |
Time Consumption | Short | Medium-long |
Value | Basic quality assurance | Business risk prevention |
Why Scenario Testing? Five Key Values
1. Discover Integration Black Holes
Problem Case:
Payment succeeds but order not updated → Due to data desync between payment and order systems
Scenario Testing Solution:
2. Validate Exception Paths
Typical Exception Scenarios:
- Order recovery during network interruption
- Alternative solutions for insufficient inventory
- Automatic cancellation for payment timeout
3. Ensure Business Continuity
Checkpoint Resume Capability:
4. Improve Test Coverage
Scenario Coverage Matrix:
Scenario Type | Ratio | Traditional Test Coverage | Scenario Test Coverage |
---|---|---|---|
Happy Path | 50% | 100% | 100% |
Exception Path | 30% | 20% | 95% |
Edge Path | 20% | 5% | 90% |
5. Real Environment Simulation
Multi-Environment Support:
Six-Step Scenario Testing Methodology
Step 1: Define Goals - Clarify Verification Objectives
Key Questions:
- What business problem to solve?
- Which user groups to cover?
- Where are the core risk points?
AngusTester Support:
Smart Scenario Template Library (E-commerce/Finance/Healthcare etc.)
Step 2: Process Orchestration - Visual Scenario Building
Four Orchestration Elements:
Step 3: Data Configuration - Real Data Simulation
Data Configuration Methods:
1. **Static Data**: Predefined test data
2. **Dynamic Generation**: Auto-create test accounts
3. **Data-Driven**: CSV batch data import
4. **API Fetch**: Get desensitized data from production
Step 4: Debug & Optimize - Real-Time Troubleshooting
Debug Checklist:
✅ Step sequence rationality
✅ Logic branch completeness
✅ Data transfer accuracy
✅ Assertion coverage sufficiency
✅ Exception handling robustness
Step 5: Multi-Environment Execution - Flexible Deployment
Environment Strategy Table:
Environment Type | Use Case | Advantage |
---|---|---|
Test Environment | Daily testing | Flexible control |
Staging Environment | Pre-release verification | Close to production |
Production Isolation Zone | High-fidelity validation | 100% real |
Step 6: Smart Analysis - Deep Insights
Three-Dimensional Analysis Model:
Five Typical Application Scenarios
1. Complex Business Process Validation
2. Asynchronous Message Processing
Order Status Update Flow:
3. Multi-System Integration Testing
4. Conditional Branch Coverage (TODO)
Coupon Usage Scenario:
AngusTester Scenario Testing Solution
Scenario Editor
Smart Execution Engine
Execution Mode Comparison:
Execution Mode | Use Case | Characteristics |
---|---|---|
Sequential Execution | Linear flow | Simple & efficient |
Parallel Execution | Multi-branch flow | Significant speedup |
Iterative Execution | Data-driven | Batch validation |
Auto-Retry | Unstable dependencies | Improve stability |
Panoramic Reporting System
Three-Dimensional Analysis:
Scenario Field Information
Parameter | Field Name | Type | Required | Length Limit | Description |
---|---|---|---|---|---|
ID | id | bigint | Conditional | / | Scenario unique identifier; mandatory for modifications |
Project ID | projectId | long | Yes | / | Owning project unique identifier |
Scenario Name | name | string | Yes | ≤200 | Scenario business name |
Plugin Type | plugin | string | Yes | ≤40 | Scenario execution plugin type |
Description | description | string | No | ≤800 | Scenario detailed description |
Script Content | script | object | No | / | YAML/JSON format script content, see Test Specification |
Authorization Control | auth | boolean | No | / | Enable permission control, default false |
Enable Functional Test | testFunc | boolean | No | / | Enable functional testing, default true |
Enable Performance Test | testPerf | boolean | No | / | Enable performance testing, default true |
Enable Stability Test | testStability | boolean | No | / | Enable stability testing, default true |
Script Type | scriptType | enum | Read-only | / | Script Type Enum: Functional/Performance/Stability/Custom/Simulation Data/Simulation API |
Script ID | scriptId | long | Read-only | / | Associated script ID |
Script Name | scriptName | string | Read-only | / | Associated script name |
Functional Test Pass Status | testFuncPassed | boolean | Read-only | / | Whether functional test passed |
Functional Test Failure Reason | testFuncFailureMessage | string | Read-only | / | Functional test failure details |
Performance Test Pass Status | testPerfPassed | boolean | Read-only | / | Whether performance test passed |
Performance Test Failure Reason | testPerfFailureMessage | string | Read-only | / | Performance test failure details |
Stability Test Pass Status | testStabilityPassed | boolean | Read-only | / | Whether stability test passed |
Stability Test Failure Reason | testStabilityFailureMessage | string | Read-only | / | Stability test failure details |
Favorite Status | favourite | boolean | Read-only | / | Whether favorited |
Follow Status | follow | boolean | Read-only | / | Whether followed |
Creator ID | createdBy | long | Read-only | / | Scenario creator ID |
Creator Name | createdByName | string | Read-only | / | Creator name |
Creation Time | createdDate | datetime | Read-only | / | Scenario creation time |
Last Modifier ID | lastModifiedBy | long | Read-only | / | Last modifier ID |
Last Modifier Name | lastModifiedByName | string | Read-only | / | Last modifier name |
Last Modified Time | lastModifiedDate | datetime | Read-only | / | Last modification time |