It is my belief(and shared by many others at the conference) that no development/testing practice is not without it’s flaws. One of the main items found in the agile world that seems to be lacking as the direction is moved towards more developer centric automation is the lack of Exploratory testing. Automation is very useful and not to be disregarded as it drives reliability and efficiency of testers during periods of regression and code change.
What the above should relate to than is, through increased efficiency in the test efforts, testers should actually have more time(and should use that time) for exploratory testing. The value with Exploratory testing is that there cannot and will never be a 100% requirements coverage + automative coverage to handle all scenarios of dynamic applications. Even if theoretically possible the time spent would be exponential and would give very little ROI.
Time spent on Exploratory Testing will help drive Quality and Requirements to become more stable and reliable. By spending a few hours whether it be a day/sprint/test cycle to go above and beyond the pre-determined test scenarios to do things that the general user would not do, to try and “break” the application/service can help discover not necessarily new “bugs” but missing requirements that would not normally been thought of. This way through this testing method, you can push forward an enhanced set of requirements that feeds better code delivered by the developers.
As we rely on Automation more and more, I believe we must never forget that as long as we are building a user experience, there will always be a need for User Patterns, and as we all know, users are unpredictable, random, and unquantifiable.
* Training Held by Jonathan Kohl, Kohl Concepts Inc.