Cross Posted from Intro To Software Testing – LearnQTP
World renowned software testing expert Dr Cem Kaner defines software testing as –
A technical investigation of the product under test conducted to provide stakeholders with quality related information
To explain it in detail “What is Software Testing”, Software testing is a process where a software tester/team runs a program or a system to find bugs or defects, to maintain the correctness and reliability of a program. Software testing also validates and verifies the program to check if the business and technical requirements are met, and is working as expected. In verification, testers ensure that the system met the organization’s standards and processes, and answers the question “Did we build the right system?” System means one or more software applications that support a business function. Testers ensure that software, hardware, documentation, and personnel comply together through relying on review or non-executable methods. In validation, testers physically ensure that the system has met all business and user requirements, and that the features and functionalities are working as designed. Validation is done by executing system functions through a series of tests which can be observed and evaluated by testers. Also, validation concentrates on the question “Did we build the system right?”
Why should we do Software Testing?
In software testing, the primary purpose is to find defects. We can consider a certain state is a defect if it doesn’t meet what it is expected to do. Finding defects in testing early in Software Development will reduce or avoid the risk of failure, maintenance cost, the cost of defect fixing, and delivering better program for the user. Example: Docket Number should accept 12 numeric characters. If characters inputted are less than or more than the required characters, prompt “Invalid Entry. Please re-enter the Docket Number”, but the user entered 10 characters for the docket number and the program returned an exception error instead of a prompt to notify the user about the minimum characters required. Another reason is to produce Quality program. In Software testing, the software tester/team cannot improve quality, they can only measure it. From IT’s view, Quality means the conformance and features of a program’s requirement based on business and technical requirements are met. For User’s view, Quality means software is fit for use. Software quality varies from program to program as they have their own functionality and usability. A software tester needs to ensure that IT’s and User’s views for quality are met.