Purpose of software testing-prevent project risks

Source: Internet
Author: User

The purpose of software testing has always been a problem that has plagued developers and testers,

Project Management Personnel want to test to ensure the success of the software project

Developers want testing to prove the results of their work by making them confident that their software is okay.

In the classical theory of software testing, testing cannot prove that the software is okay, but can only prove that the software is wrong.

The classic theory of software testing and the good test cases are the test cases that can discover those problems,

So the problem arises. What is the test?

In fact, this problem is not difficult to solve, as long as you look at it from a higher perspective.

Risk management is an important field in project management, and testing is an important means to prevent and solve technical risks.

In this way, the status and role of testing in software development can be well solved.

First, risks (technical risks ). Software is an industry with a relatively high level of science and technology. Due to the large number of new technologies, technical risks are naturally quite high. We should pay special attention to how to prevent the dangers caused by these risks.

Hazard = probability of occurrence * Hazard Caused by risk.

As a test task, we can ensure the smooth implementation of the project by reducing the probability of risk occurrence and the hazards caused by the risk.

First, we should reduce the probability of risk occurrence. In function testing, we will test the coverage rate and try to increase the testing intensity to cover all functional points as much as possible,

For example, Smoke Testing, legal data testing, and illegal data testing are to gradually increase the test intensity to identify problems,

In addition, to reduce the hazards caused by risks, from a purely technical point of view, problems found in software testing have different levels of hazards. For example, crashes should be the most serious, secondly, functions cannot be implemented, and the value of discovering these problems is often great. These problems often lead to serious problems. If these problems are identified in time, developers can modify them in time to prevent system problems from causing serious problems to project development.

Here are some of my experiences.

1. The tester cannot pass the test work to bring direct benefits to the project. Simply put, the product cannot be tested, however, modifications to problems found during the test can bring the product quality to a high level,

2. Testers should not be good at discovering problems, but also be good at communicating with developers so that they can recognize and modify these problems so that they can realize their own value through developers.

3. test engineers should improve their testing technology, adopt more scientific testing methods and tools, and increase the testing intensity. Inform the project manager that our products have been tested, the probability of a problem is several orders of magnitude lower than the original one, and the probability of a problem is reduced. In other words, the product reliability is enhanced, which is the purpose of the formal superior leadership to reward the testing department.

4. What kind of test cases are good test cases? If a test case has never been found to be a good test case, if all the test cases have passed the regression test, are these test cases all bad? This clearly cannot be said. In my opinion, there should be two criteria for judging whether a test case is good or not. One is whether a test case with a higher probability of finding a problem is a good test case, another test case that allows developers to determine the problem is a good test case. It is complicated here. Here are some examples.

If a test with an undiscovered bug is a good test, the implementation of this item cannot be determined. No one knows which test case may discover the problem, therefore, testers cannot improve the testing work at all. However, if problems are found to be more likely, they will be better implemented, such as dividing equivalence classes, the boundary value and other methods are all methods that have been summarized for a long time and are likely to discover problems,

In addition, the purpose of the test is to modify the problem. During software development, if you want to modify the problem, you must first locate the problem and then determine the conditions for the problem, if your test cases (generally several or dozens of cases) allow developers to discover the patterns of problems, they can easily discover the patterns of problems, it will be of great help to the positioning of developers. Such test cases play a great role in improving product quality.

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.