Socialpost

Complete News World

Software testing: automated installations and functional tests

Software testing: automated installations and functional tests

Automated software testing plays an important role in ensuring quality at every stage of development. […]

Automated software testing can be an effective way to prevent your software from blowing up your ears (c) pixabay.com

Each change in the code carries the risk of causing unwanted side effects that lead to error conditions in. In order to find such errors at an early stage (and not only at the customer’s site), automated tests must include the previous and new functions of Programming To ensure.

First, the project objectives (vision) and an approximate roadmap must be defined. the necessary Income It should not be neglected here. As expected, the initial effort to develop fully automated tests at the start of the project is significantly higher than it was at a later time during operation. However, certain “background noise” always remains, as test results must be evaluated, test cases adapted, and new test functions implemented.

After the procedures and processes for those to be tested are clearly defined, the tools and frameworks are chosen. Then prototypes must be submitted at the outset in order to accept the tools used.

After successfully building one (new), test automation will start with Software version It started automatically. In the case of installable software, this should be done in what is called “quiet mode” without manual intervention. Most of the programs Installer Offer a Response File by the way, this contains the corresponding dialogs and inputs as a text file that the user selected when installing the system for the first time.

Then Programming It is set up automatically, setting its parameters, testing the correct performance of applications, services, browser, GUI, etc. If the software product to be tested supports different platforms (Unix, Linux, and Windows), then all of these operating systems should be tested at best in parallel and at night. This means that long-term tests can be performed efficiently. Hardware resource usage is better distributed and test results are available for further analysis in the morning.

When a large number of tests are run in parallel and on several different test systems, a virtual computer system, that is, a “virtual machine” (VM) is recommended. If you do not want to use your own hardware, cloud computing is an interesting alternative. Required IT resources are provided here.

Fully automated development Softwartists It stands Robot frame For me as a clear favorite first stars. Critical factors include the comprehensive modular system for expanding functionality, plus simple handling with good integration options in existing projects. Another plus point is the simple, table-like structure for test cases, which means only a short training period is required.

The robot framework focuses on user testing (acceptance and comprehensive tests), but it is also used for system and smoke tests. The bot framework developed in Python is open source Programming (Apache License) available free of charge. Currently (April 2021) version 4.0 is available for download. The Installation From the framework is straightforward, as only Python 3 and its package management “point” are required.

Two stable systems are available for development and testing implementation, but can also be used together to enjoy the benefits of the respective environment:

As described above, all functions Programming Automatically tested. The bot framework helps us with a variety of libraries and add-on packages that can be easily integrated. For example, this is very stable SSH Library This makes it possible to run all the tests on Windows, Linux, Unix and Co. Remote and reusable.

In the field of end-to-end user interface (UI) tests for web browsers, new and modern browsers have been available since the beginning of 2021. Browser library From the playwright, or who has been created for many years Selenium Ready. These libraries can be conveniently integrated into the robot framework. This makes it easy to check graphic-based functions such as mouse clicks or user inputs and outputs, both on websites and in the GUI.

Of course, self-written test scripts can also be easily integrated into the bot framework. It doesn’t matter if Java, Python or shell scripts are preferred, only return values ​​0 or not equal to 0 should be taken into account for efficient reporting.

Extensive test reports are automatically created with the name programming language– The pages were created. In addition, test results can be stored in test management system such as TestLink imported. In order to be able to analyze errors more quickly, an accurate description of the error along with the log files output is very helpful. In the case of a large number of tests, it also makes sense to define the responsibilities of the tests. This enables colleagues involved in the bug to be automatically processed.

The icing on a cake graphic preparation of the test results is an integration with, for example, a Splink board To see. This is especially useful for a large number of Softwartists Read the current position comfortably at a glance.

If that isn’t enough for you, a traffic light system is ideal. With pre-set threshold values, different colors of USB traffic signal can be controlled. For example, if you come to the morning and see the traffic light glowing red, it is immediately apparent that errors have occurred. Otherwise, the day could start quietly at the “green” light, which is where all the tests have taken place Programming And so it was tested without errors!

Fully automated testing is an indispensable factor in developing agile software in order for it to be consistently bug-free Programming to guarantee. Automating the night test can provide valuable resources. Robot Framework is an excellent tool that can be used to automate all software testing.

* Timo Füg is knowledgeable in software development quality assurance and works at Uniserv GmbH as the technology leader for software quality assurance.