No matter what agile development approach an organisation embraces, continuous testing has become crucial throughout the product development life cycle to enable the rapid release of quality software that delivers on expectations and supports the business’s strategy.
However, there are several challenges and roadblocks to be overcome with continuous testing in an agile environment, says Greg Harrowsmith, Pre-Sales at CASA Software.
He says: “In an agile environment, there is a complete shift in how software is developed, tested and consumed. Contrary to waterfall approaches, agile testing shifts left and commences early in the process; adopting a fail first approach ensures that by the time the minimum viable product (MVP) is released, it aligns with organisational requirements and functions as expected. However, if you’re starting from scratch, you may not have the necessary data, test data and many endpoints or services may not be available or have yet to be developed.”
Testing itself can be considered a roadblock in agile environments, he says. “In time-constrained environments, it’s a balance between numbers and time, so exhaustive testing becomes problematic. Moreover, as the application matures, the number of test cases increases, and ‘test pack creep’ becomes the biggest headache. This is often compounded by a Testing Centre of Excellence (TCOE) that is operating in a waterfall and manual manner. This, of course, slows things down,” he confirms.
Harrowsmith highlights the key tools necessary to overcome roadblocks and support continuous testing for secure, compliant, quality software – faster. “A data management and data security policy, or test data management (TDM) policy, is crucial for compliance and risk mitigation, as well as accelerating testing and development. TDM enables testers to quickly locate, secure, design, create and provision fit-for-purpose test data and generate synthetic test data to deliver fast, accurate testing of the application. An effective TDM policy means you can have the right data at the right time and in the right quantity,” he notes.
Another crucial enabler in continuous testing is Agile Requirements Designer (ARD) – a model-based tool that supports visual requirement and test set design with built-in intelligence to assist teams to define what to test and how much testing is required.
Harrowsmith says: “ARD clarifies requirements, removes ambiguity and overcomes the problem of teams interpreting application requirements differently by making use of diagrams that represent requirements as mathematically precise visual flows – and add accuracy to requirements engineering. Business analysts, developers and testers can use ARD to model workflows, user inputs and requirements within a single model that provides all members of the agile team with a single pane of truth to work from and feed into. It helps testing teams to define test coverage and create test cases – ensuring the minimum number are used to provide maximum coverage of the application’s features and processes while guaranteeing quality at every point. Therefore, test case creep is minimised, enabling all stakeholders to be clear on what can and cannot be tested. Furthermore, TCOEs relying on model-based intelligent test case architectures can accelerate testing and give an overview of what is, has been or can be tested, ensuring the quality of the application meets the necessary standards,” he says.
He notes that ARD could drive a cultural shift. “It changes the way people work because it’s a lot more collaborative. If not implemented or used correctly, organisations might not be able to leverage the full benefits from it.”
He adds another enabler for continuous testing is service virtualisation (SV), which allows agile teams to capture and simulate the behaviour of constrained or unavailable systems for faster parallel testing. “SV removes roadblocks, eliminating the issue of unavailable endpoints or extensions that are costly or constrained. This yields many benefits, including creating the ability for many different levels of development and testing to be conducted, at the same time accelerating development,” Harrowsmith concludes.
Contact CASA Software to discover how to eliminate roadblocks and enable continuous testing in an agile environment.
Share
CASA Software
CASA Software is a digital transformation organisation comprised of a highly skilled team of technology professionals. The company has over three decades experience in the South African and sub-Saharan ICT industry.
We help customers to transform and optimise ICT operations from mobile to mainframe, including hybrid and multi-cloud, to accelerate innovation while maximising customer value.
We partner with software industry technology leaders to enable our customers to realise the value of AI-driven operations and streamlined automation. Our solutions are designed to assist customers to securely embrace the challenges of digital transformation and the next AI driven era of computing.
Our customers include leaders in finance, telecommunications, retail, and the public sector.
Visit us online here.