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:
- Wiki page that is
used to express the test in the form of a decision table.
- A testing engine for
interpreting this wiki page.
- A test fixture that
is invoked by the engine and itself invokes the SUT or system under test
in turn.
- 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:
Post a Comment