The target of software testing
1. Confirm the quality of the software
a. Confirm the software to do what you want to do (Do the right thing).
b. Confirm the software in the right way to do this thing(Do it right).
2. Provide information
Such as feedback to the developer or program manager, information for the risk assessment.
3. Testing product itself, and also includes software development process.
If after the product development is completed and discovery of a lot of problems, this means that the software development process has some defect. Therefore, the third target of software testing is to ensure that the entire software development process is high quality.
Five types of software testing
1. Unit test
2. Integration testing
3. Functional testing
4. Pressure testing
5. Acceptance test
Software testing strategies and requirements
● Reduce dependencies
● Simple constructor
● Follow the minimum knowledge principle(KISS-keep it simple short/stupid)
● Avoid hidden dependencies and global status
● Avoid using static methods
● The combination is better than inheritance
● Multiplicity is better than conditional statement
b. mocks Fine-grained test
c. Test in container Integrity test