1 / 17

FitNesse

FitNesse. On the Road to Success By Pierre Veragen pierre.veragen@comcast.net. What we will cover today. What is FitNesse? Quick introduction How it works Different types of tables Principles you can use. Fit / FitNesse. F ramework for I ntegrated T esting

sunee
Download Presentation

FitNesse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FitNesse On the Road to Success By Pierre Veragen pierre.veragen@comcast.net

  2. What we will cover today • What is FitNesse? • Quick introduction • How it works • Different types of tables • Principles you can use

  3. Fit/FitNesse • Framework for Integrated Testing • FitNesse, a wiki using Fit • Defining Acceptance Tests, checking that “We are building the right thing” • Creating a feedback loop between customers, testers and programmers • Provides a one-click test environment

  4. Now some Demos • Simple Calculator • Discount Calculator

  5. How it works • The text is interpreted so it can trigger the fixtures that call the System-Under-Test (SUT) • Fit interprets the results and display Pass/Fail in each cell • Proper syntax is key • Not so hard to learn… …after you get going

  6. Table, Fit, and Fixture together Fixture Class Public Class CalculatorAsColFixture Inherits fit.ColumnFixture Public Number1 As Double Public Number2 As Double Private _oSUTCalculator As DemoSUT.SUTCalculator Public Sub New() _oSUTCalculator = New DemoSUT.SUTCalculator End Sub Public Function Product() As Double Return _oSUTCalculator.Multiply(Number1, Number2) End Function End Class Fixture and SUT working together System Under Test Public Class SUTCalculator Public Function Multiply( _ ByVal firstNumber As Double, _ ByVal secondNumber As Double) _ As Double Return firstNumber * secondNumber End Function End Class The Actual Page

  7. What we will cover today • What is FitNesse? • Quick introduction • How it works • Different types of tables • Principles you can use

  8. Different Types of Tables • The most common: • ColumnFixture, when a test case can be expressed in a row with input/outputs • RowFixture, when checking a list • DoFixture, when doing • Actions alone • Do, Column, and Row fixtures together • And many more • ActionFixture, an old and limited DoFixture > stay away from it

  9. Examples - Testing • Column-based, could not find one • Do fixture as actions • Do Fixture as test driver, our preferred way • Let the fixture generate all the combinations Avoid these: • A laundry list page • Just tables, what is the purpose of the test? • A page that does everything

  10. Examples – Documentation • A page as “Executable Requirement” • A FitNesse page is a good way to hold current documentation, accessible by everyone

  11. What we will cover today • What is FitNesse? • Quick introduction • How it works • Different types of tables • Principles you can use

  12. Principles, related to fixtures… • Fixture should be as thin as possible • No code duplication in fixture >>> all good coding practices apply • Use business domain words for all public members displayed in pages >>> Ask the business people or let them drive.

  13. Principles, related to pages • Most maintenance is going to be on the pages not the fixtures, if well designed • No table duplication >>> use the “!include” syntax to share a page among other pages • Use business domain words • Keep the page focused and simple

  14. Some parallels

  15. How to get help • FitNesse on the webhttp://fitnesse.org/ • Yahoo Grouphttp://groups.yahoo.com/group/fitnesse/ • Fit Web Sitehttp://fit.c2.com/ • A great book “Fit for Developing Software” with its samples http://www.vlagsma.com/fitnesse/ • Ask others

  16. Others have been busy Fixtures: • http://fitnesse.org/UsefulFixtures Environments: • http://benefit.sourceforge.net/ • http://fitpro.sourceforge.net/ • http://ase.cpsc.ucalgary.ca/ase/index.php/FitClipse/FitClipse • http://sourceforge.net/projects/profit

  17. Some advice to get started • Use a scout and get help • Work as a Team • Test pages should look simple and straight to the point • Focus on expressing the intents (requirement) and the corresponding acceptance tests • Accept the fact that you will refactor page structure and fixtures Better sooner than later

More Related