There are certain testing guidelines that should be followed while testing the software:
- Developement team should avoid testing the software: Testing should always be performed by the testing team. The developer team should never test the software themselves. This is because after spending several hours building the software, it might unconsciously become too proprietorial and that might prevent seeing any flaws in the system. The testers should have a destructive approach towards the product. Developers can perform unit testing and integration testing but software testing should be done by the testing team.
- Software can never be 100% bug-free: Testing can never prove the software to 100% bug-free. In other words, there is no way to prove that the software is free of errors even after making a number of test cases.
- Start as early as possible: Testing should always starts parallelly alongside the requirement analysis process. This is crucial in order to avoid the problem of defect migration. It is important to determine the test objects and scope as early as possible.
- Prioritize sections: If there are certain critical sections, then it should be ensured that these sections are tested with the highest priority and as early as possible.
- The time available is limited: Testing time for software is limited. It must be kept in mind that the time available for testing is not unlimited and that an effective test plan is very crucial before starting the process of testing. There should be some criteria to decide when to terminate the process of testing. This criterion needs to be decided beforehand. For instance, when the system is left with an acceptable level of risk or according to timelines or budget constraints.
- Testing must be done with unexpected and negative inputs: Testing should be done with correct data and test cases as well as with flawed test cases to make sure the system is leak proof. Test cases must be well documented to ensure future reuse for testing at later stages. This means that the test cases must be enlisted with proper definitions and descriptions of inputs passed and respective outputs expected. Testing should be done for functional as well as the non-functional requirements of the software product.
- Inspecting test results properly: Quantitative assessment of tests and their results must be done. The documentation should be referred to properly while validating the results of the test cases to ensure proper testing. Testing must be supported by automated tools and techniques as much as possible. Besides ensuring that the system does what all it is supposed to do, testers also need to ensure that the system does not perform operations which it isn’t supposed to do.
- Validating assumptions: The test cases should never be developed on the basis of assumptions or hypothesis. They must always be validated properly. For instance, assuming that the software product is free from any bugs while designing test cases may result in extremely weak test cases.
- Planning Guidelines in Software Engineering
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Software Engineering | Comparison between Regression Testing and Re-Testing
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Seven Principles of software testing
- Coding Standards and Guidelines
- Guidelines to establish Defect Life Cycle
- Software Engineering | Requirements Engineering Process
- Software Engineering | Re-engineering
- Software Engineering | Reverse Engineering
- Difference between Software Engineering process and Conventional Engineering Processs
- Software Engineering | Black box testing
- Software Engineering | White box Testing
- Software Engineering | Integration Testing
- Software Engineering | Regression Testing
- Software Engineering | Differences between Manual and Automation Testing
- Software Engineering | Cleanroom Testing
- Software Engineering | Automated Testing
- Software Engineering | Statistical Testing
- Software Engineering | Program Testing
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.