Principles of Software Testing
As software development techniques advanced during decades, some basics of testing established. These guidelines are seen as a simple guide for both, Software Trials and coding.
Key points of Software Testing
Testing Shows Presence of Problems:
Testing a credit card application disclosed. that many defects are present in the application. tests the application form or product completely we can not say the product is 100% defect free. Tests reduce the number of defects remaining in the program. So, it's important to design Test Cases find as defects.
Exhaustive Examining is Impossible:
It is not possible to test all possible combos of data and Test Scenarios as it will need to much time. For this reason, risk and priorities used to concentrate on the main aspects to test. Accessing and controlling risk the main activities and reason for testing in the project.
In the program Development Life Routine screening activities start early and objectives. the initial products, such as need or design documents found, we can start trials. By starting screening test prepared for each level of the development life-cycle. Another important point about testing is defects located earlier in the life-cycle. these are much easier and cheaper to fix. It is much cheaper to improve an incorrect rule. than having to change features in a big system that's not working as wanted or as designed.
During trials, it observed that most of the reported flaws related to few modules within a system. By identifying and focusing on these clusters, testers test the hypersensitive areas. while testing the rest of the "non-sensitive" areas.
If jogging the same set of tests again and again. Chances forgotten about new defects found out by those test cases. "Pesticide Paradox" means that it is very important to review the test cases. New and various tests are written to pay various areas of the program or system to find more defects.
Framework Depending on Testing:
Exactly the same tests did not apply the motherboard. The different software products requirements, functions, and purposes. Different methodologies, techniques, and types of testing related to the type the application.
The absence of Errors Fallacy:
Machine built is unusable and does not fulfill the user's needs and expectations. then finding and repairing defects won't help. if evaluation didn't find any flaws in the program, it doesn't imply that the software is preparing to use. It must confirm the executed lab tests designed to catch the majority of the defects.