SPA Conference session: Awesome Acceptance Testing | |||
One-line description: | |||
Session format: | Tutorial (150 mins) [read about the different session types] | ||
Abstract: | Acceptance tests are a lot more than traditional regression tests. They help to provide a shared understanding of what the system should do and when requirements are considered done. They are written in a way that describes intent by example, and can be created before the implementation, helping: * Project owners clarify vague requirements. * Developers understand and implement these. * Everyone focus on what 'done' means. This session covers: * The value of acceptance tests and how they differ from, yet complement, unit tests and end-to-end regression tests. * The multiple factors of acceptance tests and the limitations of using a single testing tool. * Approaches for creating executable 'specifications' in a form that makes sense to the customer. Such as: custom domain specific languages, FIT, Java, Ruby, etc. * Designing and evolving a vocabulary that can be used for expressing intent. The UI is in a different domain to the world it's manipulating, so 'click link' is not enough. * Determining which layers to hook into (UI, web, database, domain model, network, etc) and effectively using tools that enable this automation. * Working with acceptance tests in agile development cycles where requirements, code and understanding are constantly evolving. * Preventing test staleness and brittleness. This tutorial will help you start applying techniques for acceptance testing to your project immediately. | ||
Audience background: | Primarily focussed at developers and testers. Experience with automated testing techniques (e.g. unit testing) and exposure to agile methods may help - though is not strictly necessary. | ||
Benefits of participating: | Attendees should leave this session with knowledge of: * the benefits of acceptance testing. * selecting appropriate tools they can leverage for their project. * simple steps to introduce to their project and get immediate value. * improvements that can be made to their existing test process/infrastructure. * a long term goal of how to make acceptance testing a core part of their project life-cycle. | ||
Materials provided: | n/a | ||
Process: | Tutorial. | ||
Detailed timetable: | [Part 1] Overview 00:00 - 00:20 (20mins) -> Intro to acceptance testing. 00:20 - 00:40 (20mins) -> The key factors of acceptance testing. 00:40 - 01:00 (20mins) -> End to end walkthrough of the process, using an example. 01:00 - 01:15 (15mins) -> Half time Q&A. [Part 2] Details 01:15 - 01:35 (20mins) -> Choosing and using the right tools. 01:35 - 01:55 (20mins) -> Writing good acceptance tests. 01:55 - 02:15 (20mins) -> How to introduce the techniques into a running project. 02:15 - 02:30 (15mins) -> Full time Q&A. | ||
Outputs: | n/a | ||
History: | An early version of this was presented at a conference last year. We got lots of great feedback and lots of interest since then, so we have refined the session and added more relevant content. | ||
Presenters | |||
1. Joe Walnes |
2. Dan North ThoughtWorks |
3. |