Site icon TestingDocs.com

Software Testing Principles

Overview

In this tutorial, we will learn about Software Testing Principles. These principles give an overview of key testing practices.

Software Testing Principles

Let’s first outline the fundamental software testing principles. The principles are as follows:

Testing shows only the presence of defects

Testing can only show the presence of the defects or bugs in the software under test. Software testing cannot prove that the software product is 100% defect-free. Testing increases the probability of finding undiscovered bugs in the product, but cannot show the absence of bugs in the product.

Exhaustive Testing is not possible

Testing everything is practically impossible. Testing all combinations and test scenarios is not possible. In the real-world, Agile frameworks build fast and ship often within 2 – 4 weeks of time. Testing teams increase test coverage of main functionality and automation rate to reduce the software risk.

Early Testing saves money

Software defects that are identified early in the product life cycle are easy to fix and take less cost fixing them. The main and critical functionality of the product should be tested first.

 

Defect Clustering

This principle states that the 80-20 Pareto rule can be applied for the defects. 80 percent of the bugs can be found in 20 percent of the modules. The software testing team should concentrate on testing these modules.

Pesticide Paradox

In agriculture and farming, if we apply the same pesticide over and over again the insects would build immunity to the medicine. In the same way, if we repeat the same tests over and over again, the test will not find new defects in the product. It’s important to review the test cases and test scenarios regularly.

Context-dependent

Software testing is context-dependent. Different applications need to be tested differently. Testing approach, strategies, tools vary from application to application.

The absence of errors is a fallacy

The software product should meet end-users expectations, requirements, and fitness of use. If the software doesn’t fit the customer’s use, then it is irrelevant how many bugs are discovered and fixed by the software team. It’s important to take end users’ feedback so that the software product meets users’ expectations. Even if the product is error-free, it’s not worth it if it’s not usable for the customer.

 

Software Testing Tutorials:

https://www.testingdocs.com/software-testing-tutorials/

Exit mobile version