From Sheep to Sherpa: A New Avatar of Software Testing Professionals
As enterprises adopt Digital and DevOps, the role of software testing professionals undergoes a change. With shifts in methodologies, the tester also ‘Shifts Left’ and becomes increasingly central to Business and IT teams. However, navigating these changes may be difficult as new practices like Agile and DevOps converge together into a Digital challenge for testers.
Traditional testing approaches no longer support faster delivery of software, without compromising quality. Enterprises need to adopt DevOps and its associated tool-chain, which require superior technical skills and enhanced collaboration between IT teams. The IT functions, working in silos in a traditional set-up, would not be able to achieve the digital mandate of Quality@Speed.
A colleague of mine uses the ‘Sherpa’ analogy to highlight the role of today’s testers. Sherpas are super-human mountaineers, who can effortlessly climb the world’s highest mountain-Mount Everest. Low oxygen and ever-changing weather at these high altitudes push human endurance to its limits, but Sherpas have mastered the art.
Testing practices are moving away from an independent validation model to integrated assurance model- where business, development, operations and testing teams collaborate and communicate frequently
Today’s testers have to be the Sherpas to meet IT and business objectives. An exceptional ‘all-rounder’, who possesses deep technology knowledge and broad-consultative skills. At times, an individual contributor and in other situations a leader, a manager and a coach for the team. Hence, a tester has to be aware of the project stakes to drive the team toward success–just like a football quarterback (Yes, I mean a Tom Brady!)
From an After-Thought to an All-Rounder
Today, software testers need to be involved right from defining requirements to software deployment. Testers need to test business requirements for testability and make suggestions for changes or new features, leveraging their industry-specific domain knowledge. Hence, learning and gaining expertise in respective industry domain is essential.
Moreover, to Shift Left, testers need to write automated tests, much before the application is fully ready to be deployed to test. This will require working with developers, understanding the prototype designs-algorithms, getting ahead on building the test scripts and filling the gaps when application is ready to test. Testers must work with the operations teams to understand production feedback, while the business teams can help them with user feedback. Most importantly, don’t make the same mistakes–what is now called ‘Shift Right’.
Up-Skill to Scale-Up
Testers have a critical role to play in implementing Agile and DevOps practices, such as the Continuous Delivery(CD). In order to deliver ‘insight-driven testing’, testers need to leverage data analytics for predictive testing, production statistics to optimize the tests and improve test coverage. Impact-based testing or intelligent testing (test only what is required to test) can help avoid over-testing and improve time-to-market.
With the right strategy and framework, testers can Continuously Test (CT) the software. They can assure functional, performance and security through commercial or open-source tools such as Selenium, JMeter and Jenkins. Solutions such as Service Virtualization (SV) can help increase the availability of systems under test, Test Data Management (TDM) to create test data in an on-demand and automated fashion. Overall, these techniques should help increase the tester’s productivity, which would allow him/her to spend more time on building future capabilities.
Establishing trust with business is an important factor in determining the value a tester brings to the organization. The ‘Watermelon Effect’ (Red inside – Green outside) on test status reporting is highly prevalent and erodes trust between testers and business. Any test metric in isolation is seen as a ‘deliverable’ that does not provide ‘perspectives’. They are seen as ‘Test Progress’ than ‘IT Progress’ and they deal with the past. So, insight and analytics-driven methods could predict the ‘future’ from ‘what did happen?’ to ‘what would happen?’ Testers need to convert measurements to powerful insights.
In this Digital era, the demand for testing is unprecedented, and so is the complexity of the Digital IT. From an environment standpoint, a heterogeneous system landscape with increasingly integrated environments, security restrictions and compliance, complex data requirements and constant availability is a challenge.
From a technology perspective, with diverse platforms to test, complex end-to-end integration scenarios, higher focus on non-functional testing and continuous need for innovation is required. Frequent upskilling, need for technology orientation, multi-skilling and higher collaboration with development and business teams is essential. Testing methodology should support continuous delivery models, supporting the adoption of Agile practices, laying added emphasis on automated testing and early defect prediction and prevention.
For Digital enterprises, the focus is now on customer experience testing than traditional testing. Since, engaged and loyal customers deliver more value to the brand and are likely to move to a competitor after a poor customer experience.
In summary, testing practices are moving away from an independent validation model to integrated assurance model- where business, development, operations and testing teams collaborate and communicate frequently. Testers will have to constantly upskill themselves in this emerging milieu of new technology trends.