1. BVT - Build Verification Test
A Brief Test Run on Daily Builds To Determine IF Anything Major Is Broken
Does not do deep functionality checking
Gets more stringent as the dev cycle goes on
If The BVT Passes, The Build Is Accepted Into Testing
If The BVT Fails, The Build Is Declared "failed" and is not acid account for testing
Purpose Is to Automatically Figure Out if The Build Is Worth Testing
2. Acceptance Test
A Variable Length IF A Minimum Level of Functionality Is Available After Changes By Dev
Between Brief BVT and Deep FunctionAlicity
IF IT Pass, Code Can Be Checked in
If it, dev, dev need, to do more work before checking in
3. FunctionAlity Test
A LONGER Comprehensive Test of All FunctionAlicity Available In A Test Area
Goal IS:
100% Function Coverage
> 75% Branch coverage
But Not 100% Code Coverage
Boundary Conditions and Equivalence Class Partitioning May BE USED
Tests Offen Form The Basis of Stress Tests
4. Unit testing
Unit = Smallest Functional Block Of Code
FunctionAlicity Testing
5. Component Testing
Component = units of code interacting
Integration Testing
6. System Testing
System = components interacting. End to end or system testing
7. Stress Test
A Test That Run Until The Code Fails
Does Not Necessarily Provide User Equivalence
Scalable; Stress Level from easy to Very Difficult
SCOPABLE; Can Be Used from Unit to System Level
Standard, Essential Metric To Determine for Ship Quality
Metric is Checked over Time to Spot Stability Degradation
72 Hours' Work As a Benchmark
8. Configuration Test
A test to check compatibility with hardware and software
Uses a test matrix to manage large numbers of systems, defices and target platforms
Designed to catch Major Classes of Incompatible Devices
9. Regression Testing
Regress All critical Bugs on critical milestones. To see the new changes' Impacts
10. Documentation and Help File Test
11. Security Test
12. Installation Test
Blah, Blah, Blah ...