The UI Test Recorder
With Test Modeller, coders and non-coders collaborate to generate rigorous UI tests from intuitive flowcharts and system recordings, testing fast-changing UIs without the frustration of brittle code, unnecessary scripting, or vendor lock. Automated test generation optimises the UI tests to cover more logic in fewer tests, while reusing bespoke automation code to test complex elements.
Brittle UI Tests are slow to build and hard to maintain
Automating test execution is paramount for in-sprint testing, and for maintaining the quality of critical systems. Yet, automation adoption often fails because it introduces time- and skill-intensive processes, overburdening test teams or newly hired SDETs. Many teams start with UI testing, but struggle to build and maintain scripts in time for the next release. Analysing DOM structures is slow and frustrating, while brittle scripts break after UI changes. Each test further requires up-to-date data, but slow and unreliable test data provisioning instead creates test failures and bottlenecks. A systematic, collaborative and automated approach is needed to test business-critical systems in-sprint.
Automate and Optimise UI testing
Test Modeller, part of the Open Testing Platform, removes the barriers to rigorous UI test automation, allowing coders and non-coders to generate automated tests from easy-to-maintain flowcharts. Building the intuitive flows is quick and simple using a range of accelerators. A UI Recorder captures actions and data executed against web UIs, while generating the automation modules needed to generate scripts. The recorded journeys are then converted into visual flowcharts, from which rigorous test cases, scripts and data can be generated. Test generation can leverage in-built frameworks or synchronised code, combining the simplicity of visual test automation with the flexibility of scripting. This allows coders and non-coders to collaborate in parallel, reusing code to generate automated tests in-sprint.
Unlike many Record/Playback approaches, the automated test generation is further optimised for test coverage. Automated coverage algorithms identify the smallest set of tests needed to test the modelled logic, testing more of the system in fewer tests. Each test further comes equipped with the data it needs, allowing test teams to test fast-changing UIs in short iterations. As UIs change, no time is wasted checking and updating existing brittle test scripts, test cases and data. Instead, updating the central flows regenerates a complete and up-to-date test suite, ensuring that critical internal systems and customer-facing applications continue delivering business value.
The simplicity of codeless test automation, the flexibility of scripting
Watch this short example of UI test generation for a webstore using a Java framework and Test Modeller to see how:
Test Modeller’s UI recorder captures all the activity, data and information needed to generate rigorous automated tests, avoiding time spent analysing complex UI elements.
Visual application blueprints, heatmaps and recording analysis allow test teams to target under-tested areas of web UIs, finding potentially costly bugs before the next release.
Test Modeller automatically converts the recordings into intuitive visual flowcharts, applying coverage algorithms to generate the smallest set of tests needed to test the modelled logic.
Re-usable subprocesses created from recorded activity make it quick and easy to assemble end-to-end test scenarios, auto-generating a comprehensive set of integrated tests.
A powerful script generation engine creates test for in-built or bespoke frameworks, creating comprehensive automated tests without complex system analysis or manual scripting.
Synchronising code from scripted frameworks combines the flexibility of scripting with the simplicity of “low code” test automation, rapidly testing web UIs and avoiding vendor lock.
Updating the central models after a UI changes regenerates a set of up-to-date test cases, scripts and data, avoiding test maintenance bottlenecks to test in-sprint.