Ermine testing platform

Agile testing practices involve all members of a cross-functional team. Programmers, testers, product managers, they all participate on application testing at Davinci. We put testing to another level and made it more effective. We developed Ermine. Read the interview with our Software Architect Michal Šimún.

What is Ermine?

Ermine is a web platform, which allows for cross-project test automation throughout the whole company. The platform is used mainly for integration tests which are used to test rich applications with many complicated flows from end to end and from the end-user perspective. Ermine can be used for various kinds of tests and components tests too.

Why did we decide to develop a testing platform?

We used Soap UI through which we called web-services (as we mainly use web-services in our solutions). Soap UI served us well, but the biggest problem was when the API was changed and we had to redo all tests. Also, it was difficult to work with larger testing scenarios.

As more problems accumulated, we decided to write tests in Java. We are good in Java, so we have a lot to reuse mainly with regards to the integration tests. That is why we are able to write tests pretty quickly. However, this was effective for developers but not much for testers who were not able to write or alter the written tests. As we needed testers to do their work we decided to develop Ermine in which they can easily add testing scenarios to the tests written in Java. 


So what does Ermine actually do?

Ermine allows tests that contain different number of steps to be executed based on the logical hierarchy. The actual test and the definitions of these steps is the developer’s role. Then the testers execute the tests and add different testing scenarios based on the functional logic of the tested application. So in short, the developer prepares the template for the test with steps in Java, the testers create testing scenarios and the executor executes the scenarios. If the requested output is not reached, the test failed.

Ermine contains a web application, is which the user can browse through the executed tests, see their status and the reports coverage, learn how long the tests took or which steps take the most time to be executed and many more.

What is the biggest benefit of Ermine?

Well, in case of complicated tests, it’s easier if they are logically distributed to steps. This way you can easily reuse these test steps for many different projects (applications). The platform offers good support to testers in a sense that they can see all tests and steps executed for that particular functionality and they can add a description, create new scenarios, etc. In Soap UI this was difficult as programming knowledge was required and you couldn’t reuse much of the created tests.


Are there any alternative testing platforms available?

Well as far as I know, they are not available. That is why we had to develop our own platform.


What are the next plans with Ermine?

We are almost finished with version 1.0. In version 2.0, we would like to allow testers to create tests via Ermine. We will store a collection of test steps in Ermine and when the tester decides to create a new test he can choose from this collection of steps. Also, we were thinking to add nice dashboards, reports, allow for watching the running tests, invoke tests from the web application, make dry runs of tests, run test by steps, and more. 


So will Ermine be more effective as Soap UI?

Well, we don’t know yet as the development is not finished. But there is a strong indication that Ermine will be more effective. We will not need to alter our tests in case the API changes and if so, the required changes will be easier to implement. We will be able to reuse tests more effectively cross-projects. During tests creation we will be able to use all the power what Java offers us. And of course, it will strongly support the cooperation between testers and developers.


Can Ermine be of help to other IT companies?

As far as I know, developers use Soap UI for testing rich web applications or they write hard-coded Java tests that can be hardly reused. With Ermine we will have a testing platform that can be utilized for any web applications we develop. So, yes.


Which tools and technologies are used to build Ermine?

We used the newest technologies which are now tested within our technology portfolio. The web application was built on Spring Boot, Spring Config and Angular JS 2. The executor is an extension of JUnit 4 as version 5 is not released yet. Once it is, we want to support JUnit 5 too.


Did we forget anything that should have been mentioned?

Well there is one interesting thing about Ermine. Now we develop tests using Geb framework which uses Selenium as a platform. We plan the integrations tests in Ermine to include these tests as well. So, the tests created in Geb will only be called from the integration tests in Ermine.


Why is the application called Ermine?

We were inspired by the Leonardo da Vinci's Lady with an Ermine. We also wanted to stress the security of our tests. As ermine is a carnivore, this small beast will protect our applications and catch the pests :-). At the same time, it looks (user) friendly and cute as hell. This is what we also want the Ermine platform to be.

Publikované: 12. sep 2016 10:30 | Počet prečítaní: 2182
  • Michal Šimún

    Software Architect

    Michal je náš Technical Architect a Senior JEE Developer. Bol súčasťou tímov, ktoré vyvíjali rozsiahle Enterprise aplikácie pre bankové a poisťovnícke sektory. Obľubuje agilnú metodiku vývoja aplikácii, kde na prvom mieste stojí zákazník. Vo svojej práci ho nadchýňajú nové technologické výzvy, navrhovanie riešení, ale taktiež ich realizácia. Vo svojom živote má rád predovšetkým svoju rodinu, dobré pivo a hokej.

We want you

Do you see yourself working with us? Check out our vacancies. Is your ideal vacancy not in the list? Please send an open application. We are interested in new talents, both young and experienced.

Join us

Podobné články