Imagine pushing a button and knowing within minutes that your entire system works to its specifications. You can turn around and ship or deploy that release without fear of defects. Imagine hearing your boss say, "This is wonderful, this is exactly what I wanted!" every week.
Acceptance Testing is the Holy Grail of software development. It offers solutions to the most challenging part of software development: Defining what a piece of software is supposed to do and making sure that it does that thing. They are the contracts of software development.
The truth is, it's hard to do. Really hard. It takes a committed team to write and maintain an acceptance testing system throughout the lifecycle of a software project.
We've been through it. We've tried and failed and tried again and again with increasing measures of success to bring software systems large and small under automated acceptance testing. In this course, you'll learn from our experience and walk away with the tools and know-how to begin your own journey of acceptance testing in your projects.
Who Should attend?
- Developers who've had a hard time negotiating scope with project managers
- QA Professionals wanting to reduce the redundancy in their jobs
- Developers who want to be able to confidently ship or deploy their projects
- Contract developers who have a hard time defining the meaning of "done" with their clients
- Team Leaders who want to move an entire organization towards acceptance tests
Because of the course, you will be able to:
- Use acceptance tests to define and negotiate scope
- Understand the purposes of acceptance tests
- Choose the right test systems and tools for your application
- Use the FitNesse acceptance testing framework
- Write test fixtures with "SliM" Test runner technologies in a variety of languages and platforms
- Get started building acceptance tests for your current system
- Negotiate the team dynamics around Acceptance Test
About the Instructor:
Doug Bradbury is a software craftsman with 8th Light with extensive experience in automated acceptance testing. He has used FitNesse to test the wide range of systems he's worked on including embedded systems, desktop applications, and web applications.
Doug has contributed to the open source FitNesse effort and co-authored the C/C++ implementation of SliM (CSlim). He's also done work on RubySlim.
Doug has taught software testing practices with No Fluff Just Stuff (NFJS) and Renaissance Software Consulting and mentored several apprentices and 8th Light partners in software testing practices.
- Why Acceptance Tests (ATs)? What are they? Just what are we trying to accomplish?
- How do they fit in with regression testing, black box testing, unit testing, integration testing?
- AT ecosystems / Tools survey
- Test Frameworks
- Automation Libraries
- Fitnesse and SliM
- Language options: C / C++ / Java / .Net / Ruby / ...
- AT patterns and methods
- FitNesse - Hands On Tutorial
- SliM fixtures
- decision tables
- query tables
- script tables
- Well crafted tests
- Minimizing duplication
- Making tests robust
- Making tests fast
- FitNesse Tutorial continued
- contributing back to FitNesse
- !see suites
- iteration tracking
- feature tracking
- integration with source control systems
- integration with continuous/automated build systems
- Tutorial - FitNesse Integration
- Hudson CI and FitNesse
- output formats
- test runners
- At and Teams
- Just whose responsibility is it?
- Integration into Agile planning / estimating
- Using ATs to control and negotiate scope
We will start with an existing system and build a suite of acceptance tests for it. Class participants will serve in a variety of roles throughout the immersion.
- Test a simple existing system with a couple of stories already implemented
- Write tests for next iteration of stories
- Make the fixtures compile
- Implement the features to make the tests pass
Cancellation Policy: Cancellation will incur a 5% fee. Any cancellations after February 23,2010 are non-refundable. However, you may transfer your registration to another student. Please send approval via email (firstname.lastname@example.org) prior to February 23, 2010. No-shows are liable for the full registration price.
When & Where
8th Light, Ltd.
8th Light is a London, Chicago, and Los Angeles-based Agile software development company with expertise in a variety of programming languages that writes beautiful applications for your web, mobile, and embedded projects. 8th light also offers apprenticeships to push the limits of knowledge in software development.