System Testing CS 414 – Software Engineering I
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

System Testing CS 414 – Software Engineering I

on

  • 882 views

 

Statistics

Views

Total Views
882
Views on SlideShare
882
Embed Views
0

Actions

Likes
0
Downloads
7
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

System Testing CS 414 – Software Engineering I Presentation 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 , 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
  • 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-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
  • 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