As we usher into another decade, I can’t stop reflecting on testing as a process, as an ecosystem, and how it has evolved over the years. Testing has evolved itself from being a reactive to a proactive need. According to a leading global market research firm, software Automation Testing Services spend is at 79bn in 2010 and the figure is to climb to 100bn by 2014. In the last ten years, testing has seen a lot of evolution. Testing has its own budget, processes have matured, tools have matured, vendors are offering outcome based testing services, but there are some challenges that seem to be pervasive. Here’s what I think about them:
1. Managing expectations
Expectations were and are inevitable. The biggest challenge for testing teams is to manage and meet these expectations. Expectations are the criteria to evaluate the success or failure of testing efforts. And if these expectations are not consistently understood by the business and testing team together, the entire purpose is lost. The aim is to establish a shared vision or goal through effective expectation setting. Testing is an iterative process and so is managing expectations.
2. Technology landscape and its dynamism
The business environment in which IT operates is constantly changing. Types of IT systems, platforms, and languages used to build them are also proliferating. Today companies are moving towards providing services through CLOUD. Each has its unique environment. Then they are interconnected with internal and external applications. Therefore, testing and predicting everything and anything they can do is much harder. And this poses a great challenge for the testing team to quickly highlight risks early enough to build efficient software.
3. Communication gaps
Testers in isolation can’t build efficiency in the testing process. For this, there needs to be an increase in collaboration and communication between testers and business experts, and, testers and developers. Hopefully in this decade, with Agile methodology being adopted aggressively, these communication gaps will be addressed. Bringing the SME, developer, and tester together during the early stages of SDLC will ensure all project participants speak the same language, and build a shared and consistent understanding of the domain. This will lead to better specifications, eliminates incorrect assumptions and ensures functional gaps are discovered much early in the cycle.
4. Anybody can test
That’s a myth. Anybody CAN’T test. This is a fact. It doesn’t matter if you have state-of-the-art -testing- infrastructure or training curriculum to support your testing process. What matters is the final quality. And who drives final quality? Is it the people or the tools? I agree it is both. But the buck stops at people. If you don’t have the right people, whatever tools you use – the desired result won’t be achieved! Hence, RIGHT PEOPLE is the key phrase here. And the challenge is to find the right set of people. It doesn’t matter the team is internal or a vendor, it is people in it who will drive results. It is their willingness, passion, and skills that will drive results. Secondly, as testing teams will get involved early in the development cycle, organizations need a new breed of testers. A new breed of collaborative and multi-skilled testers is required who will bridge the gap between business and technology and who understand the practices and tools. Thirdly, technology, as it always does, will change, and testers will need to adapt to new technologies. Testers will need to become more technically adept with a continuous experience across many platforms and testing environments. That’s why anybody CAN’T test. And understanding this is of paramount importance.