120 likes | 318 Views
System Testing. CS 414 – Software Engineering I Don Bagert January 21, 2003. Outline. Testing and SQA Test Planning & Implementation Revisited Object-Oriented Integration Testing User and Client Testing Summary. Testing and SQA.
E N D
System Testing CS 414 – Software Engineering I Don Bagert January 21, 2003
Outline • Testing and SQA • Test Planning & Implementation Revisited • Object-Oriented Integration Testing • User and Client Testing • Summary CS 414 Software Engineering I - System Testing - January 21, 2003
Testing and SQA • Software Quality Assurance (SQA) is a variety of activities that are used throughout the software process in order to ensure “high quality” • Many practitioners (unfortunately) think that most of Testing is SQA, when in fact, it is only a subset of it CS 414 Software Engineering I - System Testing - January 21, 2003
Testing and SQA(continued) • Testing is part of an SQA activity called Verification and Validation, or V&V • Verification answers the question “Are we building the product right?” • Validation answers the question “Are we building the right product?” • Testing encompasses both aspects of V&V • Other V&V activities include inspections CS 414 Software Engineering I - System Testing - January 21, 2003
Test Planning & Implementation Revisited Plan Creation Order (expanded): • System Test Plan (from System Specification) • Validation Test Plan (from Software Req. Specification) • Integration Test Plan (from Design Document) • Unit Test Plan (from source code) Plan Implementation Order (also expanded): • Unit Test Plan (tests functions and methods) • Integration Test Plan (test classes and subsystems) • Validation Test Plan (test entire software) • System Test Plan (test entire embedded system) CS 414 Software Engineering I - System Testing - January 21, 2003
Object-Oriented Integration Testing • In general, units are tested independently before they are integrated with other units • A driver is used to call (send a message) to the unit with the data for a particular test case • Instead of calling other units, stubs are used in their place during unit testing • During integration testing, the driver and stubs are replaced other units which have also been tested CS 414 Software Engineering I - System Testing - January 21, 2003
OO Integration Testing(continued) • OO integration testing is a two-phase process • Class Testing • Multiple Class Testing (called “Object and Independent Module Testing” in the Project Process) • This is an extension of the bottom-up test plan implementation theory for OO CS 414 Software Engineering I - System Testing - January 21, 2003
OO Integration Testing(continued) • Techniques used in both class and multiple class testing • Test “minimum behavior” as one of the test cases • Random testing of other behavior • Partition testing CS 414 Software Engineering I - System Testing - January 21, 2003
Examples CS 414 Software Engineering I - System Testing - January 21, 2003
User and Client Testing • Alpha Testing – under the watchful eye of the development team • Beta Testing – users testing independently of project team; usually for software to be marketed (i.e. there is no specific client) • Acceptance Testing – project client takes deliverables and determines if the contract has been fulfilled • These are all done post-validation testing by the development team CS 414 Software Engineering I - System Testing - January 21, 2003
Summary • Testing is part of an Software Quality Assurance activity called Verification and Validation • Drivers and stubs are used to test units independently before they are integrated with other units • OO integration testing is a two-phase process: class testing, followed by multiple class testing • Alpha, Beta and acceptance testing are some of the types of testing involving the client and/or potential users of the software CS 414 Software Engineering I - System Testing - January 21, 2003