Sign in

Software Engineer. For updates follow https://twitter.com/ronnieschaniel

TestProject is a free test automation platform for web, mobile, and API testing and is backed by a strong community. In this post we discover TestProject and show the first steps using it for a web site.

Signing Up and Getting The Agent Ready

After a quick signup and login we are presented with a dashboard:

We can see an example project which we will check out in a minute. But first let’s quickly download the agent that will run our tests:


There are still some software companies that release their software to the users only every month.

In this article we construct a model for business value realisation and demonstrate based on it what such companies actually loose. We focus on this business value realisation and ignore for a moment other disadvantages of not releasing frequently. These would include: larger and therefore more riskier deployments, possible overload with productive defects, or later feedback.

The Business Value Realisation Model

Context: we assume that we’re having a team of 8 developers who are working on User Stories. These User Stories are done within 1 day and could potentially…


When we are developing software, most of the time we are not typing. Reading and thinking take the largest share. Nevertheless it makes sense to optimise the typing part. Because we want quick feedback if we have an idea. This is especially true in the red-green-refactor cycle of TDD.

So, let’s have a look at what is offered by an IDE that could help us. Here we use IntelliJ (and Java) but every proper IDE should provide similar functionalities.

1) Creating Tests

First, we have a look at creating tests, because this is the starting point in TDD. ⌘ + n (Mac) or…


The FizzBuzz task: Write a program that prints the numbers from 1 to 100. But for multiples of 3 print “Fizz” instead of the number and for the multiples of 5 print “Buzz“. For numbers which are multiples of both 3 and 5 print “FizzBuzz”.

Let’s solve this example test-driven in Java using JUnit.

I don’t really want to test the console output (print). So, for simplicity I narrow down the problem. It should not print the numbers, “Fizz”, “Buzz” and “FizzBuzz”, but return the mapped output String for a single input number, e.g. “7” for 7.

Remember TDD, red/green/refactor…


The article Getting Started with Cypress e2e Testing in Angular describes how to setup Cypress for an Angular project. In this post we go a step further and cover how to use Cypress for automated e2e testing in your CI/CD workflow.
Jenkins is used as automation server and I assume that you already have an instance up and running. Furthermore your application should be pushed to a VCS repository, e.g. GitHub.

Setting up Jenkins

First, we create the needed configuration in Jenkins, by creating a new pipeline:

The source code of our application should be coming from GitHub. So, we need to setup…


Automating e2e tests is an important aspect of software engineering. It helps shipping updates often while quickly being able to see that the software is most likely still working properly. Unfortunately such tests are usually time consuming in creation and execution.
We have a look at how cypress.io can be used for front-end testing in an Angular app to see how it compares to Selenium, Protractor and co. The Cypress website tells us it’s “A Test runner built for humans”. Let’s see if this claim is true.

We go through the process of integrating Cypress into an Angular project followed…


We have a look at the 23 Gang of Four design patterns for object oriented software design. While a lot of blog posts describe them using examples around concepts like Animal, Car or Pizza, we explain each of them by a practical example. It is certainly not wrong to learn design patterns with the help of real world analogies and then be able to apply them to software design problems. But it might also help others to see how they are applied in specific software design problems.

Creational Patterns

These type of pattern support the creation of objects. Because in certain situations…

Ronnie Schaniel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store