Recently I have realised something disturbing. On projects, time for testing is seemingly the first to be compromised should development overrun. It seems all too easy for developers and managers alike to cut time in a test during a delayed project or in more extreme cases foregoing a test team altogether, which is very worrying, and that is coming from a developer. There is a common misconception it seems that dev teams and test teams don’t like each other. When in fact it is more likely that this relationship is more symbiotic, dev needs a test to point out mistakes, whether it is missed functionality or just broken functionality and test ultimately need dev without us developers test would have no work.
I know you, dear reader and you the boss looking over the shoulder, possibly think I am waffling on a bit but I think it is important to remind people that the relationship is symbiotic.
When it comes to basic functionality, yes, we as developers can test this ourselves, and I’d assume most of us do regularly during the development process. We may even have a JENKINS server set up which will pull from the repository and run a set of scripts. Most of these scripts will push a few values through a function and test the output to make sure that it is what we would expect. We may even, have scripts that test the limits of the functions to make sure that the expected errors are returned. This is Unit Testing 101. We may even while developing or before a commit run through the new piece of functionality from the front end, to make sure the User gets the correct responses to their input. Developers do this all the time, we do it without knowing it in some cases.
Now is this enough testing of new or modified functionality? Can you trust a developer (Even if it is not the person who wrote the code) isn’t ‘fudging it’ to get these outcomes so they can go back to development? This is something people could argue about for hours (I’ve been in that meeting), in my opinion, the answer is always No! Developer testing is inherently flawed in my opinion a Developer knows the ‘paths’ of the code and they are likely to be very gentle with the system. The same can be said for developer-created unit tests. While they will do as expected and test the unit, they will do this gently also. This is why developers need the aid of a Testing Team, a Testing team does not care for your carefully constructed switch statement that you forgot to add a default to, they don’t care that it is obvious to add a numerical value to a quantity. They will find the flaws in your code and will report it.
Developers not only need a Test Team we should rely on it for important feedback of the system before it gets in front of a client or user. A Test Team can provide valuable feedback on the usability of the system. This is something developers do not always think about, like how many clicks it takes to navigate to an area within the system.
This is not the only time a developer needs a tester, the other important time is during support. If there is no test team this stage is needlessly a time waste for developers, who cannot rely on the support of a test team who will attempt to recreate any issue or bug raised. If a developer were to do this they would need to be taken off Development of new features or other fixes to try and replicate the reported issue. This would be time-consuming and a bad use of resources, when this can be given to a team to replicate and give detailed instruction for the developer to help narrow down the issue.
Ok so Yes! This has been a bit ‘waffling’ but it needs to be said. Whether it is just to make developers appreciate the valuable assistance that test teams give to our daily lives. It needs to be said as much as you can design the perfect system and build it with the best developers. but out dedicated tests being run on the system by a human removed from the process. There is potential for errors that your client will see and an even greater potential for errors to slip past into the wider world. Even with all the testing in the world, I am reminded of what a lecturer once said, ‘You cannot test for human stupidity’.
We are a leading niche digital & tech recruitment specialist for the North East of England. We Specialise in the acquisition of high-performing technology talent across a variety of IT sectors including Digital & Technology Software Development.
Our ultimate goal is to make a positive impact on every client and candidate we serve - from the initial call and introduction, right up to the final delivery, we want our clients and candidates to feel they have had a beneficial and productive experience.
If you’re looking to start your journey in sourcing talent or find your dream job, you’ll need a passionate, motivated team of experts to guide you. Check out our Jobs page for open vacancies. If interested, contact us or call 0191 300 6501 for a quick chat with our team.
Back to Blog