Major objectives for performing Software Testing are: to ensure that the solution meets the business and user requirements; to catch errors that can be bugs or defects; to determining user acceptability; to ensuring that a system is ready for use; to gaining confidence that it works; evaluating the capabilities of a system to show that a system performs as intended; and verifying documentation
Software Testing evaluates and maps the final software against business and user requirements. Well performed software testing will be having good test coverage. Higher the test coverage better is the evaluation of the software
Software testing shall design test cases with a higher probability of finding errors. In order to ensure these test cases shall be effective. The number of errors reported per defined number of test cases is quite indicative of this objective. Higher the number of better tests objective met.
Software testing shall ensure that user accepts the final software released for him to operate with no complaints. In order to fulfill this objective, the tester shall have the end-user mindset which would help in writing test cases or scenarios to meet user expectations.
Software Testing shall ensure that proper testing is being done to ensure that the system is ready to use. Good testing covers functionality, installability, and operational ease to learn and use the system.
Also, it verifies that the system is easily deployable and replaceable. This would make the system that is easy to install, learn, and use.
Software Testing shall allow gaining confidence that it works. This would happen when system testing proves that the system is reliable and does not crash or there will be no show stoppers.
Software testing shall evaluate the capabilities of a system to show that a system performs as intended. This allows us to understand the limits of performance, land also learning what a system is able to do and not able to do. For the user with good knowledge of the system, the results from the system shall be predictable.
Software testing shall also verify documentation. Many documents are created and also, evolve throughout the software development life cycle. Along with this, there can be on-line help, installation, and troubleshooting related, user training related documents. Software testing shall evaluate all these documents for correctness.