Tutorial 1 – Introduction to FitNesse Testing Tool

Our recent training series helping many readers to get started and expertise in software testing. We received many request on other testing tools like MySQL, Fitnesse, Skiui tutorials etc.

Today we are starting free training on Fitnesse tutorial for beginners. This will be fitnesse automation tool tutorial in 14 in-depth tutorials. One more time our guest author Aparjita, is helping us for these testing tool tutorials.

We are listing all topics in single page for easy to access. We recommended to access the this testing tool tutorial sequentially for better understanding.

***********************************************

Fitnesse Tutorial For Beginners

Fitnesse Tutorial For Beginners

***********************************************

***********************************************

Tutorial 1 – Introduction to FitNesse Testing Tool:

FitNesse testing tool is an open source testing tool used to conduct acceptance testing. Acceptance testing is a black box testing or functional testing. It used to evaluate the system’s compliance with the business requirements. It verifies that the software is behaving up to the expectation of the end user. An open source project source code not owned by any organization. However information about this testing tool shared on the FitNesse community. This tool widely used for acceptance testing in the field of web, GUI, database and software behavioral testing.

This testing tool also used as web server to build information base for a software project or an organization wiki. Building such wiki pages are very simple and they require very low learning curves. It help making this tool as a comprehensive collaboration tool.

This tool is based on Ward Cunningham’s Framework for Integrated Test. Ward Cunningham is an American computer programmer who developed the first Wiki and designed such framework for wikis. FitNesse testing tool used as an acceptance testing tool as well as a collaboration tool for building Wiki. This acceptance testing tool allows users to enter specially formatted interpreted input and tests are generated automatically. These tests are executed by the system which returns the output to the user. If the output result matches with the expected output, it indicates with the green color. If it doesn’t matches then it is indicated by the red color on the FitNesse test page. This approach provides a very fast feedback about the system to the users. We are going learn in detail about such testing using FitNesse later in this tutorial series.

JAVA programming language used to develop FitNesse testing tool. However over the period of time, now it is also available in other programming languages such as C++, Python, Ruby, Delphi, C#, etc. This tool serves below purposes; let’s understand these purposes in detail.

FitNesse as a collaboration tool/Wiki:

It’s a wiki web server which used to build a number of static web pages. These wiki pages with valuable pieces of information on them can be linked together to provide a static website. It makes it an excellent tool to collaborate with, for example, business stakeholders. Such Wiki is very useful to gather valuable information at one place which can be quickly navigated through wiki pages and accessed quickly. Not only this, by using the FitNesse server, but we can also modify or remove the existing piece of information with ease when needed and it does not require the stop and start of the server. This makes the overall maintenance of the information on the wiki pages very comprehensive.

FitNesse as a software testing tool:

It involves four components per test as follows. We will understand each of these components in detail with an example later in this tutorial series. First, the component is the wiki page where tests are expressed in the form of the decision tables. A testing engine to interpret the above wiki page. There are two types of testing engines as supported by the FitNesse testing tool. Summaries for both of these testing engines are given below. Test fixtures that are invoked by the testing engines. Testing engines, in turn, invokes the system under test. The output page for the system under test displaying the test results. This tool supports two engines known as the FIT engine and the SLIM engine. Below are the summaries for both of these testing engines.

FIT testing engine:

FIT engine is a testing framework. It combines the various functionalities to invoke tests, interpret wiki pages, and generate output pages. Fixtures in FitNesse are defined as the JAVA classes which for the FIT engine must inherit from FIT framework base classes. This design in JAVA is a heavyweight construct as the framework claims a developer’s one chance at class inheritance. To overcome such construct the FitNesse team in recent years has formulated an alternative approach and moved to the SLIM testing engine.

SLIM testing engine:

SLIM stands for the Simple List Invocation Method which is an alternative to the FIT testing engine. It is an implementation of SLIM protocol. In such a construct, instead of invoking all the elements of wiki-based testing, it just concentrates on fixtures and invokes them. It runs as a separate server and the FitNesse wiki engine invokes this server remotely. Therefore wiki-based elements such as interpret wiki pages and generate output pages are now the part of the wiki engine separately.

By using simple POJOs (Plain Old Java Objects), the SLIM engine allows for far more light-weight fixtures. Such fixtures do not extend or use any framework classes. This simplifies the overall design and permits fixtures developers just to concentrate on calling the system under test properly. Also, it maintains the inheritance route open for the fixture developers allowing them to create the fixture hierarchies when needed.

FitNesse as a web server or software tool:

FitNesse testing tool coded in Java programming language. This Software Tool bundled and shipped as a single executable jar file. Executable jar file includes an embedded web server, a wiki engine, the testing engines (SLIM and FIT). Also included resources such as images, style sheets, Java Scripts, favicon, etc. which required to create a web site in FitNesse’s own style. On executing jar file the lightweight embedded web server launch at the localhost or across the internet. FitNesse test pages can be accessed easily once server gets started. Embedded web server is simple and lightweight which is just the collection of the files and does not require backing database. By default the embedded web server includes the user guide along with basic examples to operate on it.

The wiki engine is a basic component that provides basic features such as search, revision history page-wise, and a file overview. It allows other operations such as deleting, moving, or renaming files. It also has various buttons such as test button to run the test, ways to define the type of test page or test suite or static page, etc. SLIM and FIT are two types of test engines that FitNesse supports, we already discussed these testing engines in detail. In the next tutorial series we are going to learn about How to Install Fitnesse Server.

Fitnesse Tutorial For Beginners

⇓ Subscribe Us ⇓


If you are not regular reader of this website then highly recommends you to Sign up for our free email newsletter!! Sign up just providing your email address below:


 

Check email in your inbox for confirmation to get latest updates Software Testing for free.


  Happy Testing!!!
 

4 thoughts on “Tutorial 1 – Introduction to FitNesse Testing Tool”

Leave a Comment

Share This Post