The workflow (and dental health) of testers can be improved
By Phil Jackson
Testers are the quality assurance gatekeepers for organisations’ applications. They’re typically meticulous, level-headed people not given to emotional excesses, but if you want to hear a professional tester grumble and grind their teeth, just ask them one of these questions:
“Why are you coding?”
“Why can’t you code?”
“Why are there still bugs the application? I thought you tested it.”
“Why can’t you test everything?”
Expectations and reality
The typical non-tech person’s expectation of a tester is that they will be able to find all the bugs in the deepest, darkest, most obscure parts of the application. In addition, they will presume that their tester will understand their application’s purpose and the domain it sits in, to a high degree. But these are not reasonable expectations.
Testing is a creative activity.
One of the key skills required to be effective in the industry is the “testing mindset.” This is such an important part of the role that it outweighs hard coding or domain skills.
Creativity and lateral thinking are hard qualities to measure objectively, but they’re core skills for a tester because it’s a role that’s all about thinking outside the box.
It’s possible to have high-level coding and domain skills but not understand what being a tester is all about.
People rarely make a conscious choice to become a software tester. It’s more often a role people fall into. They might discover a talent for testing while they’re at college, or they might find their way into it from a support background. A lot of testers start out working in software development roles where they have been helping polish products prior to release.
Testing is a role that attracts people who have a particular combination of technical skill and creative talent.
Good testers are hard to find.
Testing generally falls into two brackets (broadly speaking), irrespective of whether it’s manual or automated:
- functional and
Functional testers cover acceptance, end to end, smoke, and regression tests.
Non-functional testers are involved in security, performance and usability.
There are very few professional testers who work in both functional and non-functional areas. These are the unicorns of the testing world, and they’re highly prized by their employers.
Why good testers are underrated.
Testers end up spending quite a bit of time grinding their teeth - as we discussed at the top of the article - because their employers rarely understand what their true skill set is or how to maximise their efficacy.
This is a highly specialised and intuitive role. To get the most out of an in-house tester requires knowledge about development and cybersecurity most employers just don’t possess.
Trying to achieve 100% test coverage with a single tester or even a small in-house team is a laudable ambition, but unrealistic. Meanwhile, every company wants to be able to say their testing is hole-proof.
Too often the pressure bears down onto the overworked testers, who are in an impossible bind, trying to achieve good outcomes but dealing with completely unrealistic expectations.
Better workflow options?
Testers are increasingly trying to be more proactive in the workspace by engaging with requirements ahead of time, which can take pressure off their process, improving coverage, and help keep the testing pyramid intact. A new problem arises though, that testers can find that themselves acting as negotiators; in between management and the development team. Time to deliver a project starts to slip, testing time gets squeezed, and once again the outcomes suffer because the process in inadequately understood and resourced by management.
Open and effective communication is vital to ensure that the needs of the project are met and release dates can be made without sacrificing standards.
There’s an imperative to disrupt the familiar way of approaching testing, as an isolated process, so that more skilled people with specialised knowledge can work together.
Blockchain: a better tool for collaboration.
There’s that old saying, “a poor workman blames his tools,” but good tools are actually very important.
Communication and collaborative tools are also extremely important. Crowd-sourced teams have the potential to solve the issues of specialisation and efficiency that have traditionally dogged testers, but there has always been an inherent issue with verification and security with such platforms.
Blockchain DApps are now opening up a whole new range of better tools for collaborative testing. Because they employ smart-contract collaboration tools, they drive more rapid progress and eliminate time-wasting manual verification. Previously, working in large teams meant going through a central-point system, highly vulnerable to hacking or exploitation. Blockchain systems are decentralised, so they not only promote faster peer-to-peer collaboration but also enhance security.
For professional testers, decentralised Blockchain platforms have the potential to be a real game changer.
Like many other industries before it, testing is transitioning from a fragmented, stand-alone workforce model, to an outsourced collaborative one.
Bug-hunters, threat researchers and testers could soon be grinding their teeth a whole lot less, because working in a Blockchain structured context will allow them to specialise more and investigate issues more deeply.
Employers will also win in this new equation. Having the skills and experience of thousands of networked testers working on their projects will get them much closer to the elusive 100% testing ideal than a small, overworked in-house team ever could.
Innovation can cure frustration.
If you’re a tester, stand tall, you’re doing important work.
Please keep those keys to the kingdom safe and don’t let others push you into releasing without being ready.
If you’re a developer, be kind to the testers; they’re the ones who get the finger pointed at them when things break.
If you’re in business, consider changing the way you manage your testing targets. Delays in getting software out may well be because a bug was found, but they might also be because your goals were unrealistic and you don’t have enough people on the problem.
Consider a better way.
We are now living in a post-Blockchain world. You don’t need to meet every person who works on your projects to trust them. The smart-contracts of the Blockchain ecology eliminate the need to human verification and put powerful crowd-sourced resources within your reach.
Instead of working with three stressed out, pressurised testers and listening to them grind their teeth as they toil to meet your deadlines, you could be tapping into a secure worldwide network of verified specialists.
A decentralised bug-hunting platform is coming
Uncloak is a Blockchain-based platform that brings together certified cybersecurity researchers, non-functional testers, and white-hat hackers to work on security issues.
“Uncloak is a cyber threat vulnerability scanning system, and it brings together cybersecurity experts worldwide,” Uncloak’s Blockchain advisor Asad Mahmood, said in a recent interview.
“It uses artificial intelligence — namely, advanced machine learning algorithms — to check massive amounts of online data… Uncloak includes a next-generation vulnerability scanning system which is designed to ensure that businesses remain compliant and aware of new security issues.
“The platform is completely automated using EOS Blockchain smart contracts together with AI. There are no update delays and no wasted time…”
You can check out a demo of Uncloak right now at: https://demo.uncloak.io/
Phil Jackson is Uncloak’s CTO & resident cybersecurity expert. He has more than 22 years of IT security and software development experience working with a myriad organisations and cyber security applications. Phil specialises in analysing the complexities of global security threats and minimising the impact they can have on businesses.