1. Test features
a large amount of statistical data shows that the current cost of software testing has exceeded the cost of software development 30%.
Objective: To find out the errors and defects in the software (mainly the program) before the software is put into production and running.
A successful test is the discovery of an error that has not been discovered so far.
Efficient testing means using a small number of test cases to find as many errors as possible.
2. Test classification
Phase Division: Unit Testing, integration testing, validation testing , System testing.
Method Division: White box test, black box test.
Product Classification: Alpha test and beta test.
Note: In real-world applications, once the errors in the program have been corrected, they should be partially or completely re-tested , a test called regression testing.
3.V Models
The V-model is a test-driven development model that emphasizes testing throughout the development process.
4. Unit Testing
A high degree of cohesion in the module simplifies the unit testing process. The test scenario will also be significantly reduced, and errors within the module are easier to predict and discover.
5. Integration Testing
Non-incremental: Pay attention to one step, diagnose and correct errors difficult, only for some very small software.
Incremental:
Top-down: Test the upper module first, then test the lower module, without having to write the driver module .
Bottom-up: Test the lower module first, then test the upper module, without having to write the Pile (test) module .
6. White box test-coverage standard
1. Statement overrides: Each statement is executed at least once
2. Decision coverage: Not only do each statement execute at least once, but each of the decisions may be executed at least once
3. Conditional override: Not only does each statement execute at least once, but each condition in the expression is determined to achieve a variety of possible results
4. Decision/Condition coverage: simultaneously satisfies the decision coverage and the condition coverage
5. Conditional combination overrides: Causes all combinations of conditional results in each decision expression to appear at least once
6. Path overlay: Causes all possible paths in the program to pass at least once (if there is a loop in the program, then each loop is required at least once)
Note: The test cases that meet the conditional combination override must also meet the decision/condition overrides. However, conditional overrides do not guarantee that all possible paths in the program are passed at least once
NOTE: Conditional overrides do not necessarily include a decision overlay, and a decision override does not necessarily include a conditional override.
Note: path overrides do not consider a combination of conditional results in a decision and do not override conditional overrides and conditional combination overrides
Software Engineering-Testing