FitNesse is a testing tool that is open source tool used to conduct acceptance testing. Acceptance testing is a type of black box testing or functional testing. It used to evaluate the system’s compliance with the current business requirements. It verifies that the software is behaving up to the assumptions of the end user or not. An open source project source code is not owned by any organization. However information about this testing tool gets shared on the FitNesse community. This tool is widely used for acceptance testing for web, GUI, database and software behavioral testing.
This testing tool also used as web server to build or create knowledge base for a software project or an organization’s wiki. Building such wiki pages are very simple and they require very low learning curves. It help making this tool as an extensive cooperation 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 input and further 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 framework for wikis. This tool allows users to enter specially formatted interpreted test pages. This approach provides a very fast feedback about the system to the users. You will have a basic understanding about the tool, after reading this post.
JAVA programming language is 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 many purposes, let’s understand these purposes in detail.
A collaboration tool/Wiki:
It’s a wiki web server which is used to build a number of static web pages. These wiki pages with valuable piece of information on them can be linked together to provide a static website. It is an excellent tool to collaborate with, for example, business stakeholders. Such Wiki is very useful to gather the valuable information at one place which can be quickly navigated through wiki pages and accessed easily. Not only this, by using FitNesse server, we can 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 extensive.
A software testing tool:
It consists of four components as test follows. First component is the wiki page where tests are represented 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 FitNesse testing tool. 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 displays the test results. This tool supports two engines known as the FIT engine and the SLIM engine. Let us look at both of these testing engines clearly.
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 is designed in JAVA and is a heavyweight construct as the framework claims a developer’s one chance at class inheritance. To overcome such problem the FitNesse team has formulated an alternative approach in recent years 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 paradigm, 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.
FitNesse as a web server or software tool:
FitNesse testing tool is coded and developed 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 includes resources such as images, Java Scripts, style sheets, favicon, etc. which is required to create a web site in FitNesse’s own style. On executing jar file the lightweight embedded web server get 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.
Also Read: Selenium Testing tool