In this industry a software product should only be released after it has gone through a proper process of development, testing and bug fixing.


Testing looks at areas such as performance, stability and error handling by setting up test scenarios under controlled conditions and assessing the results.


This is why exactly any software has to be tested. It is important to note that software is mainly tested to see that it meets the customer’s’ needs and that it conforms to the standards. It is a usual norm that software is considered of good quality if it meets the user requirements. In other words, quality can briefly be defined as “a degree of excellence”. High quality software usually conforms to the user requirements.


There should be a person to ensure the user requirements are included in each step of the design and development process. That’s the reason QA testers are a vital part of the design and implementation of computer solutions.


Today I want to share with you, a list of seven principles that any QA should have in mind in order to accomplish properly to the rest of the team


Principle 1: Testing shows presence of defects

Testing can show the defects are present, but cannot prove that there are no defects. Even after testing the application or product thoroughly we cannot say that the product is 100% defect free. Testing always reduces the number of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.


Principle 2: Exhaustive testing is impossible

Testing everything including all combinations of inputs and preconditions is not possible. So, instead of doing the exhaustive testing we can use risks and priorities to focus testing efforts. This is very unlikely that the project timescales would allow for all possible number of tests. So, accessing and managing risk is one of the most important activities and reason for testing in any project.


Principle 3: Early Testing

In the software development life cycle testing activities should start as early as possible and should be focused on defined objectives.

Principle 4: Defect Clustering

A small number of modules contains most of the defects discovered during pre-release testing or shows the most operational failures.


Principle 5: Pesticide Paradox

If the same kinds of tests are repeated again and again, eventually the same set of test cases will no longer be able to find any new bugs. To overcome this “Pesticide Paradox”, it is really very important to review the test cases regularly and new and different tests need to be written to exercise different parts of the software or system to potentially find more defects.


Principle 6: Testing is context dependent

Testing is basically context dependent. Different kinds of sites are tested differently. For example, safety – critical software is tested differently from an e-commerce site.


Principle 7: Absence – of – errors fallacy:

If the system built is unusable and does not fulfil the user’s needs and expectations then finding and fixing defects does not help.


I hope this can help you to improve your testing skills. I am adding also a video, which contains the same article I shared in this post with you. Hope can help you to understand the QA world, the same way it helped me