Acceptance Test Driven Development
- 2-day hands on workshop.
- Automated acceptance testing using FIT and FitNesse.
This two-day course explains the concepts of automated acceptance testing using FIT and FitNesse. The focus is to give the attendees the necessary knowledge and hands on experience to get started automating their acceptance and system tests using FIT or FitNesse in their own projects.
The first half of the course is devoted to an introduction to the concepts of automated testing at the system level. The focus is on a better understanding of what testing at the system level means, along with the conceptual framework necessary to write useful automated acceptance and system tests.
There will be some examples using FIT (a full knowledge of the framework is not required). The first half concludes with an introduction to the basics of FIT and FitNesse, which will be necessary during the second half of the course.
The second half is devoted entirely to an hands on exercise so that the participants can get a better grasp of how FIT and FitNesse work in practice. The course can be tuned and refined depending on the needs of the people attending.
Who should attend?
This course is intended for those involved in writing system level tests, whether it be Testers, Developers, Business Analysts or Users. All roles have their part to play in writing system level tests at some time or other:
- Developers who write hooks to make the system testable using FIT.
- Business Analysts and the Users have to define the acceptance criteria for the system.
- Professional Testers charged with ensuring overall system stability and conformance.
- All roles can benefit from understanding how to use FIT to automate some of their system level tests.
What Will I learn
Approximately half a day will be devoted to the practical exercise. An example can be provided, or it can be worked out together with the attendees. Depending on how many developers are in the room, the participants can be split in teams of developers, testers and users. If there are no developers, the instructor can be the developer, and, in that case, all attendees will work together on the same system.
- Synopsis Types of testing and the testing quadrants for Agile
- System level automated testing.
- Acceptance, system, and integration tests.
- The need for automation.
- Ubiquitous language.
- Impact on system design.
- What can and cannot be automated.
- Who writes the tests?
- What needs to be tested? – Choosing your tests.
- Some performance considerations.
- From user story to test.
- Definition of done.
- How to test an user story.
- How to refine an user story using test specifications.
- Introduction to FIT.
- A first example.
- FIT basics.
- Practical exercise: writing a FIT test.
- A first example reworked.
- FitNesse basics.
- FIT or FitNesse? – Advantages and disadvantages of using each.
- Practical exercise: writing a FitNesse test.
- Maintaining your tests.
- The importance of storing the tests with the code.
- Configuration management and version control – FIT example, FitNesse example.
- Practical exercise: write and test a small system.
- Define the requirements.
- Define the acceptance criteria that will lead to the tests.
- Write the tests along with the system.