Exploratory Testing
To me, Test automation is not a new practice @ industry. Most software teams are trying to automate testing (either unit or system) in some way or another, especially as a replacement for long, manual regression testing cycles.
As per Wikipedia, the definition as "In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes."
Question is "What does this mean to QA associate?"
We all knew that there are few advantages on executing Test Automation in the software life cycle as:
- Time: Time to execute is faster.
- Quality: Error prone on comparison with human effort.
- Cost: After the development, the maintenance cost is minimal for test automation.
- Consistency: Test automation shares almost no deviation on running over and over again.
Oops. Does it really threat to QA job role? Itz an interesting question to ask. Good news is "Checking is not the effective Testing".
At the 2015 OnAgile conference, Elisabeth Hendrickson made a very useful distinction when she described what automated tests do: they check functionality, but checking alone does not add up to testing. Ref: http://www.agilealliance.org/programs/onagile-virtual-conference/
In Test Automation mode, the creator writes the known validation scenarios and itz getting executed again and again. Logically, itz kind of dumb.
Intelligent comes from the human being i.e. efficient QA associate. Fundamentally, humans outperform computers at every time in 2 aspects:
- Creativity
- Learning.
Itz termed as 'Exploratory Testing' i.e. as QA associate explore the system, the validation scenarios are getting matured to cover the better conditions. Elisabeth points out that these observations we make help us learn about what we should test, which will inform the experiments we make the next time we test something. The main diagram explains the relationship between exploratory testing and test cases in the wave format.
Elisabeth Hendrickson offers a better description: "Exploratory Testing is simultaneously learning about the system while designing and executing tests, using feedback from the last test to inform the next."
Every time QA find a new bug, they could automate a check for it. That way, you won’t have to check for it manually again and can rather focus on finding other vulnerabilities. Itz 'Continuous' process like Continuous development, Continuous deployment, Continuous integration, etc.
To me, Test automation is the complementary for QA team to take care of the repetitive checking, where often stuck with. It will create the space to leverage the human intelligence and creativity to explore new better ways to test the system. Ultimately, Exploratory Testing improves the quality of the testing result and yields the innovative process to execute.
At this junction, I would like to share ThoughtWorks VodQA (Value Oriented Discussion on Quality Analysis) forum on 31 Oct at ThoughtWorks Chennai office. The forum offers a unique platform within the software testing industry to strengthen QA community through knowledge sharing.
Agree with your statements for Exploratory Testing. In my opinion each QA should be asked to do some days of Exploratory Testing and it should be part of the QA Testing Cycle. This will help to uncover some hidden defects which may not be covered with regular TC activity or Automation activity.