logo logo

Achieve More with Less: Pareto’s Principle in Software Testing

Pareto's 80/20 principle in software testing

Everyone loves to work smarter and not harder, but how to accomplish that still remains a question mark. Everything does not matter equally. We often spend too much time focusing on everything and not enough on the things that drive results. Focusing on what matters the most is the key to success in any profession. Focusing on what matters may sound like common sense. But common sense is not as common as we think. Pareto’s 80/20 rule is a potent little principle that can increase your productivity as a tester and make your life easier. In this article, we will discuss Pareto’s principle and its application in software testing.

What if you could spend less time in testing, but still get more done?

Pareto's principle in software testing

What is the Pareto Principle?

The Pareto principle (otherwise known as the 80:20 Rule) states that for many outcomes roughly 80% of consequences come from 20% of the causes (the “vital few”) [Wikipedia]. Vilfredo Pareto, an Italian economist devised this principle. Pareto noticed that 20% of the pea pods in his garden produced almost 80% of the peas. He later realized that this proportion could be applied, on a larger scale, to most aspects of our lives. Dr. Joseph Juran was the one who popularized this rule of thumb.

Remember that this is not a concrete rule. The numbers need not have to be 80/20 exactly. Sometimes you may observe 90/10, 70/30, or even 60/40. Use Pareto’s principle as a guide, not a hard-and-fast rule. The point is that most things in life are not evenly distributed, some contribute more than others. Knowing this fact can offer tremendous value to testers. 

80% of your customer use only 20% of all the features

80/20 rule in testing

Not all features are of the same significance. Customers value some features more than others. 20% of the features bring 80% of the value for customers. Determine the top 20% of the features in your website/app that 80% of customers use.

  • Leverage analytics, heatmaps, session recordings to your advantage and understand what customers really do on your website/app.
  • Use this data to build an intelligent automation strategy. Targeting these areas will give you the most value and impact from your test automation.
  • Analyzing customer behavior data also enables you to step into the user’s shoes and identify crucial issues that limit the user’s from getting the best out of your application. Concentrating on 20% of the features that really matter will considerably reduce the number of customer issues.

80% of the business comes from 20% of the customers

pareto principle in testing

Every business has some customers who are more valuable than others. It can because they contribute to a major chunk of revenue or have a good relationship with the business. As testers, we need to identify who our most valuable customers are and strive to keep them happy.

  • Know your customer’s needs and what problem they are trying to solve.
  • Understanding the use cases of these customers and mimicking them in your test cases and automated suites will help you test better.
  • Try to get detailed feedback from your most valued customers about your products and services. Understand what they like and what they dislike, and what delights them.
  • A few customers always experience issues more frequently than others. Analyzing support tickets will greatly assist you to understand the reasons for issues and find some patterns that will help you to strengthen your test cases and automated suites.

80% of the defects are caused by 20% of the modules

A small number of modules contain the most number of bugs. Bugs tend to cluster in a few modules which are complex or tricky. We often observe this phenomenon in our products or services we test. This is popularly known as defect clustering, one of the 7 testing principles.

  • Testers need to be data-driven and define metrics to spot defect clusters.
  • Then use this information to perform risk assessments when planning your tests.
  • Concentrating your time and efforts in these areas will help you unearth maximum issues by considerably reducing the time and cost of finding issues.
  • Build automated tests to assess the health of these defect-prone modules.

defect clustering

Defect distribution by Module – Pie chart

For example – in the above chart, you can clearly visualize the defect clusters. Focusing on Library, stats and search will help to largely reduce the number of issues.

Once you start cleaning your defect clusters, the number of defects starts dropping, and eventually, that module will not be a threat. Defect clusters change over time. You need to constantly identify new defect clusters and work on eradicating them.

80/20 rule is a strong recurring pattern that you will notice in several aspects of software testing

80/20 principle

  • 80% of the bugs are found by only 20% of the test cases – use this to guide your test case prioritization and automation.
  • 80% of the output is driven by 20% of the testers – use this to guide your team’s performance evaluation.
  • 80% of a testing team’s time is spent on 20% of the application – use this to ensure that your team is focusing on the right areas.
  • 80% of the testing jobs require you to be proficient at 20% of all skills – use this to guide your job switch and build a successful career

Conclusion

Pareto’s rule of thumb directs you to spend more time working on those things that give you greater rewards. You can also cut back on a lot of things that do not give you significant returns on your efforts. We all are automatically drawn towards tasks that do not have a real impact. Before you start your work every day, ask yourself – “Is this task on the top 20% of my to-do list or in the bottom 80%?”

Leave a Reply

FacebookLinkedInTwitterEmail