Continuous Testing

Subscribe to Continuous Testing: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Testing: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Continuous Testing Authors: Elizabeth White, Liz McMillan, Aruna Ravichandran, Stackify Blog, Wesley Coelho

Related Topics: Agile Digital Transformation, Continuous Testing, DevOps Journal

Article

Agile Testing Automation | @DevOpsSummit #DevOps #APM #Microservices

Agile test management has been evolving to be more accommodating to agile processes

Four Ways to Improve Your Agile Testing Automation Processes

Agile software development is slowly but surely becoming the norm for a significant contingency of software developers. What used to be rigid, step-by-step processes that were siloed between specific teams have transformed into a collaborative, adaptive methodology that ultimately leads to the creation of superior solutions.

As an integral component of software development, agile test management has also been evolving to be more accommodating to agile processes. Testing automation in particular is still coming into its role as an agile tool and, for some teams, this may create unique challenges. Still, by taking the following into consideration, testing teams can reap all the benefits of testing automation in an agile environment.

1. Strong communication
Contrary to the notion of an open workspace in which different teams freely walk up to one another with observations and questions, many testing teams still work in different offices, sometimes even in different parts of the world. According to TechTarget contributor Francis Miers, nearly 60 percent  of all agile testing teams are scattered across the map. On the surface, this may seem contradictory. However, the problem with traditional testing methodologies was not that people weren't working in the same room, but that they weren't communicating effectively. As a result, teams were relatively blind to what happened to a product before and after it ended up on their rotation.

For the most part, telecommunications and cloud sharing capabilities have made it possible for even disparate testers to stay in touch with each other and with other teams. This communication is essential for fostering agile testing methodologies and must not be shirked. As the experts, test managers can certainly take a leading role in testing automation, but only by collaborating with developers can they have a solid understanding of how to plan for regression tests, and where testing automation needs to occur. The key here is to create a transparent, collaborative testing life cycle.

2. Select the right tools for the job
Trying to use waterfall testing tools for an agile project is like trying to fit a square peg in a round hole: Even if you somehow manage to do it, corners will have to be cut, and the end result won't be ideal. It is for this reason that TechTarget contributor Nari Kannan recommended leveraging testing tools that can accommodate the speed of agile. This includes the ability for scripts to be written and revised swiftly in order to support each new iteration of the project. Kannan also pointed out that agile testing methodologies should be imbued with the ability to test for scenarios rather than standard, black and white inputs.

"Support for automated testing scenarios may be much more useful when using Agile development methodologies rather than support for specified inputs and expected outputs as in traditional automated testing tools," Kannan wrote. "Many more automated tests for scenarios become reusable between iterations, so re-scripting between iterations becomes easier."

3. Automate generously, but intelligently
Everything that can be automated should be automated - assuming it makes sense to automate it. The majority of regression tests, for instance, are inherently redundant. They ensure that an alteration or add-on will play nice with everything that came before it, and this allows for innovation on the fly. Automation integration saves time here by eliminating the need to manually go back through the steps every time changes are applied. In addition to guaranteeing that regression tests actually happen, the risk of human error is significantly reduced.

That said, deciding what tests to automate and how exactly to automate them must be a very hands-on process. These tests don't necessarily have to run manually on the first go-around, but they should be intelligently integrated, which consists of deciding how they should interact with the scripts before they are set in motion. In theory, it's wise to seize every opportunity for test automation. In practice, it's even wiser to make sure that automated tests are thoughtfully deployed and that they rely on test metrics that actually matter.

4. Manual testing isn't going anywhere
Going off number three, it won't always make sense to automate every test case. Even with exploratory testing that can help testers probe for possible outcomes of specific scenarios, there will be situations in which unforeseen manual testing will be the only sure-fire way to thoroughly vet certain software features. This is especially true when it comes to optimizing the user experience. Even with adaptive design and smarter navigation, the ever-increasing number of platforms, particularly in the form of mobile devices, may result in clunky UX that an automated test cannot readily detect.

The good news here is that if the need for a certain manual test seems to arise more frequently, it can subsequently be automated. Manual testing is great for unique or anomalous user scenarios. But once the need for this test becomes recurring, it may make more sense to automate it, and therein lies the beauty of agile testing methodologies. They're as flexible as you need them to be.

More Stories By Sanjay Zalavadia

As the VP of Client Service for Zephyr, Sanjay Zalavadia brings over 15 years of leadership experience in IT and Technical Support Services. Throughout his career, Sanjay has successfully established and grown premier IT and Support Services teams across multiple geographies for both large and small companies.

Most recently, he was Associate Vice President at Patni Computers (NYSE: PTI) responsible for the Telecoms IT Managed Services Practice where he established IT Operations teams supporting Virgin Mobile, ESPN Mobile, Disney Mobile and Carphone Warehouse. Prior to this Sanjay was responsible for Global Technical Support at Bay Networks, a leading routing and switching vendor, which was acquired by Nortel. He has also held management positions in Support Service organizations at start-up Silicon Valley Networks, a vendor of Test Management software, and SynOptics.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.