DevOps: The beginning of Continuous testing

As a product company in order to be successful on a competitive market you have to constantly adapt to new requirements, and therefore continually bring changes to your app. From a testing perspective this is really difficult to handle.

So as you might figure it out, manual testing is not a viable solution. It brings no value on the long term.

Continuous deployment and continuous delivery will lead to certain failure with manual testing.

So, Continuous Testing …

The Problem: Maintaining a Huge ecosystem, with a big monolithic backend and multiple clients that connect to it.

The first step into DevOps approach is creating an automated testing infrastructure that enables all teams to write quick and reliable tests.

For this we developed an in house Framework based on Selenium, Appium and a custom REST api client specific for Coresystems Cloud data manipulation.

We call it Coresystem.Brewery :D

This is a library that we import in every app project. It formed as a combination of all problems that we encountered over time and resolved, so that other test projects can benefit and use. As a result, all tests are similar, we can help each other and we can come up with brilliant solutions.

Also as part of the infrastructure tests are executed on our continues integration server (Bamboo) with Selenium Grid in combination with Appium server.

The final touch is given by Allure Reporting which is also integrated with Bamboo and gives quick feedback: an overview of the test coverage.

Also one of the backbones of automated test for DevOps are the Unit Tests.

Having a good code review process that will not allow code to be committed without unit test is really important. This will result in high unit test code coverage.

The Next steps in our plan is to integrate the sonar for our source code and start with performance test, automated creation of environments and continuous monitoring of out test environments.

Although we are in the first steps in implementing the DevOps methodology we are confident that this will improve quality and make the our solution more reliable.