The pot falls from the sky, who depends on improving product quality?

Recently, a test partner asked a question:

After the release of production, there are always bugs. The leader asked the test to reflect on how to make the production zero bugs and land. How should this be done?

This is a very common problem for the test team, because when the test does what it should do, the pot often floats from the sky.

1. Solve the problem

  • In fact, everyone knows a fact: zero bugs are impossible!

The birth and development of products are implemented by using human thinking and human behavior, and there will be loopholes if they are artificial. In the short history of computing, no one has ever written perfect software without bugs.

So the problem can be transformed into:

How to improve product quality, reduce bugs, and reduce the impact of bugs in production?

Why are leaders afraid of bugs in production? The essence is that bugs in production will affect users and directly or indirectly cause losses to the company.

  • Reducing bugs is not just a matter of testing. After all, bugs are not introduced by tests.

I believe that most practitioners have the misunderstanding of "testing can ensure quality" at the beginning, and I am no exception. Therefore, at the beginning of the testing work, if there is a bug in production, I think:

- The testing process is not serious enough;
- The test cases are not well written;
- Thinking about the problem is not comprehensive enough;
- If there is a bug, it is the fault of the test;
- ...

It wasn't until I started watching many articles and videos of test masters that I corrected my wrong concept.

The quality assurance of a product requires a complete quality assurance system. From the beginning of project approval, to development, to release, to maintenance, the product should run through the quality assurance thinking. Rather than relying solely on testers to ensure the quality of the product.

2. Establish a comprehensive quality assurance system

What is a comprehensive quality assurance system?

At present, a product basically has certain quality assurance means in each stage according to the requirements stage, research and development stage, testing stage, and maintenance stage (that is, after release). The whole process of software development needs to guarantee the quality.

  • The requirements stage passes requirements review, test case review (I put the test case review in the requirements stage, because I think the test case review is more like refining the requirement realization, so that the product, test, and development can agree on the understanding of the requirement), UI Design draft review to guarantee;
  • In the R&D stage, unit testing, code analysis, code view, and smoke testing are used to guarantee;
  • The testing phase is guaranteed through joint debugging (integration) testing, alpha testing, and beta testing;
  • After the release, the quality is guaranteed through online monitoring and user feedback.

It can be seen that all stages of product development actually affect the final quality of the product, except that bugs will not be introduced in the testing stage, bugs will be introduced in other stages.

In actual work, not all companies have such complete means to ensure quality. Take the above table as a toolbox, and extract the parts that can be implemented according to the size of the company, the actual situation, and the project situation.

How do you know which tool to add to your company for the greatest return on investment?

Bug attribution, for the classification of the cause of each bug, trace the stage at which the bug was introduced, and select the corresponding tools in the toolbox.

3. How to trace the introduction stage of bugs

Classify the causes of bugs, such as unclear requirements/changes, code errors, interface optimization, performance problems, configuration-related, security-related... You can determine which categories there are according to the specific situation of your company, and fix each bug Afterwards, the cause of the bug is marked. When a version test is completed, bug attribution statistics can be obtained.

Therefore, when a product always has many bugs, in addition to completing basic functional tests, it is also necessary to analyze which stage in the entire product development process introduces the most bugs, and improve the quality assurance methods at that stage .

For example, according to the statistics of bug attribution, the bugs caused by unknown or changed requirements are the most.

What we can do:
1. Suggest that the product improve the details of the requirements document.
2. It is recommended that the product send the requirement document to the relevant personnel to read in advance the day before the requirement review meeting, so as to improve the quality of the requirement review.

If most bugs are caused by code errors,

We can do:

1. It is recommended to increase the unit test coverage;
2. It is recommended that the development team increase training to improve the level of developers;
3. Increase code review and code analysis.

Going back to the original question "How to improve product quality, reduce bugs, and reduce the impact of bugs in production?" The above content has already answered half of the question.

So how to reduce the impact of bugs in production?

Relying on the online monitoring and user feedback mechanism after the release, bugs can be found in a timely manner, and then it is necessary to formulate and improve the process of responding to and dealing with problems in a timely manner.

Timely discovery and immediate processing can minimize the impact of bugs.

In addition, a good release strategy can also minimize the impact. For products with a large number of users, if they are released in full, they will face greater risks. You can choose release strategies such as grayscale release, A/B test, and blue-green release.

Want to learn but can't start, how to learn?

Here I have prepared learning materials corresponding to each of the above knowledge points, self-study artifacts, and project practice.

If my blog is helpful to you, if you like the content of my article, please "Like", "Comment", "Favorite" with one click!

Guess you like

Origin blog.csdn.net/test_zhuoran/article/details/131669525