45 lines
3.7 KiB
Plaintext
45 lines
3.7 KiB
Plaintext
!***< variables
|
|
|
|
!define REGRACE_LINK {true}
|
|
*!
|
|
!1 !c FitNesse User Guide
|
|
!c Robert C. Martin,
|
|
!c Micah D. Martin,
|
|
!c Patrick Wilson-Welsh &
|
|
!c FitNesse contributors
|
|
----
|
|
!3 Table of Contents
|
|
* [[Introduction][#introduction]]
|
|
* [[Working with the FitNesse wiki][>FitNesseWiki]]
|
|
* [[Writing Acceptance Tests][>WritingAcceptanceTests]] (jump directly to [[Fit][>WritingAcceptanceTests.FitFramework]] or [[Slim][>WritingAcceptanceTests.SliM]])
|
|
* [[Administering FitNesse][>AdministeringFitNesse]]
|
|
* [[Plugins][.PlugIns]]
|
|
* [[Quick Reference Guide][>QuickReferenceGuide]]
|
|
* [[Full Reference Guide][<FitNesse.FullReferenceGuide]] (takes some time to load)
|
|
|
|
!1 Introduction !anchor introduction
|
|
|
|
FitNesse is a tool for specifying and verifying application acceptance criteria (requirements). It acts as a bridge between the different stakeholders (disciplines) in a software delivery process. Its wiki server makes it easy to document the software. Its test-execution capabilities allow you to verify the documentation against the software, ensuring the documentation remains up to date and the software is not facing regression.
|
|
|
|
For this to work, the tests should be defined on a business level, in conjunction with business representatives. They are basically business requirements, laid out in a way easy to understand by all stakeholders. When your requirements are unambiguous, they can be automatically verified with your application.
|
|
|
|
To make it easy for all stakeholders to interact with FitNesse, requirements can be created and edited through the web browser. It's a wiki! By writing specifications (also known as [[Acceptance Tests][>AcceptanceTests]]), you can create a common understanding among the team (coders and non-coders). This helps tremendously in [[delivering the right system][>DeliveringTheRightSystem]]. Specifications can be written in wiki syntax or in a rich text editor, so no knowledge of the wiki syntax is required.
|
|
|
|
Because the specifications can actually be executed, FitNesse provides a method to demonstrate even to non-coders that the application works as designed. This can prevent problems leading to [[Project Death by Requirements][>ProjectDeathByRequirements]]. The goal is for FitNesse to operate at a level just ''below'' the user interface level, demonstrating that, given various inputs to your application, the correct results are computed. In a sense, you could consider it an alternative user interface for the application.
|
|
|
|
Convinced? Have a more in-depth look at how FitNesse works in our [[Two Minute Example][>TwoMinuteExample]]. [[Download and install][http://fitnesse.org/FitNesseDownload]] FitNesse on your machine, if you haven't done so already. Then learn how to [[work with the FitNesse wiki][>FitNesseWiki]] and [[write Acceptance Tests][>WritingAcceptanceTests]].
|
|
|
|
!3 Brief history
|
|
FitNesse started as an HTML and [[wiki][http://wiki.org/wiki.cgi?WhatIsWiki]] "front-end" to [[FIT][http://fit.c2.com/]] ("Framework for Integrated Testing") back in 2001.
|
|
|
|
!*** From the [[Fit website][http://fit.c2.com/]]:
|
|
|
|
Great software requires collaboration and communication.Fit is a tool for enhancing collaboration in software development. It's an invaluable way to collaborate on complicated problems -and get them right- early in development.
|
|
|
|
Fit allows customers, testers, and programmers to learn what their software ''should'' do and what it ''does'' do. It automatically compares customers' expectations to actual results.
|
|
|
|
*!
|
|
Interestingly both the wiki and Fit were developed by Ward Cunningham, and you can read about them both on Ward's [[c2 wiki][http://fit.c2.com/]].
|
|
|
|
Nowadays FitNesse is a comprehensive tool, supports multiple test systems, and has been used for many software and even hardware projects.
|