Some common misunderstandings in software testing

Abstract
  With the continuous improvement of software quality in the market, software testing continues to receive more attention. However, due to the overall non-standardization of domestic software project processes, the phenomenon of attaching importance to coding and despising testing has led to the importance of software testing, testing methods and processes, etc. There are still many misunderstandings. Based on the author's software work experience, this article lists six representative misunderstandings, analyzes and explains them accordingly. I hope it will play a certain role in providing technical and managerial personnel in the software industry with a correct understanding of software testing.

  Keywords: software testing software process

  Text
  As the scale of software continues to expand, the complexity of software design continues to increase, and 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, software testing is becoming increasingly important in the implementation process of software projects. However, the reality is that compared with software programming, the status and role of software testing has not really been taken seriously. For many people (even technical personnel of the software project team) there are still misunderstandings about software testing, which further affects the Carry out software testing activities and truly improve the quality of software testing.

  One of the misunderstandings: Software testing after software development is completed
  . People generally believe that software projects go through the following stages: requirements analysis, outline design, detailed design, software coding, software testing, and software release. Accordingly, it is believed that software testing is just a process after software coding. This is a misunderstanding of 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 throughout the entire life process of a software project. Testing activities with different purposes and contents must be carried out at every stage of the software project to ensure the correctness of each stage. The object of software testing is not only software code, but also software requirements documents and design documents. Software development and software testing should be interactive. For example, unit coding requires unit testing, and the module combination phase requires integration testing. If you wait until the software coding is completed before testing, the testing time will be very short, the testing coverage will be incomplete, and the testing effect will be greatly reduced. What's more serious is that if errors are discovered in the software requirements stage or outline design stage, it will take a lot of time and manpower to repair such errors.

  Misunderstanding 2: If quality problems are found after the software is released, it is the fault of the software testers.
  This understanding greatly dampens 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 is designed in various processes of the software life cycle. The occurrence of software errors cannot simply be 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 to find the causes of errors and improvement measures from the perspective of process improvement.


  Misunderstanding 3: The requirements for software testing are not high, just find anyone. Many
  people think that software testing is a matter of installing and running programs, clicking the mouse, and pressing the keyboard. This is caused by not understanding 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 being updated. A lot of testing knowledge needs to be mastered and learned. Therefore, a programmer with programming experience may not necessarily be a good test engineer. Software testing includes two aspects: testing technology and management. To fully master these two aspects requires a lot of practical testing experience and a spirit of continuous learning.

  Myth No. 4: Software testing is a matter for 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, unit testing should mainly be done by programmers, and testers can help design test samples when necessary. Many software errors discovered during testing require programmers to modify the coding to fix them. Programmers can purposefully analyze the type and number of software errors to find out the location and causes of errors, so as to avoid the same errors in future programming, accumulate programming experience, and improve programming abilities.

  Misunderstanding No. 5: Do less testing when the project schedule is tight, and do more testing when the time is abundant.
  This is a sign of not paying attention to software testing. It is also a sign of chaotic software project process management, which will inevitably reduce the quality of software testing. The smooth implementation of a software project requires a reasonable project schedule, including a reasonable test plan. For any problems during the project implementation, there must be risk analysis and corresponding countermeasures. Do not simply shorten the development schedule due to delays. Testing time, manpower, and resources. Because the shortened test time brings incomplete testing, the potential risks caused by the decline in project quality often result in greater waste. 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 No. 6: Software testing is a job with no future, and only programmers are software masters.
  Since China’s overall software development capabilities are relatively low and the software process is very unstandardized, the development of many software projects still remains in the “workshop style” and “basket style”. Chicken Coop” stage. The success of a project is often determined by individual all-around programmers. They are responsible for the overall design and detailed program design. They believe that software development is just writing code. They often give people the impression that programmers are real talents and have 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. As the market continues to improve software quality, software testing will become more and more important, and the status and treatment of corresponding software testers will gradually increase. In large companies such as Microsoft with relatively standardized software processes, the number and treatment of software testers are not much different from those of 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.
Finally, I would like to thank everyone who reads my article carefully. Reciprocity is always necessary. Although it is not a very valuable thing, if you can use it, you can take it directly:

How to obtain documents:

This document should be the most comprehensive and complete preparation warehouse for friends who want to engage in [software testing]. This warehouse has also accompanied me through the most difficult journey. I hope it can also help you!

All of the above can be shared. You only need to search the vx official account: Programmer Hugo to get it for free.

Guess you like

Origin blog.csdn.net/2301_79535544/article/details/133362996