Image CAPTCHA
Enter the characters shown in the image.

You are here

Solving the Defect Clustering Problem

It's quite common for testers to encounter defect clustering and other quality issues as they build more complex products. How can we keep them from bringing down the quality? Let's find out.

Often, defects are not evenly distributed in an application. The majority of quality issues can be caused by a small number of features in an application. This is called defect clustering. The reason for its occurrence may vary from legacy code being prone to breakage, to newer features that are undergoing frequent changes, to a particularly fickle 3rd-party integration. Whatever the reason, identifying the defect-prone areas with the right mindset and a suitable defect tracking software is a must-have.

Dealing with defects can be tricky. Often in pursuit of fixing defects, developers end up creating more defects when they make changes in the code. And when they try to fix those, they end up creating even more. Because of this multiplying effect, it's often better to leave the code unchanged.

You have reason to believe that you're dealing with defect clustering if:

  • Despite having a significant number of test cases, issues still appear regularly.
  • Bugs seem to crop up in the same "problem features" frequently.
  • Minimizing defect clustering would require the improvement initiative to focus on the specific software around which the majority of issues revolve, be it a product feature or a codebase. This certainly doesn't mean that you should abandon everything else, but relocating few extra resources in the targeted technology can make a great difference.

    For instance, if the majority of customer complaints revolve around a certain aspect of a product, focusing on the improvement initiative solely around that aspect can help a great deal. It might require you to borrow product managers or some developers from other projects and re-assigning them for a month or two to build up test coverage or automation around that feature.

    Developers and testers often make the mistake of relying on their intuitions rather than facts. Cognitive biases often get the better of them, causing an error in judgment and forcing them to make mistakes. In the era in which defect tracking software programs are solving almost all problems, experts believe that cognitive biases are the reason why testers/developers end up asking themselves, "How did I miss this bug?".
    To avoid this, you should be a believer in data-driven quality improvement. Bleacher Report's Quentin Thomas, while sharing his experience, explained how he managed to take a trove of defect data from his organization to prove that an old base, that was only being lightly maintained, was the source of the majority of bugs. Rather than suggesting the organization allocate more resources into coverage for that code-base, the data showed that maybe it needed to be abandoned altogether.

    "The data gave us the ammo as QA to say "Hey, why don't we just consider phasing it out, because it is causing us a lot of issues and that's better than trying to spend all this time to test and analyze this stuff," he says. "Sometimes getting rid of a service no one is maintaining is going to do a better job of improving quality than anything QA can do."

    This strengthens the point made earlier that sometimes, it's better to leave the codebase unchanged or abandon an old one altogether rather than spending time and resources just to find out that the problem has gotten worse.

    About The Author: 

    QATestingTools.com, more technical information on Software Testing Tools and Testing Resources

     

    MANUFACTURERS Wallboard

    Testing tool manufacturers world-wide list
    10Levels ABID CONSULTING AccelQ Accord Software ActiMind AdaCore
    AdaLog AgileLoad AgileWay Agitar Algorismi ALL4TEC
    Andreas Kleffel Android Apache Apica Apollo Systems AppAssist.mobi
    Applitools AppPerfect Appsee ApTest Assertible Assure
    Atlassian AutoIt Consulti .. Automation Anyw .. Automation Cons .. Axosoft Aztaz Software
    Backtrace I/O Badboy BlazeMeter Borvid BrowserStack BSQUARE
    BStriker Intern .. CA Technologies Canonical Canoo Engineeri .. Catch Software CelestialTeapot
    Chris Mallett Cleanscape ClicTest CloudQA Codeborne CodeCentrix
    CodePlex projec .. Codoid Cogitek Compuware Configure IT Conflair
    ConSol Core Services Coronys Ltd Countersoft CresTech Softwa .. CrossBrowserTes ..
    Crosscheck Netw .. Crowdsourced Te .. Cucumber Ltd Cyara Cygnet Infotech DareBoost
    Databene Datamatics Glob .. DevExpress DTM soft Dynatrace LLC EasyQA
    Eclipse EkaTechserv Elvior Emmanuel Jorge Empirix EPAM Systems
    Equafy Esterel Technol .. eXept Software .. Experitest Finaris Froglogic
    FrontEndART Ltd GeneXus GitHub project gnoso Google Code Pro .. GrammaTech
    Gurock Software HelpSystems HENIX Hewlett Packard .. Hexawise High-Tech Bridg ..
    Hiptest Hitex IBM Rational imbus Shanghai Impetus Inflectra
    informUp InTENSO - IT Ex .. Ipswitch Jamo Solutions Janova JAR Technologie ..
    JBoss Developer jClarity Jellly.io JetBrains Jively jQuery foundati ..
    JS Foundation Jspresso Kanoah KMS Technology Kualitee LDRA Limited
    Litmus LoadFocus Loadster Perfor .. MarathonITE Marketcircle Marketcircle
    Maveryx Meliora Ltd Micro Focus Sof .. Microsoft Mobile Labs Mobile1st
    Mockaroo, LLC Monkop Mozila MSys Technologi .. Navicat NeoTys
    Neowise Softwar .. NetCart NORIZZK.COM Novosync Mobili .. NRG Global NTT Resonant
    OC Systems Odin Technology OpCord Oracle Orcanos Original Softwa ..
    OW2 PANAYA Parasoft PassMark Patterson Consu .. Perfecto Mobile
    Pivotal, Inc. Plutora Postman (API To .. PractiTest PrimaTest Process One
    Programming Res .. Psoda PureLoad PushToTest Python Q-Assurance
    QA Systems QACube QASymphony QAWorks QMetry Quali
    Qualitia Softwa .. Quality First S .. Quotium RadView Softwar .. Ranorex RedLine13
    Reflective Solu .. ReQtest RevDeBug Robotium Tech Rogue Wave Soft .. Rommana Softwar ..
    RTTS ruby-doc.org Runscope Sandklef GNU La .. Sauce Labs Seapine Softwar ..
    SeleniumHQ Sencha Sensiple Siemens PLM Sof .. SmartBear Softw .. SmarteSoft
    SOASTA SoftLogica Softomotive Softsmith Solution-Soft SonarSource
    Sourceforge Spirent Technol .. SQS Software Qu .. Square Stimulus Techno .. Swifting AB
    Synopsys T-komp T-Plan TechExcel TechTalk Telerik By Prog ..
    Tellurium Test Collab Test Goat Test Recon TestCaseLab testCloud.de Gm ..
    TestCraft Techn .. Testenium Testim.io TestingBot TestLodge Testmunk
    Testomato TestOptimal TestPlant TestPro Testsigma Techn .. Testuff
    The Core Bankin .. The MathWorks The Open Group thePHP.cc Thoughtbot Thoughtworks
    Tigris.org Time Simulator Top-Q Trace Technolog .. TrendIC TRICENTIS
    Tritusa Pty Ltd TWD Solutions P .. TypeMock Tyto Software Ubertesters UniTESK
    Universal Test .. Usetrace Ltd Utrecht Univers .. Validata Group Vanamco AG Vector Software
    Veracode Verifaya Corpor .. Verit VersionOne Viewlike.us Vornex Inc.
    Watir.com WcfStorm Soluti .. We Are Mammoth Web Performance .. Wintask Wireshark Found ..
    Worksoft Xceptance XK72 Xpand IT XQual ZAPTEST
    Zeenyx Software .. Zephyr Zeta Software zutubi pty

    Theme by Danetsoft and Danang Probo Sayekti