Software tests automation

Automated tests to help programmers with their processes and carry out the necessary adjustments to apply the needed improvements and achieve the set objective.


Timeline

2018-2023

Sector

Software engineering

Scope

Software development: automation of tests
PDF

BACKGROUND

SOLUTE automates the testing of the modifications applied to the software developments to check that no errors or changes are generated in the final product. These automatic tests are carried out on the code implemented in all its developments (TDD) and maintain the traceability thanks to the version control that is available in its repositories and the strict code structure and comments rules. With the aim of maintaining the integrity of the software developed for some customers, tests have been automated that will warn us if the results obtained after changes are different.

In the software development area, different automated tests are carried out to help programmers with their processes, since they do not have to do them by hand. When developing tools or software programmes, very important modifications are carried out that can entail a big change or even a small change that notable affects the desired result. These adjustments can produce errors, so it is essential to maintain control over the development so that in the case of an incident, we can detect it as soon as possible and also, know at what point the incident is occurring.


RESULTS

By automating software tests, two important objectives are achieved: save time for the programmer and locate errors before going to production. This way, the programmer can dedicate his time to preparing the tests and configuring the GitLab itself so that tests do not have to be carried out manually every time there are changes, and also to optimise the searching for possible errors at the end of the development.


EXPERIENCE

The main stakeholder is SOLUTE, as this is a way to show customers for whom the software is being developed, that the resulting product is of a high quality. Our products are a showcase of the success of our software developments and, since 2018, we have been applying the same methodology to projects for customers in the public sector, as well as the consulting and wind industries.

The aim of the automation of tests is to obtain a log showing the errors that have appeared after the latest changes and be able to take action to facilitate locating these errors and correcting them.

METHODOLOGY

At SOLUTE we have a server with GitLab installed, a versions control system to monitor the code that is being developed and we also keep a copy in case the local copy gets lost. Also, different tasks can be programmed, such as the automation of tests or the packaging of the code. Other tools are available such as Jenkins, which also allows for this automation with version control systems, however, at SOLUTE we are not currently using it.

To prepare automatic tests, the unit tests that will be passed are defined and are focused on specific points of the software, such as the output of certain functions, to continue with the integration tests that check the software as a whole. Once both types of tests are defined and programmed, GitLab is configured for these to be executed when new changes are uploaded; and other tests that could take longer, for example, are programmed to be executed at night time.

As mentioned above, a server with GitLab is required in order to access internally from the browser. Also, the certificates must be up to date, since otherwise, this could cause access problems and prevent the tests from launching.

The aim of the automation of tests is to obtain a log showing the errors that have appeared after the latest changes and be able to take action to facilitate locating these errors and correcting them.

Wind

Energy and weather forecast for renewable operators

Weather and energy forecast service through the training of artificial intelligence algorithms.

Automotive

Car safety sensors

The car sensor analysis contributes to optimising the signals received by the computers of the vehicle, which arrive through the different sensors that are installed, to properly activate their function and at the proper time.