[Original] how to reproduce non-reproducible bugs

Source: Internet
Author: User
From the title, you may feel dizzy. The non-recurrence mentioned here means that these bugs sometimes occur and sometimes do not. I believe that you must have encountered this kind of bug during the testing process. Many of these unreproducible bugs are difficult to locate and may not be solved for a long time. Whether or not these reproducible bugs can be reproduced has become a topic of interest. Recently, foreign testing experts James Bach and Jonathan Kohl have discussed this topic, here we will share some of their ideas with you.
To reproduce non-reproducible bugs, we need to first mention the concept of ET (Discovery test), that is, exploratory testing, which was first proposed by James Bach, this is a very effective test method when the information of the tested objects is insufficient. If you are interested, I will sort out an et article.
Before explaining how to reproduce bugs that cannot be reproduced, Let's explain why to reproduce these bugs ). For the entire project or product, if these non-reproducible bugs are serious bugs, such as system crashes, if they cannot be promptly and accurately located and solved, after the software is finally released to the user's hands, once it appears, it will inevitably affect the image of the software that has already been in the user's mind. In severe cases, it will "force" the user to select the competitor's product, these are clearly what companies do not want to see. For testers, the emergence of these non-reproducible bugs is actually a good exercise and improvement opportunity. If you only submit a defect report and kick this big ball to the developers, it not only loses a chance to improve the test level, but also damages the relationship with developers.
Go to the topic after talking nonsense. When a bug cannot be reproduced, you can consider the following five aspects:
1. Version Information of the tested object
The version I tested has two main functions: first, confirm that I tested a formal software version. If not, record the problem first, then select the official version for testing (an informal modification by the developer based on the attempt may lead to non-reproducible bugs). Second, it can be compared with other versions, if other versions do not have similar issues, you can compare the differences between the two versions.
2. Environment
The environment here refers to the testing environment corresponding to the occurrence of non-reproducible bugs, such as the Computer Used for testing. If a non-reproducible bug occurs, if I change to a machine, will there be similar problems? That is to say, the environment will be changed to further collect information about non-reproducible bugs.
3. Mode
The mode here refers to my understanding of how this bug occurs. First, set a mode for this bug, for example, whether the database communication is interrupted, and then perform a test, collect more information to modify and improve this mode. This will continue until the bug can be completely reproduced. In this case, you only need to use this mode to reproduce the bug.
4. Persons
The people mentioned here have two meanings: first, testing is conducted by people, and human operations and ways of thinking are different, by analyzing this information, we may also find clues about these non-reproducible bugs. Second, to reproduce non-reproducible bugs, we often need the collaboration of multiple people, for example, testers and developers can easily reproduce data through communication and collaboration.
5. Test Tools
Collect memory and other information through some debug tools or log tools, and analyze the information based on the information to find out the commonalities between different information. For example, a piece of memory will always be rewritten, this method is used to reproduce bugs.
The above five aspects are closely related to et's ideas. Through continuous testing and continuous information collection and analysis, gradually turn fuzzy and uncertain tests into clear and definite tests, so that we can reproduce bugs that cannot be reproduced. You can consider the information from the preceding five aspects.
Link to the article:
Http://www.kohl.ca/blog/archives/000115.html
Http://blackbox.cs.fit.edu/blog/james/archives/000197.html

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.