Executive summary
It touches on the imminent challenges testers face in this evolving technology landscape. It espouses the philosophy of responsible testing and articulates its eight essentials attributes that pave way for frictionless customer experience.
Digital transformation and the impact of COVID19

Tech companies are fast replacing the traditional leaders
The demand for contactless and virtual consulting amid the pandemic has given rise to telemedicine and test packs. A similar impact can be seen across industries, as illustrated in the image.

Drivers of disruption
The signs were everywhere, but COVID19 catalyzed and crystallized the change.
Witnessing a rise in adoption of…
- AR/VR
- AI-ML
- IoT
- Blockchain
- RPA
- OTT
- Voice assistance (UI)
- DevOps
- Agile
- AIOps
- ITSecOps
- Serverless
- Micro-services
- Containerization
Imminent challenges testers face in the new age
Customer experience & touchpoint validation
Customer experience or CX is a significant differentiator and a giant propeller for new-age tech. Testers have their task cut out, trying to test software powered across multiple devices and platforms for a frictionless omnichannel experience. Ensure that all touchpoints are in sync, irrespective of where the user starts his journey and the pattern he follows. The application or software should handle vast volumes of data or a sudden spike in the users. All this to enable a frictionless customer experience. Ensuring a frictionless experience for customers across devices and platforms can be arduous for testers.
Regulatory knowledge in their industry
Modern-day software development requires testing teams to be aware and vigilant of change in regulations to stay compliant. Data protection concerns and laws such as the European GDPR have made security a vital element for the smooth launch and use of the software. Such regulations require that security testing be included in the software development lifecycle (SDLC) from the early stages of development. It is also vital that testers know the industry-specific regulations that can become a bottleneck if not planned early in software development. For example, the Health Insurance Portability and Accountability Act or HIPAA is a regulation created to safeguard private information about patients. It is a must-have regulatory standard for any business looking to deal with patient or healthcare information.
Similarly, different regulations emphasize accessibility to ensure the differently-abled can access and utilize services and offerings. Extensive testing must be carried out to ensure the software meets the accessibility requirements such as the Web Content Accessibility Guidelines and others. Staying well-versed with changing regulations must be a mandate for testers.
Artificial Intelligence / Machine Learning
Many organizations are increasing the uptake of artificial intelligence (AI) and machine learning (ML) in their products to enhance, enrich and empower their products. This enables them to sharpen their competitive edge in the marketplace. Therefore, the testing tools and frameworks must necessarily harness the power of AI ML too. Therefore, new-age testers must keep apace with these technologies as well and skill themselves accordingly.
Effective test data management
Data is an immensely valued resource. Effective management of test data is essential to understand and interpret the function, response, performance of particular software. Effective test data management is more critical in data-exhaustive domains such as insurance, fintech, healthcare, etc. Managing complex and sensitive data can turn out to be a challenge.
Choosing the right tools and frameworks
A successful software product requires many elements to work in cohesion. A couple of essential features that enable the delivery of quality software are frameworks and tools. The abundance of tools and frameworks makes it challenging to choose the right mix for a given project.
Responsible testing is the key

