Why In-Sprint Testing Hits The Mark in Agile
Legacy testing approaches (still) or having a go at “in-sprint testing” aside, in today’s world of software development, every tester, developer, and customer has at least one thing in common. They each carry a smartphone and a computer of some kind. As they go about their work, their phone sits quietly off to one side, apparently dormant until the next call or text message arrives. The computer will be running a range of apps from productivity tools to social media. And it, too, appears to be sitting and waiting for the next command to come.
But those commands are coming. Even when they sit unused, the apps are busy receiving updates, bug patches and improvements, sent from their respective home office in a constant stream of real-time improvement.
Agile Transformation in Action
This is the age of Agile in action. It still has its detractors, especially within large organizations whose culture and size may favor silos and more linear, waterfall-like procedures. But it cannot be denied that in software development today, no one really has the time to move step by step, waiting for a big reveal at the end. Improvements, tweaks and hacks now happen in real time, with in-sprint testing and bug fixes being dealt out as they happen.
It has to be this way. This is how office software and smartphone apps stay current. It is also how innovative technologies like Tesla continue to make profound impressions on the marketplace. There is a liquidity and an immediacy that is turning the development process inside out.
Developers know this is not an entirely new idea. It has been around since the Agile Manifesto was first written in 2001. But now the technology exists to truly give every iteration its own testing phase in a less structured but more rapid fashion.
Facing the Headwinds to In-sprint Testing
Despite various progress in Agile, challenges about how to retool an existing process to allow for such agility still exist.
Part of the problem comes from the design process itself. One of the key stumbling blocks happens during requirements engineering. It is generally understood that over 60 percent of defects come from ambiguous requirements during this phase. You can have a well-oiled testing machine but if your requirements are wrong then it inevitably becomes a mess. This leads to expensive rework, and the cost to address any changes becomes greater the further down the production path you travel.
By contrast, the ability to do testing within the sprints means less waiting and fewer problems. It provides greater opportunity to both improve the product and perform regression testing with every interim release.
Another problem comes from using inadequate tools. Rather than basing a design around a tool specifically made for clear structuring, planning, and editing, many still use generic tools like Microsoft Word and Excel.
What is needed is a product that can automate the whole process. With each decision point and option added, it should be easy to simply plug in a situation and automate the process so that everything is clear for testers and developers. Each time there is a change in requirements, which is a big problem in terms of activities, that should also become automated.
Test case optimization also leads to significant savings in cost and effort by establishing a reliable minimum set of test cases. Many customers either under-test or over-test. Often, many tests are duplicates. For example, a financial services company might run 100 tests which only provide 20 percent of functional coverage. In other situations, it becomes necessary to write text and get it out to the development teams, which is a long process that requires the creation of manual test cases.
Ideally, once you have converted a business requirement into a model that looks like an active flowchart, test cases should be automatically generated. Using agile design software, you can model a user story, and the software should be able to identify all the different paths. This in turn will produce the optimum number of test cases required to build a solid product.
In-sprint testing and intelligent automation of the design and test process will help companies solve the key problems presented by traditional testing, yielding more perfect products and allowing them a faster time to market.
View this video to learn how with the right tools, you can ” Test at the Speed of Agile”.
CA offers comprehensive solutions that automates the most difficult testing activities – from requirements engineering through test design automation and optimization. Start your Free Trial of CA Agile Requirements Designer today and fast track your testing at the speed of agile.
Gedeon Hombrebueno has extensive product marketing and product management experience for enterprise solutions across DevOps, IT Security, and Systems Management. Currently, Gedeon focuses on bringing to market CA’s Continuous Delivery and Testing solutions.