Implementing Agility Into Software Testing
Analyst firm Ovum has released a report that looks at recent trends in the software quality space and emerging models in software testing. The report authored by senior analyst Chandranshu Singh discovered a positive development – software quality assurance has evolved into a parallel lifecycle alongside the development lifecycle with quality concerns factored into every stage.
Chandranshu said, “Organisations need to ensure that all functional as well as non-functional requirements are not only tested adequately, but are also on schedule”. A huge misperception is that paying more attention to quality at every stage will increase cost of development and time to market, when in actual fact, considering quality issues before the QA stage, actually promotes the opposite. This is due to defects being caught earlier in the lifecycle.
The senior analyst pointed out that some common challenges stem from deficiencies in the test process and not the testing activity. For example improper test data management, test lab management and misleading effort estimation. “Without proper test data management practices, testers have to wait for dummy data to be set up and available for testing. A serious security hazard is if they end up testing with live production.”
Testers also spend a lot of time setting up and tearing down a test environment. “Organisations should look to invest in test lab management solutions that simplify the process of set up and bringing down test instances, as well as doing these on the fly and providing ability to manage various environments be they physical, virtual and/or cloud-based.
Estimating test efforts is one of the main issues that plague test teams in many organisations. Hence, the viability of Agile methodologies, an over a decade-old developer-led initiative that aims to cut the red tape. “Effort estimates aren’t supposed to be accurate, an estimate after all is an estimate and our best possible guess at any given moment.” The trouble begins because test teams start with an estimate which later becomes paramount that all efforts are made to stick to that estimate, regardless of how far off the mark may be.
Chandranshu advised, “Test teams should revise their estimates often, it will lead to better planing, proper management of test processes. Agile development teams revise their estimates after every iteration, thus they have better process visibility, and are able to deliver better software, on time, and on budget.”
He also noted that many organisations have faltered with Agile implementations because they went in with a rip and replace approach. “The first thing to understand is that it’s a process change, and therefore requires overcoming user resistance. Agile is best implemented with a small team of experienced developers, and then scaled up.”