Definition of testing:- “Ensuring the project works as intended and does not fail” Validation: “Are we building the right product?” Verification: “Are we building the product right?” * Process of testing is costly, that why it is desirable that the cost is covered by increasing the value of the system. * Testing can add value of the system by increasing the reliability / suitability for purpose. * To make this possible is by discovering and rectifying errors. Assuming that the system contains errors and use the most effective techniques to find those errors. * A successful test is one that finds an error. * A good test is one that has a high probability of finding new errors.
TYPES OF ERRORS
Definition of error: “an incorrect step, process or data definition” * Types of errors depends on the type of testing that are being used. * Each testing encounter the errors that belongs or caused by the specific testing. * 2 SDLC models that include testing in their stages are V-Model and Spiral Model. * Defining specifications are needed so that it is possible to design tests to exercise program code. * A specification which contains features that cannot be tested is usually a bad specification.
WHY CANT WE TEST EVERYTHING? * Complete testing means trying out every possible combination of inputs and initial conditions. * Testing is expensive, since we cannot automate the production of good tests. People are needed to interpret and confirm test result. * Testing is never completed, we cant eliminate errors from real systems, but it can be reduce the number of errors to a point that we may decide is acceptable.
TYPES OF TESTING * Black box testing:- * Sometimes called as:- * Functional * Data-Driven * Input/Output testing * Based on the specification of the system. * This testing need not to know any of the internal processes or behavior