Some time ago, I have started an internal mailing list with a couple of subscribers. The purpose was to summarize and share the most interesting and relevant content around technology strategy, technical team building and the ways of working.
This internal list slowly grew over the time and has reached over 300 technology leaders. Recently, after few recommendations I made this newsletter public.
In this part of the tutorial, we are going to automate the web application monitoring with the help of JenkinsCI continuous integration server. JenkinsCI will also generate us reports which can be accessed by non-technical project stakeholders.
Once we get our web application projects up and running live, we have to constantly keep an eye on them. Such an activity works best as a scheduled and automated task.
In most cases we want to inspect the uptime of the web application as well as validate that all the important functionality is working as expected.
In this tutorial, we are going to setup such web app functionality monitoring with the help of JenkinsCI – continuous integration server and CucumberJS – a popular behaviour driven development framework.
Prepare to automatically monitor web apps
This tutorial has 2 parts. In the first one, we will cover the setup of test cases for manually testing live web apps in the headless web browser.
Behaviour Driven Development or BDD is the process which combines ideas of domain driven design and test-driven development process (TDD).
BDD as a process aims to involve business users and raise their interest for the actual the software development process. This is done through simple, English-like domain specific language. Such language allows non-technical users to describe the expected application functionality and use cases by creating a human readable scenarios.
This domain specific language is also understood by computers. It allows delivery teams to maintain English like functionality description tests cases against the actual software functionality. It capturing the feedback about which parts of the application are implemented.
Buisness users get a rapid feedback on the application development progress. They can read and understand which desired software functionality is already implemented and which is still pending.
The example of such domain specific language might be the following:
Scenario 1: Purchased items should appear in the shopping cart
Given a visitor add the new item to their shopping cart
When he goes to shopping cart page
Then shopping cart should have purchased item
This page aims to list the most popular BDD frameworks. With the short descriptions for each of them.