What is Software Testing ?
Software testing is oriented to “detection”. It’s examining a system or an application under controlled conditions. It’s intentionally making things go wrong when they should not and things happen when they should not. What is Software Quality? Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable. What is Verification and Validation? Verification is preventing mechanism to detect possible failures before the testing begin. It involves reviews, meetings, evaluating documents, plans, code, inpections, specifications etc. Validation occurs after verification and it’s the actual testing to find defects against the functionality or the specifications. What is Test Plan? Test Plan is a document that describes the objectives, scope, approach, and focus of a software testing effort. What is Test Case? A test case is a document that describes an input, action, or event and an expected response, to determine if
The goal of the testing activity is to find as many errors as possible before the user of the software finds them. We can use testing to determine whether a program component meets its requirements. To accomplish its primary goal (finding errors) or any of its secondary purposes (meeting requirements), software testing must be applied in a systematic fashion. Testing involves operation of a system or application under controlled conditions and evaluating the results.
The activities for software quality assessment can be divided into two broad categories and they are static analysis and dynamic analysis. 1 Static Analysis: It is based on the examination of a number of documents, like requirements documents, software models, design documents, and source code. Traditional static analysis includes code review, inspection, walk-through, algorithm analysis, and proof of correctness. It does not involve actual execution of the code under development and it examines code and reasons over all possible behaviors that might arise during run time. Compiler optimizations are standard static analysis. 2 Dynamic Analysis: Dynamic analysis of a software system involves actual program execution in order to expose possible program failures. The behavioral and performance properties of the program are also observed. Programs are executed with both typical and carefully chosen input values. Often, the input set of a program can be impractically large and for practical
According to Wikipedia “Testing is a process of technical investigation, performed on behalf of stakeholders, that is intended to reveal quality-related information about the product with respect to the context in which it is intended to operate. This includes, but is not limited to, the process of executing a program or application with the intent of finding errors.