As I assured you in my previous posts, I will take you to another
interesting journey of open source tools which are in news for a while and increasing their
share in the market.
Before we embark on this journey, I should provide you some
background about it. In one of the recent project, I got the opportunity to
work on Fitnesse and in a while another opportunity to work on Cucumber. This
helped me to understand the difference from the testing perspective. So what is
so different about these tools?
Behaviour Driven Development (BDD)–
First of all let’s understand what BDD is? BDD is Behaviour
Driven Development means write down the expected behaviour or functionality
desired by the stake holders in simple English like language. The domain experts
write the behaviour expected and then run the code to validate if the
application is behaving as expected. Due to simple English like language or
simple input output tables any domain expert can create many different test
scenarios.
These tests then
developers use to write a code to make sure the application is behaving as
expected. The development is driven by the behaviour of application and the
business users are the directing from high-level scenarios.
The image shows that how developers keep on updating
code to make sure the application behaves as domain experts expects it to
behave.
Now let’s see how Cucumber and Fitnesse are fit for the
purpose?
1. Cucumber uses
feature files containing keywords like Feature, Scenario, When, Then. These
keywords help domain experts to write scenarios in simple English.
Feature: As a reader of this post I want to read all other posts
on testing tools
Scenario: Users should see the link to all other posts on
this blog
When: User is on this post
Then: Should see the
links to other posts on testing tools
Step definitions (the code) which will be created using Java
or Ruby to run the mentioned scenario against the application under test.
Fitnesse uses
wiki pages to create a input-output table as shown in the below example-
Reader
|
Post
|
Links to other posts?
|
User1
|
BDD - Cucumber and Fitnesse
|
Yes
|
User2
|
BDD - Cucumber and Fitnesse
|
Yes
|
In the above example we will verify expected results with
the application under test from the last column.
To run this test table we need to have some code. The code
which we write for these tables is known as Fixture code. Fixture code can we
be written in language like Java or C#.
Fitnesse uses Fit and Slim fixtures. More information on
fixtures is available on the Fitnesse wiki.
Both Cucumber and Fitnesse have XML and HTML reporting.
Cucumber uses Junit framework on other hand Fitnesse uses test runner.
We will continue our journey to see more software testing
tools. Please do not forget to comment or write your feedback.
Happy Exploring!
ReplyDeleteAfter reading this web site I am very satisfied simply because this site is providing comprehensive knowledge for you to audience.
Thank you to the perform as well as discuss anything incredibly important in my opinion. We loose time waiting for your next article writing in addition to I beg one to get back to pay a visit to our website in
Selenium training in Chennai
Yroestabmons_mi_Scottsdale Byron Mancuso Corel VideoStudio Pro
ReplyDeleteESET NOD32 Internet Security
WebcamMax
dragerroca