CS 509 Design of Software Systems - PowerPoint PPT Presentation

About This Presentation
Title:

CS 509 Design of Software Systems

Description:

Return Phase 3 (Design) documents. Brief discussion of constraints ... Part 1: Design for program to play Black Jack. Description of the problem ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 18
Provided by: DianeK82
Learn more at: http://web.cs.wpi.edu
Category:

less

Transcript and Presenter's Notes

Title: CS 509 Design of Software Systems


1
CS 509Design of Software Systems
  • Lecture 8
  • Thursday, Oct. 23, 2003

2
Class Format for Today
  • Feedback from student surveys not yet!
  • Term Project administration
  • Questions
  • Quiz 4
  • Review of Chapter 9
  • Testing exercise

3
MC Project
  • Return Phase 3 (Design) documents
  • Brief discussion of constraints
  • Why are pre- and post-conditions useful?
  • What is an invariant? Examples?

4
Questions?
  • About Term Project
  • From last weeks class
  • From the reading
  • Anything else?

5
Quiz 4
  • Chapters 7 9
  • You have 15 minutes.

6
Chapter 9
  • Testing

7
Review from last time
  • Opposing goals of testing
  • QA techniques
  • Fault Avoidance, Detection and Tolerance
  • Types of tests
  • Unit, Integration, System
  • Functional, Performance, Acceptance

8
Faults, Errors, Failures
  • Fault (aka bug) design or coding mistake
  • Error manifestation of a fault (runtime)
  • Failure deviation from specified behavior
  • Why are these distinctions important?

9
Stubs and Drivers
  • What are they?
  • What are they for?
  • How do they help with testing?
  • How might they impact implementation?

10
Test Cases
  • Name To distinguish from other test cases
  • Purpose What are you testing?
  • Inputs What data will you test?
  • Expected Results What do you expect to happen
    when the test runs?
  • Why are these elements important?

11
Blackbox vs. Whitebox
  • What is the difference?
  • What does each type focus on?
  • Which type is more shallow / in-depth?
  • Do we need both?
  • Why, when, where?

12
Corrections Bug Fixing
  • When a failure has been detected, change
    component(s) to eliminate suspected fault.
  • May be a change to a single line of code
  • May require re-design of entire subsystem
  • Must be done with extreme care to avoid causing
    further faults (more bugs)
  • Should always be well documented

13
Equivalence Testing
  • What are equivalence classes?
  • What are they used for?
  • Identifying equivalence classes
  • Coverage, Disjointedness, Representation
  • Selecting test inputs
  • Typical input, Invalid input
  • Boundary cases

14
Statement or Path Testing
  • All statement testing vs. all paths testing
  • Example
  • Time t1, t2, t3, earliest
  • ...
  • if (t1.isBefore(t2))
  • earliest t1 // (1)
  • else
  • earliest t2 // (2)
  • if (t3.isBefore(earliest))
  • earliest t3 // (3)
  • How do the 2 approaches differ?

15
Performance Testing
  • Stress testing
  • Volume testing
  • Timing tests
  • How do these approaches differ?

16
Testing Exercise
  • Part 1 Design for program to play Black Jack
  • Description of the problem
  • What classes are involved?
  • What attributes and methods are needed?
  • Part 2 Test Plan
  • What do we need to test?
  • How to accomplish test cases

17
For Next Time
  • Chapter 8
  • Rationale Management
Write a Comment
User Comments (0)
About PowerShow.com