Subscribe by Email


Showing posts with label Engine. Show all posts
Showing posts with label Engine. Show all posts

Wednesday, January 23, 2013

What kind of testing engines are supported by Fitnesse?


Fitnesse testing tool is typically a testing method designed for providing a highly usable interface around the frame work called FIT. Therefore, it is mostly intended to support the agile style of regression testing and acceptance testing. In this style of regression and acceptance testing, all the functional testers collaborate together with the developers in order to come up with a good testing suite. 

- Fitnesse testing revolves around the idea of the black – box testing. 
- The system under test is taken to be a black box. 
- Output generated in response to the already defined inputs is used to perform tests against the considered black box.
- The job assigned to the functional tester is to design the tests in function specific sense and use fitnesse testing tool to express them. 
- On the other side a software developer is assigned the job of making a connection between the SUT and the Fitnesse tool so that the execution of the tests can take place and the two outputs could be compared. 
- The basic idea behind this whole testing process is to develop a forced collaboration among the developers and the testers so that the mutual understanding of the system’s requirements can be improved.
- Four components constitute the testing process through fitnesse namely:
  1. A wiki page
  2. A testing engine
  3. A test fixture
  4. System under test

Types of Testing Engines supported by FitNesse

- A piece of java code is used to establish a link between the SUT and the generic testing engine.
- Testing engine is responsible for carrying out most of the mapping and invoking the fixture methods. 
- Two engines are majorly supported by the fitnesse testing tool:

FIT Testing Engine 
- This engine serves more than just a testing engine. 
- It is more like a testing frame work in itself that makes use of a combination of functionality for invoking tests; carry out an interpretation of the wiki pages and generation of the output pages. 
- This is the testing engine around which the testing engine was built originally to serve initially as a user interface.
- And this is the story behind the name of the tool ‘fitnesse’. 
- This testing engine combines a number of responsibilities in to one unlike others that divide one responsibility in to many smaller ones.
- But software developers need to pay price for this since in this an FIT engine requires an inheritance from the base classes of the FIT frame work.
- However, java counterpart can experience some sort of difficulty since one chance of class inheritance of a developer is claimed by the frame work. 
- This also coveys a fact that the test fixtures are actually heavy weight constructs in nature. 
- Because of these considerations only, it was decided to adopt an alternative to FIT testing engine called SLIM testing engine.

SLIM Testing Engine
- Simple list invocation method is abbreviated to SLIM and serves as the best alternative to FIT testing engine. 
- It does not focuses on the combination of the wiki – based testing elements rather it emphasizes up on the invocation of the testing fixtures. 
- Unlike the FIT testing engine, it is invoked under the remote control of the Fitnesse wiki engine and then runs as an individual server. 
- Interpreting a wiki page and generating its result is now considered to be a part of the wiki testing engine. 
- Further the light weighted fixtures are allowed in the SLIM testing engine, which are nothing but simple POJOs. 
- One does not need to extend the fixtures or put any other frame work classes in to use. 


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.


Facebook activity