csp 587 week 5 - testing

Upload: sanapala-amit

Post on 02-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 CSP 587 Week 5 - Testing

    1/15

    Transform ing Lives. Invent ing the Future.

    www.i i t .edu

    I ELLI NO IS T UI NS TI T

    O F TEC H N O LO G Y

    SOFTWAREQUALITYMANAGEMENT

    CSP 587

    Dennis Hood

    Fall 14

  • 8/10/2019 CSP 587 Week 5 - Testing

    2/15

    Week 5Testing

  • 8/10/2019 CSP 587 Week 5 - Testing

    3/15

    Checks and Balances

    Work products should be reviewed to discover defects

    Work products come in many forms

    So do defects

    Undiscovered defects will be passed downstream

    Defect discovery is much more effective when the

    reviewer is independent of the production team

    Why?

    How do we achieve necessary independence while

    maintaining sufficient knowledge?

  • 8/10/2019 CSP 587 Week 5 - Testing

    4/15

    Case Study: Challenger

  • 8/10/2019 CSP 587 Week 5 - Testing

    5/15

    Case Study: Challenger

  • 8/10/2019 CSP 587 Week 5 - Testing

    6/15

  • 8/10/2019 CSP 587 Week 5 - Testing

    7/15

  • 8/10/2019 CSP 587 Week 5 - Testing

    8/15

    Review Objectives

    Direct objectivesrelated to the current project

    Detect defects, including deviations from standards

    Identify new risks

    Obtain approval to move forward

    Indirect objectiveslong-term team growth

    Facilitate the exchange of professional knowledge regarding

    development

    Data collection for future process improvement

  • 8/10/2019 CSP 587 Week 5 - Testing

    9/15

    Formal Design Reviews

    Conducted at milestones requiring the completion of

    analysis or design products

    Participants

    Independent, senior leader

    Review team (primarily senior personnel)

    Approval decisions

    Full, partial, or denial Document the outcome

    Including responsibilities for required corrections

    Follow up

  • 8/10/2019 CSP 587 Week 5 - Testing

    10/15

    Peer Reviews

    Inspections and walkthroughs

    Less formal than formal reviews

    Not as much independence Not as much senior authority

    More focused on defect detection than approval

    Not as likely to serve as a milestone gate

    Easier to organize, not as bureaucratic, etc.

  • 8/10/2019 CSP 587 Week 5 - Testing

    11/15

    Expert Opinions

    Significantly independent

    Either external review or participation in

    internal reviews Beneficial when:

    In-house expertise is absent or unavailable

    Internal deadlock due to disagreement by seniorpersonnel on significant issues

  • 8/10/2019 CSP 587 Week 5 - Testing

    12/15

    Software Testing

    Traditionally applied late in the SDLC

    Common sense has moved it up

    Testing differs from reviews in that it involves

    exercising work products Specialized testing team

    Approved test procedures

    Approved test cases

    Objectives Direct

    Discover defects and achieve acceptability

    Indirect Collect data

  • 8/10/2019 CSP 587 Week 5 - Testing

    13/15

    Strategies

    Big-bang vs. incremental

    More comprehensive and final testing of the full

    package, vs.

    Sooner, quicker yet less complete testing of

    modules

    Top-down vs. bottom-up

    Start at the main module and drive down into

    the functionality, vs.

    Focusing on the details first

  • 8/10/2019 CSP 587 Week 5 - Testing

    14/15

    Classifications

    Black-box

    Focus on output

    Equivalence classes (sets of inputs producing the same output)

    Boundary values

    Documentation testing

    Availability and reliability

    Stress

    Security

    Usability

    White-box

    Focus on paths through the code

    Correctness of calculations Path and line coverage

    Cyclomatic complexity metrics

    Qualification and reusability

  • 8/10/2019 CSP 587 Week 5 - Testing

    15/15

    Implementation

    The testing process

    Determine the test methodology

    Plan the tests

    Design the tests

    Test away!

    Test cases

    Automation

    Alpha and beta testing