Site icon Letzdotesting

Software testing principles

Seven Software Testing principles are,

Let’s see one by one in detail.

Testing shows presence of defects

Example: 

A software tester is testing an android mobile application. He should be working hard to identify potential defects rather than providing defect free product. This will help him to identify more bugs rather than achieving correctness.

Exhaustive Testing is impossible

Example:

Assume you are testing the email subscription feature of an application. There are 1000 users subscribed. Testing email subscription is working for 1000 users consumes a lot of time and cost. Instead, identify sample or prioritize the important test based on the requirement.

Early Testing

Example:

Consider product requirement gathering is completed and developer started coding. Once the development is done, tester identifies a defect in the requirement gathering and found that the requirement should be changed. This costs lots of money and time loss for the company and also finally end up in rework. Instead, if it’s found early on that would have saved the company a lot of money and time.

Defect Clustering

Example

Assume a new programmer developed a complex module. So, it is very likely to find more defects in that particular module.

Testing is context dependent

Example:

Banking site will have functionality features like transactions, interests, savings, etc., the E-Commerce site will have some features like shopping cart, order, payments, etc. So both are completely different in their functionality. Test scenarios and tests conducted on the software should also be different and depend on the context.

Pesticide Paradox

Example:

Executing the functional test cases, again and again, will not help to identify defects regarding the performance of the software or the defects regarding the security threat. Our test cases should be different to potentially identify new defects

Absence-of-errors fallacy

Example:

Software tester completely tested the product and the software is 100% defect free. Is that mean the product is ready to be shipped? No! Software tester should verify the test design covers the customer’s requirements and specifications. If the built software fails to meet requirements, then finding and fixing bugs doesn’t really help.

If you like it, Share it!

Here are some hand-picked articles that you should read next ?

In my next post, will learn about fundamental test process.

Exit mobile version