Course: Fitnesse Workshop (2 days)

Target audience:
Analysts, testers, programmers
Class size:
12 to 24
Prerequisites:
None

Fitnesse combines the ease of use of a Wiki with the power of being able to define acceptance tests via a series of tables (known as Fit tables). Fitnesse tests can act as the negotiation point between programming and the business.

This course covers both Fitnesse fundamentals and advanced Fitnesse techniques for an immersive learning experience. You'll visit and understand most of the feature set that Fitnesse has to offer.

You'll also learn how to best express requirements in Fitnesse. Fitnesse contains numerous features that can help you turn a jumble of a test into a flow that anyone in the organization, including non-technical domain experts, can readily understand.

This is a hands-on course, where students learn to build their own working Fitnesse tests. Note that this is not a programming course and does not teach how to program fixtures. The Fitnesse Programming Crash Course provides hands-on experience in building custom Fitnesse fixtures.

The Fitnesse Workshop is currently offered for both C# and Java environments. We can also build support for C++ and Ruby classes if you're interested!

Topics

Fitnesse overview
The Fitnesse innovation: Wiki + FIT
Editing test pages
Running Fitnesse tests
ColumnFixture
RowFixture
Suites
Graceful names
SetUp, TearDown, and !include
Test data concerns
Table flow
Annotating test pages
DoFixture
Determining the appropriate fixture type
Test design
Organizational considerations
  Wiki hierarchies and test suites
  Navigating the hierarchy
ActionFixture, SetUpFixture
Row fixture arguments
Row matching nuances
Specifying row order
Errors and Exceptions
!contents flags
Determining the appropriate fixture type
Designing succinct and expressive fixtures
Aesthetic considerations
Graceful names
Collapsible sections
Eliminating duplication
Test naming guidelines
Test data concerns
Table flow
Annotating test pages
Markup variables
Using fixture templates
Using key fields to correlate data
Refactoring Fitnesse pages
Using SLIM
  FIT vs SLIM
  Decision tables
  Query tables

Pricing / Details