Agile teams invest heavily in automated functional tests. When done well, this investment is paid back with fast feedback enabling teams to release software quickly and often. By structuring tests in the right way, teams can further leverage this investment by using these tests as a platform for exploratory testing that could find issues a regression test suite won't.
This talk will cover the process and cost benefits of creating automated tests that can be reused to support exploratory testing. Concepts and practices will be described within the context of a mature agile delivery team. It will provide an overview of current practices for automated functional and exploratory testing within agile teams. The main focus of the talk will be to provide an overview and demonstration of techniques that will allow testers to utilise existing automated functional tests to support exploratory testing. The benefits of this approach such as; reducing the time needed for exploratory testing, increasing exploratory testing coverage, improved repeatability when reproducing bugs and improved robustness of your automated functional regression tests will be reviewed.
3 minWill be presenting this at Eurostart.Feedack appreciated.Andy KempStarted testing 15 or so years agoJoined TW 6 years ago.Works as a tester and project manager.Now product manager.
5 minDefined by the Context driven school.To test well you can’t separate out test design and execution.Exploratory testing is about learning about the application and learning about testing while executing tests.Freedom to discover important information about an app.Essential in today’s world where people expect there applications to be usable and stable.
5 minMachines can do repetitive tasks quicker than humans.About checking. Takes its input from testing. You test a hypothesis, once you have proved or disproved it you should automate to check this stays the same.Automation can allow you to quickly check that the basic functionality of you application has not regressed.Essential in today’s world when you need to release continuously.
3 minToolsDrivers (selenium,webdriver, sahi, watir)Frameworks/Executable requirements (cucumber, concordian, fitnesseetc)Twist. Which I will use in my demos, as this is the tool I am most comfortable withPatternsBDDATDDPage object
2 minCollaborative, iterative developmentValues automated and exploratory testing
2 minA Common pattern I see is.Automate then explore“automation frees testers to carry out manual exploratory testing”Often described as orthogonal activities.There is nothing to say that exploratory testing can’t be automated.
2 minAutomation is expensiveManual testing is expensive
3 minLeverage you automation to save time exploringFeedback into your tests, continuous improvement of test designYou probably already do some of this in your teamsAs a community we should be sharing patterns and practices in this area
2 minEfficiency of exploratory testingRepeatability of bugsFeedback loop into automationBetter test, better test code
10 minIts important to structure your tests well.Building blocks to quickly generate new test scenarios.Demo in Twist
5 to 10 minuteMix up manual and automated steps in a single test.Why waste time manually running steps you have already automated?Set up your app to where you want to manually exploreDemo in Twist
5 to 10 minMake you tests data driven where it makes sense.It should be easy to switch data and rerun the test over and over as you think over new ways to stress the systemDemo in Twist
3 minTest maintenance is importantYour test suite must be modular and well maintained for this to work.Set up and tear down to return your system to a happy state.AlanTitchmarsh talks about the coffee cup gardener. Every day spend half an hour in the garden with a cup of coffee helps keep the garden maintained.You can do this with you test suites, get a coffee, poke around, tidy up the odd test.
3 minYou need to easily access the right test at the right time.Organise with tags or folders so you know where to look for different types of tests.Find tests and use them as spring boards for new ideas.Check results won’t trigger the same kind of thinking
5 minsWell written tests, DSL etcIf your tests represent your domain, using them as building blocks will be easier
2 minSum upThis is just to get you thinking and asking the questionsWhat can you leverage on your project to support your exploratory testing?Some examplesPete Houghton – Guardian blog about automating tests on their APIs in an exploratory test.Lisa Crispin sometimes Tweets about thisAny more I unearth before the conferenceWhat do you do?