Clearing the Software Testing Bottleneck
November 01, 2017

Bob Davis
Plutora

Throughout the software development and delivery process, each team plays a pivotal role in ensuring that the end result is exactly what is needed. However, all too often the software testing team, who come in towards the end of the cycle, is labeled as a bottleneck that slows down the process. But it is always important to see both sides of an argument and understand the pressures put on the testing team.

The challenges are varied, but also point towards a more efficient future. In a recent survey by PractiTest and Tea-Time with Testers, 47 percent of test teams said they found coping with development timeframes very challenging.

Additionally, more involvement in the work of the company outside of testing was a big challenge to 41 percent of respondents, and 44 percent said team size was their biggest issue.

These top responses show the pressures facing test teams in a highly productive dev organization. But why are they feeling these pressures and how can it be fixed? These are the big questions that organizations should be asking themselves.

Poor Software Testing Productivity

Release cycles are speeding up as enterprise organizations strive to increase productivity through agile and continuous delivery practices. While accelerating delivery has tremendous benefits, it exposes inefficient processes.

Software testing teams are finding that the manual process that used to be good enough can no longer keep up with the pace of delivery. And although 85 percent of respondents indicated that their company uses automation, only 19 percent use automation for more than 50 percent of test cases.

These figures speak specifically to test automation, but manual processes plague the entire software testing lifecycle. Communication, test management, documentation, and testing practices are all vulnerable to manual inefficiencies.

What's Impacting Software Testing Productivity?

The first step to fixing testing bottlenecks is identifying exactly what is slowing down enterprise software testing productivity. The biggest areas that impact this are often weak test prioritization, poor dependency management and bad communication.

Weak Test Prioritization
How is testing prioritized? How is test prioritization being updated based on feedback from development and testing?

It is human nature to go after the low-hanging fruit, to get a few quick wins to show progress, and testing is no different. Unfortunately, this just pushes off the hard tests to later when there is less time to address any issues that arise.

In any situation, it is beneficial to prioritize testing the highest value and most risky pieces first. Also, not relying on initial estimates of what the highest value and most risky things are is important. Feedback from development can help teams focus on the right things first while feedback from testing can help guide the process as it moves forward. Remember, defects tend to cluster, so as defects start popping up, re-evaluate where the focus needs to be.

Poor Dependency Management
Part of what can make software testing unpredictable is the reliance on so many dependencies lining up at the same time. Of course, this often doesn't happen and when dependencies are mismanaged it can result in unnecessary downtime and a significant slowdown of the whole process.

Some of the things that software tests can be dependent on, include:
■ Requirements
■ Other tests
■ Test data
■ Test environments
■ Development completion
■ Quality of code

Productivity depends on knowing a team's specific dependencies, understanding how those dependencies are progressing, and managing those dependencies.

Mapping out and managing dependencies is fairly straightforward to talk about, but in an enterprise where multiple teams are working on multiple projects, it's often not that easy. There needs to be a process in place to track all teams' dependencies and highlight the ones that may cause an impact.

This is difficult to do with spreadsheets or legacy testing tools, but a modern testing tool that includes testing design, planning, manual and automated execution, defect tracking, and progress reporting into a single interface should provide the traceability to track these dependencies.

Bad Communication
Nobody can be productive if they are not communicating effectively. Email, calls, and meetings are ineffective forms of communication.

In fact, a study by the Harvard Business Review found that only a little more than half of the people were able to correctly ascertain the context and meaning of email.

Additionally, it has been found that humans consistently overestimate the ability of an email receiver's ability to ascertain context, and that when we lack this information, we often fill in the gaps with stereotypes and potentially faulty guesses. Even worse, research has found that only about half of employees open internal communication emails. These studies make it clear that to get a message heard and understood, email is not the right channel.

The ineffectiveness of email results in more meetings. Only 7 percent of information communicated comes from the actual words we are saying, according to Professor Albert Mehrabian at the University of California, Los Angeles (UCLA). The other 93 percent of communicated information comes through how we say the words, non-verbal cues, the tone of voice, context, and feedback. Unfortunately, meetings tend to turn into a bunch of status updates because people aren't getting the information they need from other channels. An hour-long meeting is a very inefficient way to get status updates.

So, it's important to use a communication platform that captures everyone's input and stores it in a central location. Some teams may use tools such as Slack, while others may have collaboration built into their system. The important things are to ensure the tools the teams use to communicate are connected to the tools that planning stakeholders use.

As software releases become more frequent, the way things used to be done is just not keeping up. Productivity is critical, but it is just one component of improving overall enterprise software testing performance. Taking a fresh look at how teams can work better together will ensure that testing isn't a bottleneck, but rather a catalyst for delivering software faster.

Bob Davis is CMO at Plutora

The Latest

June 21, 2018

DevSecOps is quickly gaining support and traction, within and beyond information security teams. In fact, 70% of respondents believe their culture can embrace the change needed to fuse Security and DevOps, according to a new survey of 80 security professionals by Aqua Security ...

June 20, 2018

The larger the company size, the higher the proportion of low IT performers, according to the State of DevOps: Market Segmentation Report from Puppet, based on the 2017 State of DevOps Survey data ...

June 18, 2018

An overwhelming 83 percent of respondents have concerns about deploying traditional firewalls in the cloud, according to Firewalls and the Cloud, a survey conducted by Barracuda Networks...

June 14, 2018

Despite the vast majority of cloud management decision-makers believing that DevOps and microservice enablement are important, very few believe that their organizations are capable of delivering them today — a gap that is costing the average enterprise $34 million per year, according to new report from the Ponemon Institute ...

June 12, 2018

Dev teams are doing their best to give the customers what they want, but oftentimes find themselves in between a rock and a hard place. Teams are struggling to get up to speed with new tools that are meant to make their lives easier and more realistic to hit deadlines. With spring cleaning season upon us, take time this season to tune up agile processes and continue the work of advancing the shift towards DevOps ...

June 11, 2018

The ability to create a culture of DevOps is critical to any organization's ability to deliver applications and services at a high rate of speed, but can we clearly and concisely answer the question: What exactly is DevOps? Despite the best intentions, some large companies are struggling to understand what DevOps actually is, and what it takes to fully implement its concepts and reap its benefits ...

June 07, 2018

The Twelve-Factor App is a methodology that offers a 12-step best practice approach for developers to apply when building software-as-a-service apps that are both scalable and maintainable in a DevOps world. As software continues to be written and deployed at a faster rate and in the cloud, development teams are finding there is more room for failure and vulnerabilities. This blog series will discuss how to build a Twelve-Factor app securely ...

June 05, 2018

Everyone understands the importance of code quality for applications, particularly when DevOps results in releases becoming faster and faster, reducing the room for error. The same issues increasingly apply to databases, which are a vital part of DevOps workflows. Fail to integrate the database into DevOps and you'll face bottlenecks that slow down your processes and undermine your efforts ...

June 04, 2018

DevOps and security traditionally have been siloed functions and security is often seen as a policing function by DevOps team members. However, more mature business leaders are trying to bridge the gap between the two functions to achieve business excellence. This theme was evident from our recent survey where 39% of respondents cited that DevOps and development teams care greatly about their cybersecurity posture, showing that the silo between security/IT and development teams is diminishing ...

May 31, 2018

DEVOPSdigest asked experts from across the IT industry for their opinions on the top tools to support DevSecOps. Part 5, the last installment, offers some final thoughts about "tools" that are not necessarily technology ...

Share this