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.
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.
Business 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.
Continuous Integration is a popular topic among software developers and architects. Agile methodology is reshaping the way many technology teams work and manual task automation plays a big role in delivering software more often. Continuous integration and continuous delivery helps teams to be confident to push their code to production at any time.
Good choice of CI tools and services exists for development teams to address delivery lifecycle automation.
Some continuous integration solutions are available only as SaaS (software as a service), others are self-hosted and the team has to install and maintain them on their own servers / infrastructure.
CI solutions also differ by the technology stack they are build upon, as well as having the proprietary and open source licenses.
The goal of this post is to list the most popular and commonly used continuous integration and continuous delivery tools and services in one place. Together with a short summary about each of them.