Overview
Humans continually analyze and assess their world: What is tomorrow’s weather going to be? Is the shower temperature warm enough? Is the meatloaf too spicy? Do I have enough gas to make it to work? The results of our analysis determine the subsequent actions that are taken.
This same kind of assessment process carries over to the testing of computer software, which has three main objectives – validation, verification and identifying issues.
Testing assesses the level of quality of the software, and if it is ready for the next stage in the process -- with the final goal of a release to end users. There are plenty of challenges along the way, as this short video from IBM outlines: Software Development Lifecycle (1:10)
It is important to note that there are no perfect testing methods or processes that guarantee a project's success!
This same kind of assessment process carries over to the testing of computer software, which has three main objectives – validation, verification and identifying issues.
- Validation confirms that the software meets business requirements. Ask the question: "Did we build the right product?" This includes how data is formatted, summarized and displayed.
- Verification confirms that software meets its technical requirements and specifications; e.g., if a specific input is made in a controlled environment, an expected result [outcome] occurs. It may specify other technical properties, including where data is accessed, calculated, used, or stored. Ask the question: "Did we build the product right (correctly, according to the requirements/specifications)?"
- Issues are differences between the expected and actual results. These differences can occur due to coding/programming errors, missing/inaccurate business requirements, bad test data, incorrect test environment setup, errors in the test documentation (test scenarios, cases, scripts), tester error, or for other reasons.
Testing assesses the level of quality of the software, and if it is ready for the next stage in the process -- with the final goal of a release to end users. There are plenty of challenges along the way, as this short video from IBM outlines: Software Development Lifecycle (1:10)
It is important to note that there are no perfect testing methods or processes that guarantee a project's success!
“Quality is free, but only to those who are willing to pay heavily for it.” – T. DeMarco and T. Lister