[Recommendation for failover] Several misunderstandings in software testing (provided by the Chinese software testing community)

Source: Internet
Author: User
Tags failover

Several misunderstandings about software testing

 

 

As the market continues to improve the quality of software, software testing has been paid more and more attention. However, because the process of software projects in China is not standardized in general, this has led to the emphasis on coding and testing, there are still many misunderstandings about the importance of software testing, testing methods and processes. Based on the author's software work experience, this article lists seven Representative Software Testing misunderstandings, and analyzes and explains them accordingly. It is hoped that it will play a role in correctly understanding software testing technologies and management personnel in the software industry.

As a key technical means for Software Quality Assurance and reliability, software testing is becoming increasingly important. However, the software development modes of many software enterprises in China are still in the nonstandard state of unordered development. Compared with software programming, the status and role of software testing have not been paid much attention to yet, many people (or even technical personnel of the software project team) still have misunderstandings about software testing, which further affects the development of software testing activities and the real improvement of software testing quality.

Misunderstanding: perform software testing after software development is complete

It is generally believed that software projects should go through the following stages: requirement analysis, outline design, detailed design, software coding, software testing, and software release. Therefore, it is considered that software testing is only a process after software coding. This is an error in understanding the software test cycle.

Software testing is a series of process activities, including software testing requirement analysis, test plan design, test case design, and execution testing. Therefore, software testing runs through the entire lifecycle of a software project. Each stage of a software project should be tested with different purposes and content to ensure the correctness of each stage. Software testing targets not only software code, but also Software Requirement documents and design documents. Software development and software testing should be interactive. For example, unit testing is required for unit coding and integration testing is required for the module combination stage. If the test is performed only after the software code is complete, the test time will be short, the coverage of the test will be incomplete, and the test effect will be greatly reduced. What's more serious is that if an error occurs in the software demand or outline design phase at this time, it will take a lot of time and effort to fix this type of error.

Misunderstanding 2: If quality problems are detected after software release, it is the fault of Software testers.

This kind of understanding is a blow to the enthusiasm of Software testers. Errors in the software may come from various processes in the software project. Software Testing can only confirm that there are errors in the software, but cannot ensure that there are no errors in the software, because basically, software testing cannot discover all the errors. From the perspective of software development, the high quality of software is not tested by software testers. It is designed in various processes of the software life cycle. Software errors cannot be simply attributed to the responsibility of a person. Some errors may not be caused by technical reasons, but may be caused by chaotic project management. Various Processes of the software project should be analyzed, and the cause of errors and improvement measures should be sought from the process improvement aspects.

Misunderstanding 3: the software test requirements are not high. You can find more people.

Many people think that software testing is to install and run the program, click the mouse, and press the keyboard to work. This is because you do not know the specific technologies 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 demands. 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, programmers with programming experience are not necessarily a good test engineer. Software testing involves two aspects: Testing Technology and Management. It requires a lot of practical experience and continuous learning.

Misunderstanding 4: automatic software testing is highly efficient and will replace manual software testing

In recent years, the research of software testing automation technology has made great progress, and some commercial dedicated automatic testing tools have emerged in the market, and have been successfully applied in the Automated Testing Process of some software. Automatic Testing has the advantages of high test efficiency, less manual interference, and flexibility and convenience. However, the automatic testing technology is still in development, and the current market's automatic testing tools can only meet some of the software's testing features, the scope of application is limited, need for the tested software, compile and debug complex test scripts separately, and the automatic test tool is usually very expensive. It can be purchased by non-general software companies. In the current field of software testing, manual testing by test engineers is still very important. At present, automatic software testing is only an auxiliary means of manual testing. Because of the complexity and flexibility of the software itself, and the advantage of highly developed human thinking, no matter how advanced automatic testing technology is, manual testing will not disappear.

Misunderstanding 5: software testing is a matter for testers and has nothing to do with programmers.

Development and testing are complementary processes. Software testers, programmers, and system analysts must maintain close contact and communicate with each other to improve testing efficiency. In addition, unit testing should be completed by programmers. If necessary, testers can help design test samples. For software errors found during testing, many programmers need to modify the code to fix them. Programmers can analyze the types and quantities of software errors to find out the location and cause of errors, so as to avoid the same errors in future programming and accumulate programming experience, improve programming capability.

Misunderstanding 6: do less test when project progress is tight, and do more test when time is rich

This is a manifestation of the absence of emphasis on software testing, as well as the chaotic process management of software projects, which will inevitably reduce the quality of software testing. A reasonable project schedule is required for the smooth implementation of a software project, including a reasonable test plan, risk analysis and corresponding countermeasures for any problems in the project implementation process, do not simply shorten the test time, manpower, and resources because of the delay of development progress. The test is incomplete due to the shortening of the test time, and the potential risks caused by the decline in Project Quality often lead to greater waste. The best way to overcome this problem is to strengthen the planning and control of the software process, including the software test plan, test design, test execution, test measurement and Test Control.

7. Misunderstanding: software testing has no prospects. Only programmers are the masters of software.

Because China's overall software development capabilities are relatively low and the software process is very nonstandard, the development of many software projects is still in the "Workshop" and "base chicken nest" stages. The success of a project is often determined by individual all-powerful programmers who are responsible for the overall design and detailed program design. They think that software development is code writing, and the impression is that programmers are really cool people, has a high position and treatment. Therefore, in this environment, software testing is not very important, and the status and treatment of Software testers are naturally very low, and even Software Testing becomes dispensable. As the market continues to improve the quality of software, software testing will become more and more important, and the status and treatment of corresponding software testers will gradually increase. In large companies with relatively standardized software processes, such as Microsoft, 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 promising future. The market needs more testers with rich testing technology and management experience. They are also software experts.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.