12MCM Gowri

Embed Size (px)

Citation preview

  • 7/27/2019 12MCM Gowri

    1/14

    System Testing

    by

    D.MOHANA GOWRI

    II MS(CS)

  • 7/27/2019 12MCM Gowri

    2/14

    System Testing

    Unit & Integration Testing

    Objective: to make sure that the

    program code implements thedesign correctly.

    System Testing Objective: to

    ensure that the software does

    what the customer wants it to

    do.

  • 7/27/2019 12MCM Gowri

    3/14

    Causes of Software Faults

  • 7/27/2019 12MCM Gowri

    4/14

    System Testing Process

    Function Testing: the system must performfunctions specified in the requirements.

    Performance Testing: the system must satisfysecurity, precision, load and speedconstrains specified in the requirements.

    Acceptance Testing: customers try the system(in the lab) to make sure that the systembuilt is the system they requested.

    Deployment Testing: the software is deployedand tested in the production environment.

  • 7/27/2019 12MCM Gowri

    5/14

    System Testing Process

  • 7/27/2019 12MCM Gowri

    6/14

    Build & Integration Plan

    - Large complex system is very hard totest.

    + We can devise a build & integration

    plan defining subsystems to be builtand tested such that we aremanaging a less complex entity.Such subsystems usually correspondto increments in system scope &

    functionality and are called spins.Example: Microsofts Synch & Stabilize

    approach.

  • 7/27/2019 12MCM Gowri

    7/14

    Build & Integration Plan Contd

    Each spin is identified including itsfunctionality and testing schedule.

    If the test of spin n succeeds but the

    problem arises during the testing ofspin n+1 we know that the faultcomes from components /functionality introduced in spin n+1.

    Accounting System Example: spin 0

    basic accounting operations aretested; spin 1 accounting with dataauditing tested; spin 2 access usercontrol is tested, etc.

  • 7/27/2019 12MCM Gowri

    8/14

    Configuration Management

    Module-based systems can beshipped in various configurationsof components defining the

    systems functionality andperformance.

  • 7/27/2019 12MCM Gowri

    9/14

    Regression Testing

    Regression testing ensures that no new faults areintroduced when the system is modified, expandedor enhanced as well as when the previouslyuncovered faults are corrected.

    Procedure:

    1. Insert / modify code2. Test the directly affected functions

    3. Execute all available tests to make sure that nothingelse got broken

  • 7/27/2019 12MCM Gowri

    10/14

    Test Team

    Testers: devise test plans, design,organize and run tests

    Analysts: assist testers, provide

    guidance for the process verificationas well as on the appearance of thetest results

    Designers: assist testers, provideguidance for testing components and

    software architectureUsers: provide feedback for the

    development team

  • 7/27/2019 12MCM Gowri

    11/14

    Function Testing

    Thread Testing: Verifying a narrow set ofactions associated with a particular function

    Test process requirements

    Test plan including the stopping criteria High probability for detecting a fault

    Use of independent testers

    The expected actions and the expectedoutput must be specified

    Both valid and invalid input must be tested

    System must not be modified in the testingprocess (or to make testing easier)

  • 7/27/2019 12MCM Gowri

    12/14

    Performance Testing

    Load / Stress Testing: large amount ofusers / requests

    Volume Testing: large quantities of data

    Security Testing: test access,authentication, data safety

    Timing Testing: for control and event-driven systems

    Quality / Precision Testing: verify theresult accuracy (when applies)

    Recovery Testing: verify recovery fromfailure process (when applies)

  • 7/27/2019 12MCM Gowri

    13/14

    Acceptance Testing

    The purpose is to enable customers and users to determine ifthe system built really meets their needs andexpectations.

    Benchmarking: a predetermined set of test casescorresponding to typical usage conditions is executedagainst the system

    Pilot Testing: users employ the software as a small-scaleexperiment or in a controlled environment

    Alpha-Testing: pre-release closed / in-house user testing

    Beta-Testing: pre-release public user testing

    Parallel Testing: old and new software are used together andthe old software is gradually phased out.

  • 7/27/2019 12MCM Gowri

    14/14

    THANK YOU