Is Exploratory Testing a core part of Agile Methodology? Or it has no link with Agile process?
I think exploratory testing is one of the (agile) skills you can use in an Agile team to increase quality, but it is not an essential part of the Agile workflow. Though I think its slowly becoming a industry standard. Revised books like the Art of Agile and newer books Agile testing are giving it their own chapter. This clearly means its a technique worth adding to the arsenal of a Agile workflow.
Make sure you time-box the sessions and not drag yourself down in long adhoc manual testing sessions. Identify tests that need to be automated within the itteration. Without a good coverage of automated tests its very hard to be Agile.
Also read James Bach's "What is exploratory testing?" blog
Is Exploratory Testing a core part of Agile Methodology? or it has no link with Agile process. Kindly explain in detail!
Let's look at what each one of these things is and then see how they might go together.
- Exploratory testing is an approach to testing. You can use any test technique in an exploratory or scripted way but the important thing about exploratory testing is that you are continuously learning, updating and applying what you learn as you test. To learn more go here.
- The Agile methodology as described by Wikipedia says it "promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change."
Based on these definitions do you think there's a link? They both sound like they encourage flexibility and continuous improvement to me. Of course this all depends on how you and your company use Agile practices.
Janet Gregory most famously known for writing one of the go to books of our time on Agile Testing, Agile Testing: A Practical Guide for Testers and Agile Teams, Defined the Agile Testing process in a presentation i recently watched found here on skills matter.
Project Initiation: Get an understanding of the project(business)
Release/Project Planning: Participate in sizing stories && Create Test Plan
Each Iteration: Estimate tasks, Run regression tests, Collaborate with customers on acceptance tests, Write/automate/ execute new story tests, pair with test with other testers and developers, perform exploratory testing.
System Test / End Game: Perform Load Test, Compete Regression Testing, Perform UAT, Perform Mock Deploy, Participate in release readiness.
Release to Prod/ Support: participate in release to prod. participate in retrospectives.
So i would say yes as part of the Agile work flow exploratory is present. In my personal opinion the training in which we gain skills each time we tackle a new project in terms of testing is in it self exploratory testing. We learn from experience as Agile Testers and no one can learn without exploring and developing new "Modals" to apply in future test projects.
Following are the ones that immediately comes to my mind when I think of Agile Methodology.
Good Automation coverage
Follow Sprint model.
Mandatory Code Review by peers.
Well defined Acceptance Criteria
CI / CD Model to take care of continuous integration / deployment
One push deployment
Exploratory Testing being a purely manual exercise, don't think, it might be included as a part of Agile Methodology. Please correct me, if am wrong about this understanding.