Research has shown that 35% of companies find manual software testing to be the most time-consuming part of the software development life cycle.
However, selecting a proper automation approach for your organization can be daunting. A lot of analysis is often focused on the automation itself and the downstream, but, from our perspective, optimizing earlier steps in the testing process can significantly simplify the journey.
In this blog post, we’ll show you how to use model-based test case design (demonstrated by Xray Enterprise’s Test Case Designer) as a way to reduce the overhead of test case creation and automate your efforts.
Some of the common barriers to adopting more test automation are:
Lack of a clearly defined implementation strategy is one of the biggest challenges in test automation today. It includes both “how” and “what” aspects:
“How” - There are plenty of frameworks, languages, and tools for all kinds of automation goals. And an important angle to keep in mind is how they will interact with other areas of your business/SDLC process - e.g. how they will generate useful test reports and metrics for all stakeholders.
“What” - Prioritizing your automation targets should happen with repeatability in mind. Will this automation test suite have a long lifetime? What are the expected volume and execution frequency? But between massive manual regression suites and continuous feature development, picking the highest ROI candidates is not easy.
And if you decide wrong, a strategy pivot can significantly damage your productivity.
Scripting automated tests is often time-consuming and expensive, you need skilled automation engineers. Furthermore, traditional test automation becomes expensive to maintain. With frequent requirements changes, having a script or a recording per manual test case becomes impossible to manage and scale.
Effective, transparent communication across teams is crucial, but it is more complicated in test automation than in manual testing.
Business analysts and project managers should participate in discussions about the test cases that need to be automated and the necessary functionality scope. But they are typically not well versed in coding languages or backend syntax. So, reviewing automation scripts one-by-one is a non-starter. Creating a “mirrored” set of readable documentation adds overhead, and, if you strive towards in-sprint automation, you shouldn’t always rely on the manual tests as a “collaboration backup”.
To be on the same page, we will use this definition:
Model-based test design is a technique where, instead of writing test cases for each acceptance criteria in isolation, we first create an artifact that holistically represents the behavior of the system-under-test (or its part relevant to the current project). Then, we derive a more comprehensive test suite from that artifact.
Model-based design helps with the adoption barriers 2 & 3 mentioned above, as it:
However, implementing model-based design without intelligent tools will limit your potential and just shift some of the barriers to a different stage - manual creation and maintenance of models can be only marginally less cumbersome than those of individual scripts.
We can find a better alternative to manual model management. For example, with the feature from Xray Enterprise - Test Case Designer (TCD) users find:
a. You can add the model URL to the requirement story;
b. Model-based testing is often considered abstract, but it can absolutely create fully executable test cases with the “right” value names;
As a bonus, if at any point you need to switch to the “traditional” script-based approach, you can easily do so by leveraging the data-driven BDD/Robot Framework templates under TCD Scripts. Create 1 Scenario/Test Case block, export or sync it to as many issues as you have iterations. You do not need to rebuild your models, and you still benefit from all 4 points above.
For more implementation details, please see this tutorial.
Nowadays, companies feel more pressure to optimize their time-to-market metrics, maximize resource utilization, and scale their team’s productivity - all at the same time. Test automation therefore is expected to evolve beyond “faster regression.” It should help companies achieve these business goals by striking the balance between speeding up the entire product delivery process and maintaining quality.
Model-based test design, if done with the right tools (like TCD), can be part of the solution to accelerate automation, helping reduce costs by optimizing efficiency and quality:
On top of that, QA teams should use a robust test management and reporting solution like Xray in order to achieve faster feedback and enhance the overall productivity.
Outpace the competition and improve your automation efficiency by getting Xray Enterprise and accessing all the features from Test Case Designer.