Assuring Quality at Speed With Automated and Optimised Test Generation

Throughout the development process, software applications undergo a variety of changes, from new functionality and code optimisation to the removal or addition of features. All these changes incur risk. One objective of quality assurance is to reduce this risk, with testing playing a pivotal role in successful software delivery.

Quality can only be achieved through a range of methods, including both manual and automated techniques. In functional testing, the speed of modern software delivery methodologies, such as agile, CI/CD and DevOps, demands substantial automation. Yet, manual testing will always play a role in QA, as it measures metrics that automation can’t validate. In some scenarios, the time required to automate tests might also outweigh the effort of manual execution.

Identifying a platform that provides the right mix of manual and automated testing capabilities is key to enabling quality at speed. This article sets out how model-based testing can feature in such an approach, automating repetitive testing processes that slow QA teams down.

Automate where it makes sense — then automate that automation

Although it’s dated in many testing contexts, manual testing remains a reliable and critical tool for examining fast-changing systems. Like any form of testing, the key goal of these manual methods is to ensure that valuable applications are delivered error free.

However, the speed of modern application delivery means that repetitive testing processes must be automated wherever possible. For example, repetitive test case design, script creation and maintenance today eat up too much time. In fact, 27% of organisations declared it as the most time-consuming element of their QA [1].

The size and nature of tasks that testers are responsible for is also changing and growing. At 75% of organisations, for instance, test teams today must create and maintain automation scripts. At 68%, testers also now validate user stories [2]. These repetitive manual processes create a backlog of time-consuming tests. This calls for greater automation and making rigorous testing possible in short sprint.

While different types of manual testing will continue to have a role in QA, repetitive and unsystematic testing processes must be automated wherever possible. One way to achieve this testing rigour at speed is using model-based testing.

How Does Model-Based Testing Work?

Model-based testing can help avoid many of the repetitive processes that cause testing bottlenecks, all while optimising testing for greater coverage. One approach to MBT builds visual representations of the system under test, preferably leveraging a range of accelerators to speed up this process. The same models are then used to identify and generate the necessary test cases needed for maximum coverage.

This approach to model-based testing can drastically improve testing speed, making it possible to test complex applications sufficiently in short iterations. It facilitates greater and more reliable functional test coverage, while increasing testing agility by automating test asset creation and maintenance. The models can also be used to generate test cases for both manual and automated testing, with full custom scripting support and the ability to change testing variables to suit your needs.

A visual flowchart used in Test Modeller, a model-based testing tool.

Model-based testing allows QA teams to identify the critical impact of change quickly and visually. It further boosts testing’s ability to keep up with these changes during rapid software delivery, while encouraging cooperation as testers can reuse one another’s models. All of this is made possible by Test Modeller.

Want to learn more about test automation and model-based testing? Download Curiosity’s free eBook, Building Sustainable Test Automation: Should you hire more people or buy “another testing tool”?

Model-Based Test Automation

The time, complexity, and skill required to create test cases and scripts for complex systems remains one of the greatest barriers in functional testing. In fact, the World Quality Report, found that only 15% of all testing was automated [3]. A Model-based approach can be pivotal in overcoming these barriers. With Test Modeller, you can leave brittle test scripts behind, all while auto-generating automated test cases.

Test Modeller is a model-based tool which provides a comprehensive range of accelerators and connectors for building complete and optimised automation frameworks. These accelerators are designed to significantly reduce the time and technical knowledge needed to model complex systems, while encouraging collaboration across the whole SDLC.

The process of modelling the logic of the system further enables automated test creation, due to the logical precision of the flowcharts. Each path through the model reflects a different scenario or test case, removing the need to manually design test cases. Generating these paths also helps QA teams avoid the complexity and repetition of manual test scripting, and in turn improves testing speed and rigour.

See Test Modeller in action:

The models, scripts and test cases generated in Test Modeller furthermore become reusable assets. That means that, the more testing models, the faster it becomes. The reusable asset library makes generating tests quick and automation simple. A simple click of a button creates customisable test scripts, built for existing frameworks. This avoids vendor lock and enables teams to generate tests for complex and bespoke system logic, updating central models as systems change.

Test Modeller makes model-based testing easy-to-use, rapid, reactive, and collaborative. It’s a simple solution that empowers your QA teams, accelerating in-sprint test creation and reducing risk.

Quality Assured

Assure quality for your stakeholders through rigorous model-based test automation with Test Modeller. Test Modeller takes model-based testing and supercharges it, combining the speed and rigour of model-based test generation, with the simplicity of collaborative flowchart modelling.

To see Test Modeller live, watch the Curiosity webinar, “When to Stop Testing: 3 Dimensions of Test Coverage” on demand! This webinar sets out how testing can rapidly identify, generate, and run the tests needed to de-risk rapid software releases.

To learn more, follow Curiosity on LinkedIn, Twitter, Facebook or subscribe to our YouTube Channel.

About the author: Mantas Dvareckas, is a Digital Marketing Specialist at Curiosity Software. He holds an MSc in Digital Marketing Management, and is passionate about technology and gaming.

Footnotes:

[1] Perfecto, The State of Test Automation in 2020. — https://www.perfecto.io/sites/perfecto/files/pdfs/report-perfecto-2020-state-of-test-automation.pdf

2] Practitest’s State of Testing Report 2021 — https://www.practitest.com/resource/state-of-testing-report-2021/

[3] Capgemini, World Quality Report 2021 — https://www.capgemini.com/research/world-quality-report-wqr-20-21/

--

--

--

Helping your team build a culture of quality, from requirements to release, with Test Modeller and Test Data Automation!

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

The Bootcamp Battlecry!

Creating Spaceship Shield Strength Feature in Unity

Fast software delivery in the DoD: Avoid these innovation shortcuts

Api Gateway Part 2: Handling Authentication with Spring Boot, Zuul, Spring Session and Spring…

How to Outsource Mobile App Development? — The Ultimate Guide

Outsource mobile app development

Druid & Kafka Indexing Service: How to fix merging segments issue

Fastapi & React, Dockerize in single container

Create from scratch a SaaS with Stripe.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Curiosity Software

Curiosity Software

Helping your team build a culture of quality, from requirements to release, with Test Modeller and Test Data Automation!

More from Medium

Shift Left vs. Shift Right: When to Test Your Application?

Shift left and shift right are the two testing approaches that determine when to validate the functionality of the software that’s being developed under DevOps.

What Is Oracle Functional Testing?

Reasons to Choose an Open-Source Test Automation Tool

Access now the beta to generate tests from your logs