I’m sure you’ve heard talk about Drupal QA and whether or not you need it. The QA debate has been raging on for some time now. Let’s explore the why objectively, without any bias. Just kidding! I’m a Drupal QA Engineer.
Drupal QA & Developer Bias
There might be a bit of a slant here. But you know who else can be biased? Drupal developers. Part of my job is to ensure they’re not too biased when it comes to their work. They’re close to their work to be objective, to test their own code.
Last year Yahoo decided to nix their test and quality assurance team and handed the responsibility of testing to the developers. I don’t think it’s a bad idea to an extent when we allow devs to take initiative when it comes to the quality of their own code. They should obviously check quality before passing it to QA. Testing your own code can be effective in some ways; you know which parts of the code are most complex and most likely to have bugs, right?
But it shouldn’t end there. Developers are usually doing unit testing to catch errors. But if they perform functional testing too, then what about performance testing, security testing, usability testing, etc. If your goal is to release a high-quality software, how can a dev effectively do all of this to their own work while remaining objective? And freeing up dev bandwidth isn’t the only reason to leave Drupal QA to the QA Engineers.
Consider the Cost of Quality (COQ)
When it comes to something like manufacturing, QA specialists are dealing more often than not with a set range of products. They’re accustomed to working with repetitive production lines, well established and well expected final results. But when it comes to software, again more often than not: QA’ers are working with something new, something unique and customized (Drupal sites). And the costs of custom product testing are always higher, right? But both costs are measured more or less the same and it involves asking: how much will this cost me when it fails?
Custom product quality is my job. And while it’s not the same as estimating internal failure costs, estimating the Cost of Quality (COQ) can never exclude it. If you compare the cost of bringing in a Drupal QA Engineer to the cost of failure, you’re saving. You’re saving big time.
Keep your Drupal QA Engineers.
Have you ever been on a project which, months into development, is discovered to be infested with bugs? Now the project is over budget because scenarios weren’t tested, or they were tested poorly from the inside. At that point, asking what went wrong isn’t going to fix the problem. But it might save you next time. You know that the project team could have avoided this setback altogether with the right mentality.
If a Drupal QA Engineer were to be present from the start, writing test cases that would’ve mimicked the user's actions, you’d have a different story with a happy ending. Or to put it more accurately: happy end user stories.
Drupal projects will always call for us.
It’s an open source software package with an endless variety of customization, with so many modules available and so much flexibility. Without Drupal QA Engineers, things will get messy fast. The QA team plays a such an important role in these projects and here are just seven reasons why:
1. Early Action: QA'ers get involved from the very beginning of a project, working closely with business analysts and developers to develop acceptance criteria for their user stories and writing test cases.
2. Client Compliance: They ensure that the implemented Drupal functionality is compliant with the clients’ business needs.
3. Fast Feedback: QA can provide fast feedback to Drupal developers about expected behavior to reduce the bug-fixing cycle. Also, they ensure that project satisfies the defined completion criteria before the project goes live.
4. Mobile Experiences: QA Team plays a significant role in mobile testing, where the responsiveness of application is tested.
5. Ensuring Speed: QA’ers help find issues pertaining to site speed and the performance errors that hold up loading time.
6. Regressions for Progression: When modifying code, there are sometimes unexpected side effects that bring in new bugs or an unreasonable performance downgrade.QA can create a regression suite and can run regression tests as needed.
7. Automation Engineering: If regression tests are automated, the testers can better utilize their time on other tasks like getting all the information required for the currents tasks to be implemented.
Drupal QA Engineers prevent mistakes, call to mind defects, help you avoid those pitfalls. Without QA, too many big things can go wrong and far too many small things. Think about it: serious spelling and grammar mistakes, broken links and images, missing content, browser compatibility. The developers who wrote the code are supposed to check all of this? No way.