Responsible testing approach and philosophy: 8 essential attributes
- Risk coverage
- Collaborative test design
- Customer experience focus
- Test early, test often
- Early focus on non-functiona
- Leverage automationn
- Release readiness
- Continuous feedback
Risk coverage
This approach considers a risk-based strategy versus the more common coverage-based strategy. A traditional coverage-based strategy would try to address questions like How many tests did you design? What was the test coverage that you achieved? In a risk-based strategy, one attempts to optimize (minimize) the number of tests to cover most of the risks. Thus, we can have 10% of tests cover the maximum number of risks or 80% of tests still not covering all risks.
A risk-based strategy or approach is different in terms of how we want to evaluate the product's performance or what it might mean once it is released. This strategy ensures the product promises to customers is upheld. It needs to minimize the possible fallout of risk (for example, of revenue loss) due to poor customer experience because of a feature or functionality failure.
To mitigate the negative impact on business due to a product release, one needs to identify all the risks involved by collaborating and discussing with all the key stakeholders, including product owners and domain experts. Identify all the business-critical functions and features that will be in high demand or usage. Understand the high-risk areas and where the application can fail. Even old testing philosophy says that 80% of bugs will be found in 20% of the application, therefore identifying the high priority application. This way, a 20% coverage will ensure 80% risk coverage. One critical parameter is a good understanding and analysis of past failure data. Understanding failure patterns and identifying the root cause may not be a functional problem but a data migration issue.
Collaborative test design
Over the years, it has been observed that test design is performed by one person, working in isolation gathering inputs from documents or other items. A test design prepared and managed in isolation can miss critical perspectives and conditions that should be tested.
Our responsible testing approach recommends a collaborative test design approach as opposed to an individual performing it alone. We all very well know that collaboration is key to successful testing in an Agile and DevOps approach. Also, while testing complex applications, a tester needs to be creative and cover functionality, and go beyond what may be described in a requirements document, use case, or user story.
We recommend a collaboration across business analysts, product owners, developers, and quality assurance teams to get a holistic and better understanding of the process, external interfaces, usage, and dependencies concerning the software to be tested. One also needs to understand how support teams or client services will be involved to address software failures. Another critical consideration for a responsible tester is to ensure that all the stakeholders in this collaborative process can understand the test design and test cases. For example, one can use a Gherkin lang
Benefits of a collaborative test design approach are:
- Shared problem-solving ability
- Practical perspective in prioritizing tests
- Good knowledge of the application
- Faster and effective communication about the project, the tests, and the problems to be solved
- Increases stakeholder ownership in the test design activity
- Greater creativity for user stories or to build test cases
Customer experience focus
In the end, it all boils down to the quality of customer experience as the ‘Customer is the King’. A responsible tester gets into the shoes of the customer and designs the tests accordingly.
One needs to understand the business flows, how the customer or the user interacts with the system. Different types of users will also interact with the application (end-user, administrator, back-office, customer support, etc.). Therefore there is a need to understand how they go about interacting? What are the touchpoints that each user has? What promises have been made to different users at these touchpoints? It's essential to get real user data and try to use that in a way that can allow us to simulate those customer touchpoints much before we go live. Advanced analytics tools will help you find the behavior patterns of the customer.
Different types of users will also interact with the application (end-user, administrator, back-office, customer support, etc.). Therefore there is a need to understand how they go about interacting? What are the touchpoints that each user has? What promises have been made to different users at these touchpoints? It's essential to get real user data and try to use that in a way that can allow us to simulate those customer touchpoints much before we go live. Advanced analytics tools will help you find the behavior patterns of the customer
While conducting the test based on the roles, it is vital to consider the usage permissions provided for that specific role and the user's production or actual environment. Sometimes, testing in a controlled or lab environment is not reflective of the real end-user experience based on role, privileges, and environment.
Test early, test often
Everyone talks about testing shifting left early into the development phase. What does that mean?
Many projects widely use agile scrum practices and DevOps methodologies that witness a high frequency of build, implementation, releases, and feedback. Therefore, a responsible testing approach proposes to test early and often test, i.e., a tester joins the SDLC process right at the start. Thus, a tester can ask questions about the customer journey, which can lead to changes. Working with back-end developers and ideating with them helps create test ideas and 'what if' type scenarios. Engagement with the API developers results in writing out tests for new services while they are being developed. And sometimes, pairing up with the UI and API developers can lead to testing something new before it hit a build. CI/CD pipeline must be implemented to get early feedback on the builds and run frequent automation regressions.
Testing may still be necessary before the final release. But it’s faster because many problems would already have been identified and resolved earlier on
Early focus on non-functional
It is good to plan for the non-functional testing needs at the beginning of the application life cycle. Many tools allow you to do a quick assessment, if not complete assessments, of non-functional testing needs. There are automated security testing tools that give you a sense of vulnerabilities. There are code review tools that provide you with leakage issues. Now, these are not a substitute for running useful security tests or code security analysis of your product, but these are good early indicators
Organizations must be concerned if testers focus on functional requirements and stories during the initial sprints, and only then look back at non-functional testing. The application that may be compatible with one browser, can crash on another.
- Test the application for performance continuously for the defined concurrent user load sprint on a sprint basis access is consistent and supports the localization needs
- Ensure the application is compliant with the accessibility guidelines
- Ensure that the user response times are in the acceptable range
- Continually assess for security violations
- Ensure that the application's geographical
Leverage automation
There is much hype around test automation. Testers measure automation by the amount of coverage that is achieved. Is it really the silver bullet that testers think it is? Probably not, but it’s still a vital parameter to make testing more efficient
The agile approach requires early and continuous testing. Not just the newly-appended code, but the code from previous iterations, too, must be a part of test coverage. While this ensures unbroken functionality, it further burdens the testers that can lead to quality issues. Automation frees the tester from repetitive tasks, enabling them to focus on exploratory testing.
The below-mentioned elements are apt candidates for automation:
- Critical functions
- Repetitive testing tasks
- Simple test cases
- Mundane, time-consuming tasks
Release readiness
The focus of the product release should mainly be on operational readiness. Ensure the application is stable enough and ready for the release on various parameters like capability, usability, compatibility, reliability, security, scalability, performance, and installability. The product shouldn't behave differently in varied scenarios.
As a part of a go-live, it’s vital to create a mechanism to capture and relay customer feedback to product owners promptly. Consequently, this enables testers to respond to customer issues as and when they arise quickly.
Continuous feedback
Lastly, but surely not the least important, is continuous feedback. This is one of the critical things that we have included as a part of our responsible testing philosophy. It is about understanding what happens when a release goes live
A responsible tester is glued to how the application is performing. What are the kinds of issues that customers are facing? They walk the extra mile of not just understanding the customer issues but provide a fix for the issue as soon as it is reported.
One could look at continuous feedback as a shift right mechanism wherein we are entering the production environment arena. Analyzing the end-user logs from production gives insights into real user experience, identify usage patterns, peak load time period, and failure points.