Whitepaper Exploratory Testing “Why don’t we always use that?” by Dennis Joele Dennis Joele works as a test designer at TriOpSys and has designed and implemented various tests for the Hydrographic Service of the Royal Navy, based on structured testing. In this whitepaper, he will describe a case study, in which Exploratory Testing has been chosen. Since both methods are used within one project, it is possible to make a comparison. The results of this comparison caused the customer to raise the question: "Why don’t we always use that?" This question will also be answered. Generally, we are accustomed to use structured testing. A number of conditions should be met. For specification of the tests, an adequate documented test basis and sufficient preparation time should be available. If one of these conditions is not met, another testing technique might be helpful. This technique is known as Exploratory Testing. Whitepaper | Exploratory Testing > How it works According to one of the founding fathers of the technique, Cem Kaner, Exploratory Testing is defined as: "Any type of testing where the tester arranges his test design during the execution of the test, and the information obtained during the test is used to design new and improved test cases.” This implies that a number of steps have been taken: a part of the system is explored (exploring), thought is being given to what should be tested (test design) and the designed test is performed (test execution). There are several disadvantages: the repeatability of the tests is difficult, there is no visibility of the selected test techniques during test design, there is no guarantee to ensure test coverage and the direction of the tests is unknown in advance. To address these disadvantages, James Bach expanded the technology _____________ with a number of elements, creating a session based Exploratory Testing: a “Exploratory testing test charter, a session, notes and a debriefing. is simultaneous Test charter learning, test design, A test charter describes the task being performed and the goals: What (scope) What not (not within scope) Why (questions to be answered) How (brainstorm) Expected Problems Reference (diagrams/models) and test execution.” James Bach ___________ Optionally, the test charter may contain the test techniques which will be used and the degree of test coverage to be expected. The test charter gives the approximate boundary conditions of the test. Session A session takes place within a certain period of time, for example 2 hours during which, based on the pre-defined test charter, the system is being tested. Often, this type of session is carried out in pairs, for example a tester and a domain expert. The tester ensures the main use of (implicitly) test techniques and the domain expert complements the test cases with his/her system and domain knowledge. Page 2 of 7 Whitepaper | Exploratory Testing > Notes and debriefing For later reflection of the session, notes are made during the session. These include both the test design that is created during the test and the test results. Naturally, findings are also noted. This improves the repeatability of the tests. After the session, the notes and findings will be shared with the author of the test charter. Subsequently, it is determined whether the questions from the test charter were answered. When to apply Under certain circumstances, it is possible to use Exploratory Testing. A number of these conditions are listed below: There is not enough documented test basis available There is not enough time available to specify the tests There is a need for complementation/diversification of formal testing _____________ techniques The technique has Testers with sufficient test knowledge are available also demonstrated its worth when The technique has also demonstrated its worth when quickly trying to find quickly trying to find out how a given system is working, to get a clear picture of the quality of a out how a given system, or to investigate a specific finding in more details. system is working, When not to apply It is not a foregone conclusion that if one of the above mentioned conditions is met, Exploratory Testing can be used automatically. There are also situations in which this technique will prove itself unsuitable, such as: The client demands provability of performed tests Testing should be repeated able by others or with a test tool Critical functionality which could cause great damage if not functioning to get a clear picture of the quality of a system, or to investigate a specific finding in more details. _____________ properly When tests are required to be specified extensively If tests lack immediate feedback, as with batch functionality Page 3 of 7 Whitepaper | Exploratory Testing > Exploratory Testing at the Hydrographic Service of the Royal Navy Exploratory Testing is applied in the development of a new civil and military production system for making paper and electronic charts. The system consists of several components, some of which are partly acquired externally and partly developed internally. These components are integrated into one system, using Workflow Management as an umbrella layer. This ensures the monitoring of the execution of the business processes. There are a total of five business processes that are automated successively. For the first business process structured tests were already performed. Exploratory Testing has been introduced as an addition to/diversification of the formal testing technique used, which is in this case the Process Cycle Test. This test technique focuses on covering variations in the procedure. _____________ Varying process steps are not covered, which is a possibility within Exploratory Testing. Exploratory Testing is a possibility if testers with sufficient test knowledge are available. Normally, this requirement would be sufficient. However, the hydrographic field is very specialized and limited subject matter knowledge used to be available. To confront these difficulties, an end-user is involved in the execution of tests. For the first business process there structured tests were already performed. ___________ These two conditions were the starting point to use the technique. Page 4 of 7 Whitepaper | Exploratory Testing > Results In a time span of 2 hours, 11 findings in total were reported. For the related subsystem a total of 52 findings were given a priority to Exploratory Testing. These findings have come up during a completed Functional Acceptance Test (FAT) and User Acceptance Test (UAT). Both took approximately 2 days, the FAT is performed by one person and another three end users were involved in the UAT. Effectively Exploratory Testing yielded a findings frequency of 11 findings/4 man-hour = 2.75 findings/man-hour. This calculation is accurate because the entire time is effectively spent on the test itself. If the preparation time for the test charter is included as well, this results in a frequency finding of 11 findings/4.5 man-hour = 2.44 findings/man-hour. For the previous period of structurally testing, a calculation can also be made, but it is less accurate. Here, the findings frequency is 52 findings/60 man-hours = 0.87 findings/man-hour. There is a factor of 0.75 used for the time actually spent. In this calculation, the time required for the preparation and reviewing of the Software Test Description (STD) is not yet included. If this is set at two man-days, the findings frequency is reduced to 0.68 findings/man-hour. _____________ For the previous period of structurally testing, a calculation can also be made, but it (Translation graphics: red = number of findings per man-hour, excluding documentation, purple = number of findings per man-hour, including documentation) is less accurate. _____________ Page 5 of 7 Whitepaper | Exploratory Testing > Dividing both findings frequencies yields a factor of 2.75/0.87 = 3.16 (excluding documentation) and 2.44/0.68 = 3.59 (including documentation). It seems that Exploratory Testing is more effective than the tests that were previously performed. This may be stated because the differences in the two calculations should be more than this factor, which seems unlikely. The effect of the time required for documentation can be distinctly seen in the second calculation. This ensures the stronger decrease of the effective findings frequency of structured testing than of Exploratory Testing. In this calculation, we only took the number of findings into consideration, but not yet the nature of the findings. Eight of the findings from the FAT and UAT were classified as 'blocking' or 'major' against three in the Exploratory Testing session. This results in the following findings frequencies: 3 findings/4.5 man-hour = 0.67 findings/man-hour and 8 findings/76 man-hour = 0.11 findings/man-hour. It has to be noted that two of the findings were caused by regression. If these are excluded from the calculation, _____________ Exploratory Testing remains to be twice as effective. Regardless of this, if Besides the number both methods have to be equally effective, the structured tests, in this of findings, we take specific case should yield more than 16.8 times the number of findings (76 at the nature of the spent man-hour versus 4.5 spent man-hour). It may be stated that this findings into situation is highly unlikely. consideration. _____________ Page 6 of 7 Whitepaper | Exploratory Testing > Conclusion Comparing the results of Exploratory Testing and structured testing shows that if Exploratory Testing is used, the number of findings per man-hour spent is more than three times higher. This observation is based on 76 hours spent in structured testing against 4.5 hours spent in Exploratory Testing. This means that in Exploratory Testing 1/3 of the number of hours spent is sufficient to find the same number of findings. However, there are multiple sessions required. This makes Exploratory Testing a lot more effective than structured testing. After reporting the results of the session, the head of the Technology & Development department asked a simple but powerful question. "Nice email, why don’t we always use Exploratory Testing?" Of course, it is true that Exploratory Testing cannot be applied in all situations. For instance, in the case of the testing of high-risk functionality or when standards require the provability of tests performed. If the conditions of Exploratory Testing are met, it may prove to be a very effective way of testing. _____________ This means that in Exploratory Testing 1/3 of the number of hours spent is sufficient to find the About TriOpSys same number of TriOpSys is specialised in designing, building and managing mission critical IT systems, which are software systems that may never be offline. Examples of these software systems are traffic and emergency centers (on findings ____________ land, water and in the air), bulletin call centers, command centers, command and control systems. Our services cover three fields of expertise: IT Consultancy, Software Development and Mission Critical Services, in three domains: Traffic Management, Defense & Aerospace and Public Order & Safety and Security. Do you want more information about this whitepaper? Or are you looking for advice? Please contact us at: info@triopsys.nl ++31 346 – 58 17 80 www.triopsys.nl Page 7 of 7