Lightning protection, one of the common misunderstandings in software testing

 With the continuous expansion of software scale and the increasing complexity of software design, there are more and more opportunities for errors or defects in software development. At the same time, the market's awareness of the importance of software quality is gradually increasing. Therefore, the importance of software testing in the implementation of software projects has become increasingly prominent. However, the reality is that compared with software programming, the status and role of software testing has not been really taken seriously. Many people (even technicians in software project teams) still have misunderstandings about software testing, which further affects The development of software testing activities and the real improvement of software testing quality.

One of the misunderstandings: software testing after software development

It is generally believed that a software project must go through the following stages: requirements analysis, general design, detailed design, software coding, software testing, and software release. Accordingly, it is considered that software testing is only a process after software coding. This is a misunderstanding of not understanding the software testing cycle. Software testing is a series of process activities, including software testing requirements analysis, test plan design, test case design, and test execution. Therefore, software testing runs through the entire life process of a software project. At each stage of a software project, testing activities with different purposes and contents must be carried out to ensure the correctness of each stage. The object of software testing is not only software code, but also software requirement documents and design documents. Software development and software testing should be carried out interactively, for example, unit coding needs unit testing, and module combination phase needs integration testing. If you wait until the software coding is finished before testing, then the testing time will be very short, the testing coverage will be very incomplete, and the testing effect will be greatly reduced. What's more serious is that if errors in the software requirements stage or the general design stage are found at this time, it will take a lot of time and manpower to fix such errors.

Misunderstanding 2: If quality problems are found after the software is released, it is the fault of the software testers

This kind of understanding is a blow to the enthusiasm of software testers. Errors in software may come from various processes in the software project. Software testing can only confirm that there are errors in the software, but cannot guarantee that the software is error-free, because fundamentally speaking, software testing cannot find all errors. From the perspective of software development, the high quality of software is not measured by software testers, but designed in various processes of the software life cycle. The occurrence of software errors cannot be simply attributed to the responsibility of a certain person. Some errors may not be caused by technical reasons, but may come from chaotic project management. Each process of the software project should be analyzed, and the causes of errors and improvement measures should be found from the aspect of process improvement.

Misunderstanding 3: The requirements for software testing are not high, and you can find as many people as you like. Many people

think that software testing is to install and run programs, click the mouse, and press the keyboard. This is caused by not knowing the specific techniques and methods of software testing. With the development of software engineering and the improvement of software project management experience, software testing has formed an independent technical discipline and evolved into an industry with huge market demand. Software testing technology is constantly updated and improved, new tools, new processes, and new test design methods are constantly updated, and a lot of testing knowledge needs to be mastered and learned. Therefore, a programmer with programming experience is not necessarily a good test engineer. Software testing includes two aspects of testing technology and management. Fully mastering the content of these two aspects requires a lot of testing practical experience and continuous learning spirit.

Misunderstanding 4: Software testing is the work of testers, and has nothing to do with programmers.

Development and testing are complementary processes that require software testers, programmers and system analysts to maintain close contact, and require more communication and coordination. Improve testing efficiency. In addition, the unit test should be mainly done by the programmer, and the tester can help design the test sample if necessary. For the software errors found in the test, many programmers need to modify the code to fix them. Programmers can purposely analyze the type and quantity of software errors, find out the location and cause of errors, so as to avoid the same errors in future programming, accumulate programming experience, and improve programming ability.

Misunderstanding 5: Do less testing when the project schedule is tight, and do more testing when time is abundant

This is a manifestation of not paying attention to software testing, and it is also a manifestation of chaotic software project process management, which will inevitably reduce the quality of software testing. The smooth realization of a software project requires a reasonable project schedule, including a reasonable test plan. Any problems in the project implementation process must have risk analysis and corresponding countermeasures. Do not simply shorten the development schedule because of the delay of the development schedule. Test time, manpower and resources. The incomplete testing caused by shortening the testing time often causes greater waste due to the potential risks caused by the decline in project quality. The best way to overcome this phenomenon is to strengthen the planning and control of the software process, including software test planning, test design, test execution, test measurement and test control.

Misunderstanding 6: Software testing is a job with no future, and only programmers are software masters.

Due to the relatively low overall software development capabilities in our country, the software process is not standardized, and the development of many software projects still stays in the "workshop" and "base". chicken coop” stage. The success of a project is often determined by individual all-round programmers who are responsible for the overall design and detailed program design. They think that software development is writing code, and they often give people the impression that programmers are really good people with high status and treatment. Therefore, in this environment, software testing is not taken seriously, and the status and treatment of software testers are naturally very low, and even software testing becomes dispensable. With the continuous improvement of software quality in the market, software testing will become more and more important, and the status and treatment of corresponding software testers will gradually increase. In Microsoft and other large companies with relatively standardized software processes, the number and treatment of software testers are not much different from programmers, and the treatment of excellent testers is even higher than that of programmers. Software testing will become an industry with great development prospects. Software testing has a bright future. The market needs more testers with rich testing technology and management experience. They are also software experts.

Guess you like

Origin blog.csdn.net/m0_68405758/article/details/129961884