Improving use of Behavior-driven development in WebSphere Commerce projects
Boloz, Dawid (2014)
Boloz, Dawid
Jyväskylän ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201405218984
https://urn.fi/URN:NBN:fi:amk-201405218984
Tiivistelmä
There are many Software Developing Methodologies of which Behaviour-Driven Development (BDD) is one. Many companies use this method because of its advantages. The main goal of this project was to improve the current implementation of Cucumber tool, which reads the specification written in Gherkin (in BDD style). This change had to be made in WebSphere Commerce environment.
Before the start of achieving this goal, the current Cucumber project needed repair because of the update of WebSphere Commerce to Feature Pack 7 version. Moreover, an update of the Cucumber libraries was necessary. The improvement focused on dividing the feature files into single scenarios and sending them separately to the real server, where they were run. After that, the server had to send the response back to the client side. When all scenarios were run, the responses from their runs are merged. At the end of this process, Cucumber Reports tool shows the results of test runs in an easily readable report.
The next goals were to separate and change the process of automated testing in Continuous Integration. The purpose of this was to enable running tests without deploying the whole project. Jenkins is the Continuous Integration tool used in the company. These modifications were made in few steps contained in this thesis.
The result of the thesis is a functional Cucumber improvement able to divide and send feature files to the server, run them there and create reports on the client side. The second result is Jenkins configuration, which lets run testing process on server independently from the rest of the integration process.
Before the start of achieving this goal, the current Cucumber project needed repair because of the update of WebSphere Commerce to Feature Pack 7 version. Moreover, an update of the Cucumber libraries was necessary. The improvement focused on dividing the feature files into single scenarios and sending them separately to the real server, where they were run. After that, the server had to send the response back to the client side. When all scenarios were run, the responses from their runs are merged. At the end of this process, Cucumber Reports tool shows the results of test runs in an easily readable report.
The next goals were to separate and change the process of automated testing in Continuous Integration. The purpose of this was to enable running tests without deploying the whole project. Jenkins is the Continuous Integration tool used in the company. These modifications were made in few steps contained in this thesis.
The result of the thesis is a functional Cucumber improvement able to divide and send feature files to the server, run them there and create reports on the client side. The second result is Jenkins configuration, which lets run testing process on server independently from the rest of the integration process.