Model-Based Test Generation within CI/CD Pipelines
Truly Continuous Test Automation
Generate optimised test scripts and data from easy-to-maintain flowcharts and push them seamlessly through CI/CD pipelines. Test Modeller rapidly builds and maintains complete automation frameworks, for continuous testing at the pace with which systems change.
‘Manual’ Automation Undermines Continuous Delivery
Automated test execution is necessary for QA to keep up with today’s vastly complex, fast-changing systems. However, automating tests can introduce a raft of additional manual tasks, from repetitious test scripting to time-consuming data provisioning and cumbersome test maintenance. Automation code can quickly become a vast, second code base alongside the source code, requiring as much care and attention to maintain an ever-growing number of brittle tests. True CI/CD instead requires an automated approach capable of keeping frameworks up-to-date as systems change.
Model-Based Test Automation for CI/CD
Test Modeller automatically generates optimised scripts and data for bespoke frameworks, eliminating the bottlenecks created by repetitious scripting, complex test data provisioning and manual test maintenance. The custom scripts and data can be automatically committed to Git repositories and pushed through CI/CD pipelines, enabling continuous test execution at the speed with which systems change:
Custom test scripts are quick-to-build and maintain with Test Modeller, using a range of accelerators and code templates to create executable page objects. “Fast Modelling” combines the objects into easy-to-use flowcharts, complete with automatically assigned test data functions. Automated test generation then creates the smallest set of test scripts needed to “cover” the modelled logic, pushing compiled Java, Javascript, Python or C# code to Git repositories. The automated script generation integrates seamlessly with CI/CD pipelines, with each commit triggering an automated test execution. Test Modeller furthermore monitors Git repositories for any changes made to the framework, flagging the latest changes at the model level. Testers and developers simply need to update the model, continuously executing a rigorous test suite at the speed with which systems change.
Truly Continuous Test Automation
This example showcases Model-Based Test Automation as part of a CI/CD pipeline using Github, a Selenium-Java framework and Jenkins. Watch the shot demo of web UI test automation to see how:
-
Test Modeller’s UI Scanner generates executable code from selected UI elements, committing the complete page objects to a test automation framework hosted in a Git Repository.
-
Drag-and-drop modelling rapidly creates complete flowchart models from the generated page objects, automatically modelling the positive and negative scenarios needed for testing rigour.
-
Intelligent data definition automatically tags the model with data, including synthetic test data generation functions to create varied data for every possible test.
-
Coverage algorithms auto-generate the smallest set of tests needed to cover every decision in the system, and can also focus on new or high-risk functionality.
-
Test Modeller’s code generation engine automatically converts the generated test cases to scripts with embedded data, committing the rigorous automated tests to Git.
-
Committing the optimised tests to Git triggers a Jenkins build, seamlessly executing the tests and updating run results in Test Modeller.
-
Changes made to the Test Automation Framework in Git are automatically tagged in Test Modeller, rapidly updating the model to execute rigorous tests at the speed of system change.