Download presentation
Presentation is loading. Please wait.
Published byRichard Small Modified over 9 years ago
2
Software Testing Software Testing Characteristics of Testable Software Characteristics of Testable Software A Testing Life Cycle A Testing Life Cycle Validation and Verification Validation and Verification Terminology Terminology Classification of Test Classification of Test Test phases Test phases Two Unit Testing Techniques Two Unit Testing Techniques
3
Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence Testing is obviously concerned with errors, faults, failures and incidents. A test is the act of exercising software with test cases with an objective of Finding failure Demonstrate correct execution BACK
4
Operable ◦ The better it works (i.e., better quality), the easier it is to test Observable ◦ Incorrect output is easily identified; internal errors are automatically detected Controllable ◦ The states and variables of the software can be controlled directly by the tester Decomposable ◦ The software is built from independent modules that can be tested independently
5
Simple ◦ The program should exhibit functional, structural, and code simplicity Stable ◦ Changes to the software during testing are infrequent and do not invalidate existing tests Understandable ◦ The architectural design is well understood; documentation is available and organized BACK
6
Requirement Specs Design Coding Testing Fault Resolution Fault Isolation Fault Classification Error Fault Error incident Fix BACK
7
Error ◦ Represents mistakes made by people Fault ◦ Is result of error. May be categorized as Fault of Commission – we enter something into representation that is incorrect Fault of Omission – Designer can make error of omission, the resulting fault is that something is missing that should have been present in the representation BACK
8
Verification - typically involves reviews and meeting to evaluate documents, plans, code, requirements, and specifications. This can be done with checklists, issues lists, walkthroughs, and inspection meeting. Verification: “you built it right” Validation - typically involves actual testing and takes place after verifications are completed. Validation: “you built the right thing Validation and Verification process continue in a cycle till the software becomes defects free. BACK Verification and validation
9
There are two levels of classification One distinguishes at granularity level Acceptance Testing Unit level Integration level System level Regression Testing Other classification (mostly for unit level) is based on methodologies Black box (Functional) Testing White box (Structural) Testing BACK
10
Acceptance Testing – this checks if the overall system is functioning as required. Unit testing – this is basically testing of a single function, procedure, class. Integration testing – this checks that units tested in isolation work properly when put togheter. System testing – here the emphasis is to ensure that the whole system can cope with real data, monitor system performance, test the system’s error handling and recovery routines. Regression Testing Regression Testing – this checks that the system preserves its functionality after maintenance and/or evolution tasks.
11
Black-box testing ◦ Knowing the specified function that a product has been designed to perform, test to see if that function is fully operational and error free ◦ Includes tests that are conducted at the software interface ◦ Not concerned with internal logical structure of the software White-box testing ◦ Knowing the internal working of a product ◦ Involves tests that concentrate on close examination of procedural detail ◦ Logical paths through the software are tested ◦ Test cases exercise specific sets of conditions and loops BACK
12
BACK TO INDEX
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.