Basic knowledge of software testing

Basic knowledge of software testing

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

1.  Development
a.  Test coverage
b.  Write testable code
● The public API is a protocol
● 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            
c.  Test Driver Development(TDD)
          Test–>Fail–>Code –>Refactoring–>(Repeat)–>Submit
Test-Driven Development(TDD)
2.  Test
a.  stub                            Coarse-grained test
b.  mocks                        Fine-grained test
c.  Test in container        Integrity test

Leave a Reply