Skip to main content

Why Developers Shouldn't Perform Software Testing - A Rebuttal

Take a minute and read the following 2-pager entitled "Guest View: Why developers shouldn’t perform software testing".

Man, I tried to like this article because the author, Martin Mudge, clearly knows that businesses who undervalue quality by trying to eliminate testing through simply shuffling the traditional testing task to developers are making a huge mistake. Unfortunately he begins by making an assertion that testing overburdens a developer which at face value is complete nonsense. If you feel overburdened, it is a timeline issue and that is true no matter WHAT the nature of the tasking is.  So his assertion of “one the most important” contributing factors being overburdening the developers is massively flawed. It gets immediately worse from there because his second point is about time constraints. 

Mr Mudge just gets so much wrong. What he really should be shooting down is the idea that testing, as a cost-center not as a task, can be eliminated by having your product center carry that specific task load instead. But if that’s your company’s opinion of the value of testing, then your developers aren’t going to want to be handed that. It doesn’t matter if it is testing or any other related task, if you portray the work as low-value and then ask someone who thinks of their work as high value to add it to their plate, it is naturally an insult. It all begins with management’s attitude. However, given that Mr Mudge’s company, BugFinders, sells software testing as a service, you may surmise that he’s not in the business of contradicting that point of view but exploiting it to earn a living as an outsourced contract cost center. Of the 5 points their website makes about the value of their testing service, it is very telling that the 5th point is: "Control testing costs by setting a fixed budget”. 

The bottom line is that bugs are inevitable and no amount of testing budget will 100% prevent them, even major bugs, from escaping into the wild forever. But that’s okay. Failure is okay. You should seek out failure. Everybody should visualize it, as early in the process as possible, and start thinking about how to address it. Failure should be embraced, understood, and anticipated by all team members. The value of dedicated QA Engineering is giving professionals the job of specializing in looking for, characterizing, reporting, triaging, and tracking all avenues of failure in your product and then reacting to that organizationally with sober consideration. These avenues of failure can be observed failures (bugs) or potential failures (risks). But there are many things that can lead to handling bugs or risks improperly which happens the instant your priorities are no longer aligned underneath overall quality. 



Everybody’s priorities should be the same but their role dictates how they carry out their work with respect to those priorities. Therefore if quality is anyone’s priority, it MUST be everyone’s priority. You can’t know if you’re meeting your quality priority without testing your work. That’s why really smart companies are reducing the number of dedicated QA Engineers but making everyone a tester. They’re buying into W. Edwards Deming's principle of eliminating a lengthy inspection process at the end of a production cycle and front-loading quality by making it everyone’s concern (thus reducing the overall cost of achieving higher quality). That doesn’t mean eliminating inspection. Instead that means don’t rely on dedicated inspectors only for ensuring product quality. That means elevating testing to an unmistakably high-value activity and expecting every high-value contributor to master it in the context of their role. That means more inspectors, not fewer, conducting more inspections more frequently. That means adding more perspectives and questioning more assumptions. In the end, my opinion is very clearly expressed in the title of this blog: Everybody Tests.

Comments

  1. In order to get SQA services there is no no way better than get in touch with www.nixsolutions.com/services/quality-assurance-services/

    ReplyDelete
  2. The developer does not have to be engaged in this. He should write a program code and edit it in the event of incorrect logic software. Testing should be engaged in professional teams, often independent http://www.deviqa.com. It demands the success of each new project for developers. This whole process as one that complements each other.

    ReplyDelete
  3. I have attended the PHP course. Course content is excellent. I would recommend this course anyone wants to make career in PHP. Instructor describes you course in detail. All Presentations are very good. The Course Material is truly great,and good thing is that you will get Real time Project Explanation with Case Studies.Thank you ASTERHR IT SOLUTION PHP training in chennai

    ReplyDelete
  4. Awesome information.
    such an useful article.
    thanks for posting.keep sharing.
    Best software testing training in Bengaluru

    ReplyDelete
  5. Hello sir,
    How are you,I read your blog ,and i want to suggest you a website Hello sir ,
    I am habib and i recently read your full Blog it filled with many useful information, i want to tell you about a interesting website ,i think its going to be useful for your article developments please take a look Buy Google Reviews
    Thank you i think its should be helpful to you.

    Thank you...

    ReplyDelete
  6. The above information is helpful to me. thanks for sharing this concept briefly.
    Selenium Training institute in hyderabad

    ReplyDelete
  7. Interesting perspective! It's true that having dedicated testers helps maintain objectivity and ensures better quality. Thanks for sharing this valuable insight!
    DevOps training Hyderabad

    ReplyDelete
  8. Software testing often faces challenges in recognition and resource allocation within the software development industry. Despite its critical role in ensuring software quality, testers frequently encounter issues that hinder their effectiveness and respect within teams.

    Generative AI Training In Hyderabad

    ReplyDelete
  9. Thanks for the insightful post on why developers shouldn't perform their own testing. Your explanation highlights the importance of objectivity in testing, and it's a great reminder for all developers. If you're also preparing for exams, I recommend checking out sat coaching online by Fast Prep Academy to stay focused and organized during your study sessions.

    ReplyDelete
  10. Good perspective on why developers shouldn’t perform testing alone. Clear separation of roles between development and QA helps improve software quality and reduces bias during the testing process. As modern applications increasingly rely on cloud data platforms, gaining skills in data engineering is also valuable. Professionals interested in building expertise can explore Snowflake Training in Hyderabad to learn about cloud-based data warehousing and analytics.

    ReplyDelete

Post a Comment