Requirements-driven test automation
Convert user stories into visual models, tests, and data
Test Modeller empowers cross-functional teams to design, develop and deliver quality software faster, modelling accurate system requirements and generating matching automated tests. QA and development teams can work in parallel from the same logically precise specifications, removing requirements defects and catching coded bugs while they are quick and easy to fix.
Miscommunications go undetected by late testing
Despite move to ‘Agile’, ‘DevOps’ and ‘BDD’, many ‘old’ problems persist in software delivery. Silos remain between system designers, developers and testers, introducing frustrating miscommunication. Ambiguous and incomplete written requirements create bugs in code, while manual test design and scripting force QA ever-later. Testers and developers waste further time waiting for and finding data, while test maintenance forces QA to roll continuously over to the next ‘sprint’. Defects are found only after they’ve hit production, creating substantial re-coding. A truly iterative approach demands greater collaboration, parallelism and automation across design, development and QA.
Cross-functional teams deliver quality faster
With Test Modeller, product owners, developers and QA teams collaborate from “active” flowchart models, generating the designs and tests needed to deliver quality software quickly. Product owners and BAs can import written user stories, Gherkin specifications and BPMN diagrams from a range of tools, using text analysis and model mapping to convert them to logically precise flowcharts. This enables “Shift Left” QA and early Design Thinking, with BAs, testers and developers interrogating the models for ambiguity and incompleteness. The critical modelling eradicates the requirements defects that cause most bugs, catching them when they are cheapest and easiest to fix.
The “active” flowcharts not only provide developers with clear designs; they also let testers and developers generate the data and automation they need. Developers can overlay automated data “Find and Makes” onto the visual specifications, creating the data needed to code before integrated components are available. QA teams work from the same designs to provide continuous feedback to developers. Automated test generation creates rigorous test cases, data and automated tests, detecting bugs early in the developed prototypes, features and components. Model-based maintenance auto-updates tests as requirements and code changes, delivering full tested systems in short iterations.
Communicate, Collaborate, Automate
Watch this example of testing a CRM’s web UI using JIRA user stories and a Selenium-Java framework, to discover how:
-
“Shift Left” QA imports written user stories to logically precise models, eradicating design ambiguities and the costly bugs they create.
-
Identifying missing logic in the visual flowcharts builds complete specifications, enabling more reliable development and the generation of comprehensive test suites.
-
Model-based test generation creates test cases before a line of code is written, exporting rigorous test suites to test management tools for truly test-driven development.
-
Developers can leverage a catalogue of automated "Find and Makes" to create the data needed to code modelled components, enabling rapid and early feature development.
-
Developing from logically clear and complete models reduces miscommunications, minimizes code rework, and builds better systems earlier.
-
Testers and automation engineers use the requirements models to generate accurate automated tests, avoiding slow and manual scripting for rigorous in-sprint testing.
-
An application scanner rapidly builds automated tests from systems in UAT environments, generating executable test code for scanned elements.
-
Test data functions allocate unique data combinations to tests on-the-fly, enabling continuous testing without test data bottlenecks.
-
Re-usable subflows link components visually, rapidly generating end-to-end tests and integrated tests for complex systems.
-
Updating the models re-generates automated test suites in-sprint, detecting damaging bugs before they reach production.