System Testing CS 414 – Software Engineering I

  • Published on
    27-Jan-2015

  • View
    102

  • Download
    0

DESCRIPTION

 

Transcript

  • 1. System Testing CS 414 Software Engineering I Don Bagert January 21, 2003

2. Outline

  • Testing and SQA
  • Test Planning & Implementation Revisited
  • Object-Oriented Integration Testing
  • User and Client Testing
  • Summary

3. 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

4. Testing and SQA (continued)

  • Testing is part of an SQA activity called
  • Verification and Validation , orV&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

5. 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)

6. Object-OrientedIntegration Testing

  • In general, units are tested independently before they are integrated with other units
    • Adriveris used to call (send a message) to the unit with the data for a particular test case
    • Instead of calling other units,stubsare used in their place during unit testing
    • During integration testing, the driver and stubs are replaced other units which have also been tested

7. 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

8. 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

9.

  • Examples

10. 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

11. 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

Recommended

View more >