Software testing and review is the main means of software quality assurance and a necessary step before software delivery.

One, test method software has “error” and “defect” two concepts. Bugs refer to software development processes, and bugs refer to software products. Errors are the cause of defects.

Appropriate test cases should be designed to detect errors and defects. A test case consists of test data and expected results.

Efficient testing means finding the most errors and defects with the fewest test cases.

(I) Software testing stages are divided into unit testing, integration testing and system testing.

1. Unit test, also known as module test, is carried out by programmers themselves in the programming stage to check whether the module has realized the specified functions and algorithms and find errors.

The unit test plan should be developed during the detailed design phase.

Unit testing can focus on module interfaces, data structures, execution paths, error handling, and boundary conditions.

2. Integration test, also known as assembly test, tests the program assembled by each module. The goal is to find the interface and communication problems between modules.

The integration test plan should be developed during the outline design phase.

It is divided into two ways: incremental and non-incremental.

3, system testing software testing the last most complete test, on the basis of unit testing and integration testing, from the global to investigate the function and performance requirements of the software system.

The system test plan is developed during the requirements analysis phase.

System test is divided into confirmation test and acceptance test.

Verify that the tests are checked according to the requirements specification by the developer or a third party?

If entrusted by Party A, the acceptance test shall be carried out by Party A. If the product is multi-user, do A and B tests. The A tests are conducted in the development site, and the B tests are public tests.

It will be ready for delivery after system testing.

(2) White box test and black box test these are specific test methods. White box testing is used for unit testing and black box testing is used for integration testing and system testing phases.

(3) Classification and level of defects

(4) Debugging

Review is an evaluation tool to determine whether the software development is staying in line with the plan and allowing it to be improved. Including: 1) software requirements review 2) general design review 3) detailed design review 4) software verification and verification review 5) function inspection 6) physical inspection whether the verification procedures and documents are ready 7) comprehensive inspection of users or experts entrusted by users 8) Management review to review the implementation of the plan. This work is carried out by a neutral accrediting body or a third party.

Note: 1) Testing can not replace the review of software development early, there is no finished product for testing, but can be reviewed. The better the reviews, the fewer detours and the lower the cost of subsequent testing. 2) review should focus on product, and should not comment on the developer 3) review should focus on substantive issues, rather than the document format for such trivial 4) reviews found the problem, rather than the problem solution discussion 5) review should be arranged into the project plan and enough attention to 6) reviewers should know enough projects and related materials

Iii. Verification and confirmation

Test automation suitable for testing: 1) test case generation 2) test execution control 3) comparison between test results and standards 4) test results analysis and statistics

Five, the object-oriented testing is different from the traditional testing strategy, divided into: object-oriented analysis of testing object-oriented design of testing object-oriented programming of testing object-oriented unit testing object-oriented integration testing object-oriented system testing