First, the concept of software testing
Operate the software under prescribed conditions, identify problems, and evaluate the quality of the software.
Note: Software is composed of documents, data, and programs, and all tests are also related to these aspects of the inspection
Second, the quality of software
The sum of software features, the ability of the software to meet the requirements of a specified or potential user
Note: To measure from internal, external, and in-use performance of the software
Third, the difference between software testing and quality assurance
Software testers are an important task to improve the quality of software, but does not mean that software testers are software quality assurance personnel, because testing is only a part of the quality assurance work.
(1) Quality assurance: The focus is on software quality inspection and measurement, mainly focus on the software development activities in the process, steps and products, rather than the analysis of software to identify problems or assessment;
(2) Software testing: Do not pay attention to the process, but the product of the process and developed software to analyze, to identify problems, report quality.
Iv. Purpose of software testing
Identify potential errors and defects in software with minimal manpower, material and time, improve software quality by correcting errors and defects, and avoid commercial risks caused by potential software defects and errors after software release
(1) Testing is the process of execution of the program in order to detect errors
(2) A good test case is to find errors that have not been found so far
(3) A successful test is a test that finds errors that have not been found so far
V. Principles of Software Testing
(1) All software testing is traceable to the user's needs.
(2) To conduct software testing as early as possible and continuously
(3) Software testing can not be carried out indefinitely, testing needs to be terminated
(4) cannot guarantee to find all the software problems
(5) Pay attention to the cluster phenomenon in the test (corresponding key test)
As in IBM's os/370 operating system, 47% of errors are only related to the 4% modules of the system.
(6) Programmers should avoid checking their own programs
(7) to be organized, planned and step-tested
VI. Classification of software testing
1. Breakdown by Development phase
Unit test, integration test, System test, validation test, acceptance test
(1) Unit test: The minimum unit of software Design-Program module for the correctness of testing work. Its purpose is to check whether each program unit can implement the module function, performance, interface and design constraints in the detailed design instructions.
(2) Integration testing: Integration testing is the interface between the inspection program units or components, and gradually set up to meet the outline design requirements of the program parts or the entire system.
A number of temporary versions are formed during each release, and a smoke test is required to validate the main function of the program when each version is submitted.
(3) Validation test: Testing and verifying that the software meets the requirements set forth in the Software Requirements specification
(4) System testing: In the real or simulated system operation environment, check whether the complete program system and system (including hardware, peripherals, network and system software, support platform, etc.) correctly configured, connected, and meet the needs of users.
(5) Acceptance test: According to the project task or contract, the supply and demand agreed to the acceptance of the whole system test and review, decide whether to receive or reject the system.
Fundamentals of Software Testing