Monday April 29, 2013
While Exploratory Testing is not an uncommon methodology used for discovering bugs, rarely it is convened as a comprehensive testing approach. In this article, we have discussed some methods on how to effectively utilize this testing approach in agile environments.
Though some testers may use the term adhoc testing instead of Exploratory Testing, it is not right to do so. Ad hoc testing, in most cases, means shabby and unorganized testing but Exploratory Testing is far from that.
The concept of Exploratory Testing can be summed up as: simultaneous learning, test design and test execution. So, in this type of testing - a tester interacts with the application, designs/writes test cases, executes them and uses the information/feedback to design next test cases with more clarity.
In exploratory testing, functionalities are checked in a random manner, as opposed to structured testing. A tester investigates and studies the system to coin out the test cases rather than relying on the requirements provided by the business.
When development cycles are short and requirements are constantly changing, exploratory testing may help save precious time and deliver a high-quality product. In an agile environment, testers may find it useless to design/write test cases as tests may soon become obsolete. Also, testers will need to take out time to manage and rewrite such test cases that will subsequently lengthen the testing cycle.
Agile projects need an adaptable testing technique, which will lessen the work that goes into producing artifacts, and increase the actual relevant feedback or information obtained from the system/process. With Exploratory Testing, testers experiment with the application, rather than blindly following the requirements document. A tester can discover how the system behaves, and why/when it crashes to design better and significant test cases.
It cannot be generally said that Exploratory Testing always wins, hands down. It has its own pros and cons. However, when one understands the pitfalls and treads carefully so as to avoid them, Exploratory Testing does become beneficial and crucial.
Testing will be a success only if the tester is skilled and experienced. The tester must be creative and ready to explore beyond the obvious. The tester must also be a quick learner so as to study and understand the system’s behavior.
This testing approach is best suited when iterations are short and there are several changing requirements. When a requirements document is not in place or business analysts are not available to answer questions about a system, exploratory testing can prove quite useful.
A project may demand testing automation tool and scripting for repeatability and efficiency in which case, Exploratory Testing cannot replace scripting. It is important to balance both approaches and implement them as and when the need arises.
Finally, it is most important to keep track of what has been experimented, tested and learnt during Exploratory Testing so as it make it a success.
To experience Exploratory Testing, Download TestingWhiz Now!