2025-02-14 –, RoboCon
Is it possible to use existing automated UI tests to determine performance regression of your test code or your system under test?
The tool Perfbot is an approach to answer this question using Robot API. Utilizing statistical methods, it compares the existing test run with archived test execution times and creates graphical analysis results.
Meeting customer requirements in an efficient time is an essential characteristic of high-quality software. Regressive load and performance tests can detect performance problems at an early stage. In practice, however, the number of such tests is significantly lower than the number of functional tests.
This is where the Perfbot tool comes in. It makes use of existing UI tests to provide insights not only into the performance of the test scripts, but also into the system-under-test. The tool is a generic extension of the Robot Framework test automation tool. Based on previously saved execution times of past test runs, the runtimes are analyzed each time the robot tests are executed. In the next step, calculated key figures and a visual presentation in the form of box plots are included in the standard output files of the framework. This should provide the test automation engineer with direct feedback on performance changes.
Perfbot is not intended as a replacement for dedicated performance test tools. Rather, it can be used as an early warning system to facilitate the selection of key use cases for the first performance tests.
The presentation will discuss similar approaches, present the functionality and technical details and show the practical benefits in a live demo. The main aim is to increase awareness of performance.
Perfbot was created as part of a master's thesis at FH Münster and the practice partner Provinzial Versicherung AG. The source code is available under open source license: Github – robotframework-perfbot
I prefer to talk in the in-person conference. I'm also available for the online conference.
Categorize / Tags:performance, robot-api, extension
Lessons Learned:The talk illustrates the importance of performance - including the performance of your test code. It is also an example of the elegant use of the framework's interfaces - in this case the ResultVisitor of the Robot API.
Is this suitable for ..?:Intermediate RF User, Advanced RF User
Testmanager and Product Owner at Provinzial Versicherung AG