Subscribe by Email

Monday, January 21, 2013

How is test execution done by Fitnesse Testing Tool?

FitNesse testing tool based on the integration testing frame work is now widely used for acceptance testing more than unit testing since it has the ability to facilitate a description of the function in a detailed manner. 
In this article, we shall discuss about how the execution of the tests is carried out using the Fitnesse testing tool. 
The testing process using the fitnesse testing tool involves 4 major components for every test:
  1. Wiki page that is used to express the test in the form of a decision table.
  2. A testing engine for interpreting this wiki page.
  3. A test fixture that is invoked by the engine and itself invokes the SUT or system under test in turn.
  4. SUT(system under test) that is currently under test.
- Out of the above 4 mentioned components two are produced by the software development team namely the fixture and the wiki page. 
- The team produces the system under test but it is not considered from the point of view of the black box test.
- Decision tables which express a test are included in the wiki page.
- The test fixture is the link that is made between the SUT and the generic testing through a piece of code written in java. 
- Mapping that is done between the fixture and the wiki page is an example of simple convert – to – camel case mapping. 
- Such kind of mapping is applicable to almost all the headings and is used for the identification of the name of the class of the fixture and its methods as well. 
- Whenever a heading ending is encountered, its value is to be considered to be read from the fixture while values from the other headers are considered as input for the fixture.
- The column order of the table i.e., left to right order is followed for calling the methods of the fixtures. 
- Testing engine is the component that actually carries out the mapping process. 
- It also invokes majority of the fixture methods. 

What kind of engines are supported by Fitnesse Testing Tool?

Two types of engines are supported by the fitnesse testing tool:

The FIT Engine: 
- This is more like a frame work rather than just being an engine. 
- It carried out the following purposes:
a)   It combines the functionality for invoking the tests,
b)   Interpretation of the wiki pages,
c)   Generation of the output pages.
- This engine was named so because the tool originally developed around this. - This engine works by combining the responsibilities rather by separating them.

The SLIM Engine: 
- SLIM stands for simple list invocation method and is used as an alternative to the FIT engine. 
- This engine implements the slim protocol. 
- Like FIT, SLIM does not combine all of the elements of the wiki – based testing, rather its focus is on invocation of the fixture. 
- This engine works as a separate server that is invoked by the fitnesse wiki engine remotely. 
- Simple POJOs like light–weighted fixtures are allowed by this engine. 
- These fixtures neither use any frame work classes nor extend it. 
- This leads to a simplified design thus allowing the designer to focus up on the call of the SUT properly and in as simple way as possible.
- This also keeps the ways for inheritance open, thus allowing the fixtures to be developed whenever necessary. 
- Inputs and expected output are coupled together to form the tests described in Fitnesse. 
- These couplings are considered to be a kind of variation of the tables. 
- A number of such variations are supported by the Fitnesse testing tool.

No comments:

Facebook activity