When it comes to software testing, each individual team in the software development and delivery process shares the responsibility of making sure the final outcome is exactly what is required and that it is delivered on time. Nonetheless, you can be guaranteed that there is one team near the end of the process that will cause congestion and slow everything around them down – the software testing team. However, it is always useful to see both sides of the coin, and not only understand the need to complete the delivery cycle, but attempt to recognise the high demands that the testing team faces daily.
It is possible for future processes to be more efficient and organised, despite the challenges that need resolving. In a recent survey by PractiTest and Tea-Time with Testers, 47 per cent of test teams said coping with timeframes for development could often be difficult. Teams also thought that having to take part in more company work not related to testing was another big challenge, with 41 per cent of respondents agreeing, as well as 44 per cent admitting that team size was their biggest issue. Responses such as these highlight the pressures test teams are constantly under in highly productive development organisations, but why these pressures exist and how they can be improved are the big questions that organisations need to ask themselves.
Software testing’s lack of productivity
Release cycles are speeding up as enterprise organisations strive to increase productivity through agile and continuous delivery practices. While accelerating delivery has tremendous benefits, it also 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 per cent of respondents indicated that their company uses automation, only 19 per cent use automation for more than 50 per cent of test cases.
These figures speak specifically to test automation, but manual processes plague the entire software lifecycle. Communication, test management, documentation, and testing practices are all vulnerable to manual inefficiencies.
What’s affecting 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 prioritisation, poor dependency management and bad communication.
Weak Test Prioritisation
How is testing prioritised? How is test prioritisation 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 prioritise 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:
· 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 all reporting into a single interface should provide the traceability to track these dependencies.
Nobody can be productive if they are not communicating effectively. Emails, 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 per cent 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 per cent of communicated information comes through how we say the words, non-verbal cues, 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.
To avoid this, it’s imperative to use a platform specifically for communication purposes that includes everyone’s ideas that can be kept in a central location. One option is to use tools such as Slack, whereas other teams may have built-in collaboration systems. What is important is to ensure the tools that the teams use to communicate are connected to those of planning stakeholders.
With software releases more frequent than ever before, the previous way of doing things is just not suitable anymore. Productivity is just one element of improving the overall functioning of enterprise software testing, despite its obvious level of importance. Looking at how teamwork can be improved will ensure that testing isn’t a bottleneck, but rather a catalyst for the faster delivery of software.
Bob Davis, CMO, brings to Plutora
Image source: Shutterstock/niroworld