The battle for quality in a modern delivery cycle has made it difficult for testers to prove their value. Modernization Strategist and Speaker Jim Holmes came to grips with some of the biggest challenges of testing, turning them into tactics that improve team collaboration and guarantee product success.
Quality matters. No one would dare to argue about that. Quality is and will always be a top priority for any business and by any, I really mean—any. Quality is equally as important for companies developing internal software as for businesses delivering products for end users. But how does the story of quality apply to economic and organizational levels, in the context of the rising digital paradigm?
As someone who is extremely passionate about testing, Jim helped straighten things out regarding the role of testing and the value testers bring in improving the quality of releases and final products. He explained why testers and developers should be proactive and jump in with both feet when it comes to understanding business requirements and contributing to goals and ultimately—doing a better job.
You can watch the webinar recording to catch up on all useful insights Jim shared during the webinar.
A lot is changing in how quality is understood in the current environment. We are living in extraordinary times, causing organizations to struggle with budgets and fight economic pressure. At the same time, demand for exceptional digital experiences is pushing delivery teams to their limits.
The first place to look according to Jim is one's own perspective. Changing gears and starting to look differently at the way your team/organization ships software is probably the strategy that will take you furthermost in trying to do things better and help your organization stop seeing quality as the bottleneck.
No doubt Digital Experiences (DX) is a buzzword. Yet, there is a lot to learn from the DX folks. Good DX people have a completely different focus on how to enable and empower the user to do better job. They start involving users early in the software development cycle to engage them with the results and how these results will impact their personal success with the product or application. In that way the end user becomes a co-owner of the outcome, which ensures much stronger engagement on the important aspects of digital user experience.
Testers are often perceived as user proxies. Becoming a better user proxy though depends on how well testers serve software delivery needs. To improve on that level, Jim recommends starting by acquiring a really deep understanding of what your end users are trying to achieve and what problems they need to solve. That would automatically lead to so much more value coming from your work.
You as a contributor to your organization have a direct impact on how it can overcome any challenge associated with quality. Low product quality leads to high rework, high support efforts and ultimately—loss of sales or reputation.
The traditional understanding of the testing function often involves having a separate testing unit versus embedding testers on mixed project teams. What matters for the business though is how successful products are and either way, it is all about collaboration. Success comes through uninterrupted workflows that depend on integrated team functions. That is the only approach that fosters a collaborative environment and ownership of what quality should look like. Now with remote work and people sometimes being miles apart, collaboration matters more than ever.
The notion that testers can test everything and automate 100% of the test cases might often be a perceived expectation—but is rarely the reality. Despite one of the most heard questions always being “How long do you need to test?”, that doesn’t necessarily speak to the actual expectations of stakeholders. But it does indeed put testers and sometimes entire delivery teams under a lot pressure.
“Communication is the key,” argues Jim, and he explains that testers should understand what the most important tasks are for ensuring critical functionality is working. “Overworked and overstressed teams don't deliver good value.” Agreeing on what’s important and focusing on that will help avoid low value edge cases, cut waste in the process, provide visibility for risk versus value and most importantly, it will allow testers to ensure they are not contributing to the bottlenecks by focusing on low value tasks.
Duplication of effort is another significant waste that teams need to constantly work on reducing. We often see this in quality efforts where testers are in teams separate from the developers and business analysts. Besides the needless delays in handoffs caused by poor communication and collaboration, separate testing teams duplicate testing work already done by developers.
As an example, separate testing teams aren't aware of what unit or API tests developers may have created during their work. However, these might already be covering functionality that doesn’t need to be checked by another set of end-to-end tests created at the UI level.
The testing pyramid is a good model to illustrate that. Focusing only on the unit test, which sometimes is the typical developer's approach, accommodates risks for the business goals because unit tests have low value on their own. If your product depends on business transactions happening through the UI, you should consider rather focusing on visual testing, exploratory testing, end-to-end testing and approaches that validate the interaction of your users with your UI. Again—a combination of team skills and integrated team functions is the key.
“Testers do not assure quality” as they don’t look for budgets, don’t set deadlines, and don’t allocate people, resources, and infrastructure. That lies in the stakeholders’ hands. And yet, it doesn’t mean that testers (and developers) shouldn’t co-own the responsibility for delivering quality. In fact, modern testing practices don’t limit the testing function to a particular role on the team. Project managers, business analysts and developers are equally important as contributors to the quality.
What’s key here is gaining a better understanding of how stakeholders think and engaging them throughout the process. In the long run, that will help change the perception that quality and testing are a fixed cost center. “Testers should be seen as information brokers instead of gate keepers”. They should be responsible for providing critical information to the stakeholders to make better, informed decisions.
A webinar attendee working as a Software Project Manager asked a very relevant question related to managing expectations.
“Shall the testing team use a list of bugs to inform the stakeholder making the decision whether to ship or not?”
Part of a tester’s job is to always be ready and prepared to discuss bugs. Jim’s advice though is to start by putting yourself in the decision maker’s shoes and asking the question “What information would I need to make the decision.”
Stakeholders are generally business-level people that could easily be confused by a bug list with a lot of technical details they don’t understand the meaning of. The decision "Do I release this or not?" rather depends on major functionality working properly and the presence of critical issues that put success at risk. Focusing on higher-level summaries fosters an environment of mutual understanding that any stakeholder would appreciate.
During the live session, Jim ran a total of three poll questions on quality in app delivery with more than 200 respondents each. Surprisingly or not, manual testing was brought up as one of the challenges people are still facing along with internal resources being stretched thin and not involving testing early enough in the delivery process.
Nearly half of all attendees are struggling with bugs reaching production and inefficiencies caused by prioritizing time over quality, while less than half claimed to be implementing test automation already.
The transition from manual to automated testing is a hard one. Instead of thinking of how to replace one with the other, Jim advises pursuing the mindset of "How do I mix manual and automated testing to get the best results?” Successful organizations manage to integrate these into a robust testing process supported by the tools that work best for the team.
Automated testing requires new skills that organizations need to invest in. The investment is worthwhile though as automation helps confirm behaviors and cover scenarios at scale. It's also crucial for being fast at releasing high-quality software, and it's a vital part of a well-functioning Continuous Integration/Continuous Delivery (CI/CD) pipeline.
If the organization is ready to accept that delivery speed will slow down while the team builds skills and experience, the odds are rather in favor of a successful implementation and healthy team morale. That is still a lot better than accepting “waste” as normal. Organizations can make great gains in their business by aggressively targeting “leaner software delivery.”
“Don’t avoid having difficult conversation with the customer or stakeholder.” Communication is a critical aspect of the success of software delivery and hence the success of your organization. Communicating the right information at the right time based on your knowledge and experience will help you become a trusted advisor that helps guide clients and stakeholders away from costly mistakes. What better way to prove your value to the entire delivery cycle? Involving the testing function early enough in software delivery and getting testing into the definition of “done” will be the natural result of your efforts to do a better job as tester, developer, business analyst or project manager.
Jim also wrote a whitepaper on why and how to bring UI automation into CI/CD. It will help you understand the benefits of continuous integration and how to accelerate them through setting appropriate quality gates during software development and delivery.
Asya Ivanova is the Product Marketing Manager for Telerik Test Studio. A passionate technology enthusiast, she has product experience within BIM, Master Data Management and pro audio. Together with the Test Studio team she keeps an eye on ways to make test automation easier for the QA engineer. Asya is a hi fi geek, spending her time with some good old and new album records. Connect on LinkedIn.
Subscribe to be the first to get our expert-written articles and tutorials for developers!