Exploratory Testing (ET) approach has gained focus and popularity in recent years. There are more studies and has received professional attention from industry too. I think, ET approach acts like a power to a tester, but power comes with responsibility as well, it’s a great opportunity and freedom for tester to explore and identify areas for quality improvement. Tester has the advantage to demonstrate own skill set, knowledge and experience from different perspectives and help improve the quality of system under test.
You as a curious tester have been using exploratory approach unconsciously in your test activities, just give it a thought.
ET has been known as simultaneous learning, test design, test execution and test analysis — a way to define this approach. Over time, the definition of ET has emerged from an error checking technique to a defined testing approach. You can find all the definitions since 1988 on James Bach blog.
From my personal experience, observations and discussion with ET practitioners, I would like to highlight 6 benefits of using this approach, even though there are many more. These benefits are related directly or indirectly to testers, teams and management.
- Tester’s utilization: Empowering a tester and QA team is key towards achieving high quality products. Why? because they understand the ground reality and can suggest actions towards achieving product quality goal. Tester can contribute right from beginning of development. They get opportunities to utilize personal skills, experience and knowledge. It adds value to their work and motivates them to make valuable contributions toward product quality goals. Testers who are skilled at ET can bring great value to team(s). ET brings freedom and fun to testers daily work and increases the sense of accomplishment.
- Simultaneous learning:
Automated tests can definitely help to execute checks/tests quickly but humans have the unique capacity to connect the dots and come up with different test scenarios. Testers can gain sufficient knowledge from available feature or user documentation and learn further about system behaviour while testing — and try to understand how system may fail at test or production. This way tester can learn, design, execute, improve the test scenario and test at run time understanding the input data and test results. Tester spends more time on testing and thinking or brainstorming about different perspectives along with sufficient defect logs. If you are running Automated Tests then ET can also provide input to it, if those specific exploratory tests can be automated to save testers’ time.
- Less test preparation: ET requires less documentation, I would say tester only need to know the purpose of testing and then he/she can start experimenting with it. It is easy to create ET test charter (an outline of goal or mission for exploratory session). It identifies fields that add values to testing and saves time from extra documentation.
- Rapid feedback: Comparing with the tradition test case based approach, ET approach bridges testers and programmers — and establishes a fast feedback communication channel. Testers can focus and spend time on key areas and provides feedback on quality to do quick and necessary reforms in development. This is beneficial for management to get to know product quality status earlier and faster — and address those areas which require priority and focus. If there are quality risks in architecture or system design then it must be fixed sooner without wasting time and money. This is ideal in Agile environment as well. orking in joint integration test activities ET approach has helped me to focus and test those areas which might be a quality risk as per new or any feature change, and do reasonable bug details documentation. As a part of independent test team it established a robust communication with development team(s). It created trust and more understanding with development team(s).
- Effectiveness in finding critical bugs: There are (though few) empirical studies to determine the effectiveness of ET. But in everyday testing, testers know that besides Automated Tests, testers are exploring and thinking differently to find bugs customer can face. Under controlled environment, it showed that ET is effective in finding bugs of different severities and reveal difficult defects to detect.
- Testing dynamic products: ET is helpful in dynamic product environment when product is unstable, undergoing changes and at early development stage. Since ET approach requires less or no documentation prior to start of test activities and it can quickly bring focus on testing in agile environments.
Do share your own experience where ET has helped you to identify critical areas for quality improvement.
Original image (pixabay.com)