Software test organizational and management
(This article is reproduced from Software Engineering Expert Network
Www.21cmm.com)
As an important part of software development, software testing is increasingly attached to people. With the increase in software development, complex degree increases, test work for errors in software is more difficult. However, in order to find out the mistakes in the program, produce high-quality software products, strengthen the organization and management of testing work is particularly important. From the software's survival cycle, the test often refers to the test of the program, which has the advantage that the subject is clear and the test is relatively operable. However, due to the basis for the test is the specifications, design documents and instruction manuals, if the design is wrong, the quality of the test is difficult to guarantee. Even if the test is found to be a design error, then the cost of modification is quite expensive. Therefore, the ideal approach should be a strict review in the development process of the software, according to the results formed by software engineering. The life cycle of the software can be represented by the flow of Figure 1. In order to ensure the quality of the software, strict management should be performed on the process of Figure 1. Although the test is implemented and proceed, it is actually that the preparation of the test begins in the analysis and design phase. 1. The process and organization of the test and organizations should be prepared for testing. Generally speaking, the designers who are familiar with the whole system are prepared, and the contents of the test outline, clear the test, design, design Complete test cases in order to fully test after the system is implemented. After realizing the procedures developed, submit test groups, tested by test leadership, testing, testing, generally organized: (1) First, testers should carefully read the relevant information, including specifications, design documents , Use instructions and test outlines, test content and tests formed during the design process, fully familiarize with system, write test plans, design test cases, and work preparation before testing. (2) In order to ensure the quality of the test, the test process is divided into several phases, namely: code review, unit test, integrated test, and acceptance test. (3) Code Conference Review: The code will be analyzed by a group of people through reading, discussing and disputeting procedures. The conference team consists of a team leader, 2 to 3 programming and testers and programmers. On the basis of fully read the text, control flow charts and related requirements, regulations, and other documents, the meeting, the program, and the programmer will explain the logic of the program, and the enthusiastic discussion is even controversial to reveal the key to the mistake. The location. Practice shows that programmers can find many mistakes that have not found mistakes during the explanation, and discussions and controversies further prompted the exposure of the problem. For example, discussions on a local small problem modification method may find that it is impossible to implicate the function of the module, the module intergeneration port, and system concatenation, resulting in the redefine defined by the demand definition, heavy Design verification, greatly improve the quality of the software. (4) Unit test: The unit test is concentrated on the minimum unit-module of the inspection software design, and the actual function of the module is not met by the test discovery, and the function explains the function of the module, and the encoded error. Due to the small size, single function, simple logic, testers may clearly understand the logical structure of the I / O condition and module of the module through module manual and source, and use the structure test (white box method). It is possible to achieve thorough testing, then supplemented by the use of functional test (black box method), making it individually and responds to any reasonable and unreasonable input. High reliability modules are a solid foundation for forming a reliable system. (5) Integration test: Integrated testing is to assemble the module simultaneously according to the design requirements, the main goal is to discover problems related to the interface.
If the data passes through the interface; a module may have a harmful impact due to negligence problems; the sub-function may not be generated by the expected main function; individual seems to be acceptable to the error may accumulate Unacceptable extent; the full data structure may have an error. (6) Acceptance test: The purpose of the acceptance test is to indicate that the system can operate as a predetermined requirement. After the integrated test, it has been assembled into a complete software system in accordance with the design. The interface error has also been basically eliminated, and then the effectiveness of the software should be further verified, which is the task of acceptance test, that is, the function of the software. Performance is like the user's reasonable expectation. After testing the software after the above test process, the software basically meets the requirements of development, the test announcement is over, after accepting the acceptance, the software will be submitted to the user. 2. The application integration test of the test method and its subsequent test stages, generally black box method. Its strategy includes? / P> (1) Benidian analysis method and / or essential classification method proposes basic test cases; (2) Supplement with a guess method to supplement new test cases; (3) If in the program's function description The combination of input conditions is contained in the beginning of the causal graphics, and then press the above (1), (2). The design strategy of the unit test is slightly different. Because when designing the program for module, you can directly refer to the source program of the module. So the strategy of unit testing is always used in combination with white box method and black box method. There are two specific practices: a, first, a set of basic test cases is proposed in the black box method, and then verify it with a white box method. If you find that the test case generated by the black box method is not satisfied with the desired coverage, add a new test case with a white box method to meet them. The covered standard should be determined according to the specific situation of the module. A module with a higher reliability requires a conditional combination overlay or a path coverage standard. B, first analyze the logical structure of the module with a white box method, propose a batch of test cases, and then supplemented according to the function of the module. 3. Testing personnel organizations ensure software testing throughout the process of software definition and development in order to ensure the quality of software development. Therefore, the results obtained by each phase of analysis, design, and implementation, including requirements specifications, design specifications and source programs should be software testing. Based on this, testers should also be staged. (1) The design and implementation of the software is based on the demand analysis specification. Demand Analysis Specification Description is complete, correct, and clearly the key to software development success or failure. In order to ensure the quality defined by the demand, it should be strictly reviewed. The review team consists of the following personnel: Group leader: 1 person: including system analysts, software development managers, software design, development and testers and users (2) Design review: software design is to convert software demand into software process. It mainly depicts the system structure, detailed processing, and database mode. According to the specifications of the requirements, evaluate the rationality of the system structure, the correctness of the processing process, and use the standardized theory of the relational database to review the database mode. The assessment team consists of the following personnel: Group leader: 1 member: including system analysts, software designers, one person in charge of the person responsible. (3) Test of the program: Software test. It is the final stage of delivery before the entire software development process is the key to software quality assurance. Software Tests across two phases in the software survival cycle: It is usually necessary after each module is written, and it is a necessary test (called unit test). The encoding and unit test belong to the same stage in the software survival cycle. Testing work in this phase, cross-testing by internal programming groups (avoiding programmers testing their own procedures). At the end of this stage, enter the test phase of the software survival cycle to make a variety of comprehensive testing of the software system.