What is exploratory testing?Chen nengji-8-16 Original article: What is exploratory testing? And how it differs from scripted testing-James Bach is a powerful and interesting test method. In some cases, it is more efficient than scripted testing. In fact, every tester is unknowingly using the exploratory test method, but few people learn and pay attention to this method. Now it's time to get to know the exploratory testing method: scientific real-time thinking.
Concurrent test design and execution
Design and Test execution at the same timeThe simplest definition of exploratory testing is to design and execute tests at the same time. This is opposite to the scripted test method (pre-defined test steps ). Unlike scripted tests, Exploratory tests are not pre-defined and are not carried out in strict accordance with the plan. However, even a precisely defined test step will have a lot of interesting details left over to the tester (for example, the speed of hitting on the keyboard and what behavior is considered wrong ); even in a very free exploratory test, you can define the parts of the test product or define the testing strategy. Good exploratory testers will write down the test ideas and apply them to subsequent test cycles. The recorded items look a bit like test scripts. Exploratory testing is sometimes confused with ad hoc testing. Impromptu testing usually refers to the testing process of ad hoc bug searches that are prepared temporarily. From the definition, we can see that anyone can perform an impromptu test. Compared with the exploratory test proposed by CEM Kaner, the impromptu test is a refined and thoughtful process.
Balancing exploratory testing with scripted Testing
Balanced Exploratory Test and scripted TestIf the next test is affected by the results of the previous test, we are doing an Exploratory Test. When we do not know what tests should be run before the test cycle, or we have no chance to create a test, we should explore more. If we are executing a script-based test, new information prompts us that we can have a better test strategy. We should turn it into an exploration model (for example, we need to investigate when we find a new error ). On the contrary, when we are very clear about what we are going to do and how we do it, we should adopt a scripted testing method. The new tests are less important. The efficiency and reliability of the tests are needed to make the tests worthwhile. They deserve to be documented and maintained. There is no fundamental difference between the exploratory test results and the scripted test results. The two test methods are completely compatible. Companies like Nortel and Microsoft usually use both methods in projects.
Why do exploratory testing?
Why do we need to perform exploratory testing?The recurring topics in effective Exploratory Test Cycle Management are: Test, test strategy, test report, and test task. The script-based testing method tries to mechanization the testing process and extract the testing idea from the head of the testing designer and put it on paper. This test method has many advantages. But exploratory testers hold the idea that writing the test script down and testing it based on them will undermine the intellectual process of quickly searching for important issues. The richer and smoother the process of this intelligence, the more opportunities we have to perform the right test at the right time. This is the power of exploratory testing: the richness of the testing process is limited by the breadth and depth of our thinking, as well as our insights into the testing product. Script-based testing has its significance. I can imagine that the efficiency and repeatability of testing are so important that we should perform script-based or automated testing. When the test environment is intermittently effective, for example, for a C/S-structured project, only a few configuration servers are valid and must be shared between testing and development. In this case, we should carefully develop the test in advance to make full use of the limited test execution time. Exploratory testing is particularly useful in complex test cases, especially when you have little knowledge about the product, or as part of the script-based testing preparation. The basic rule is: You should conduct an exploratory test if the content of the next test you prepare is unclear, or you want to clarify these ambiguous factors.