chapter 2- testing through out software life cycle

Upload: vipul-jain

Post on 03-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    1/30

    Testing Throughout the Software Life Cycle

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    2/30

    ISTQB syllabus 2010 Testing Throughout the Software Life

    Cycle

    Terms to Remember

    Know your level

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    3/30

    ISTQB can be done :

    by everyone who are involved insoftware testing

    who wants a basic understanding ofsoftware testing

    Basic level for higher-level software

    testing qualification.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    4/30

    The new syllabus of version 2010 iseffective 30-Mar-2010

    Learning objectives are classified asfollows:

    K1: remember, recognize, recall

    K2: understand, explain, give reasons, compare,classify, categorize, give examples, summarize

    K3: apply, use

    K4: analyze

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    5/30

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    6/30

    Explain the Test Levels Identify the Test types

    Describe Maintenance Testing

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    7/30

    Test Design finds faults

    Faults found early are cheaper to fix

    Most significant faults found first

    Faults prevented, not built in Changing requirements caused by Test Design

    EARLY TEST DESIGN HELPS TO BUILD

    QUALITY, STOPS FAULTMULTIPLICATION

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    8/30

    Verification :

    Process of evaluating a system or component to determinewhether the products of the given development phaseconditions imposed at the start of the phase [ BS7925 -1 ]

    Validation :Determination of the correctness of the products of

    software development with respect to the user needs and

    requirements [ BS7925 -1 ]

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    9/30

    In any life cycle model, there are several characteristics of goodthings. For every development activity , there is a corresponding testing activity.

    Each test level has test objectives specific to that level

    The analysis and design tests for a given test level should begin during

    the corresponding development activity . Testers should be involved in reviewing documents as soon as drafts are

    available in the development life cycle

    Testers can be combined or reorganized depending on the nature ofthe project

    For the integration and commercial off-the-shell { COTS} software

    product into a system, the purchaser may perform integrationtesting at the system level and acceptance level

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    10/30

    Each test level can have specific :

    Objective

    Test Object

    Defect / Failures Found

    Approach Levels of Testing Available

    Component Testing

    Integration Testing

    System Testing and

    Acceptance testing

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    11/30

    Component Testing

    Lowest Level of Testing

    Tested in isolation

    Most thorough look at detail :

    Error handling

    Interface

    Usually done by programmer, it is also known as unit, module,

    program testing , usually carried out in development environment

    Defects found are fixed without formal recordings of incidents

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    12/30

    Integration testing tests interfaces between components, interactions withdifferent parts of a system, such as operating system, file system, hardware orinterfaces between systems.

    More than one [tested ] Component

    Communication between components

    What the set can perform that is not possible individually.

    Nonfunctional aspects if possiblen

    Few types of Integration Testing are :

    Bing Bang , Top Down & Bottom Up Testing

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    13/30

    In big bang integration testing individual modules of the programs are not

    integrated until every thing is ready. This approach is seen mostly in inexperienced

    programmers who rely on Run it and see approach. In this approach, the program is

    integrated without any formal integration testing, and then run to ensures that all

    components are working properly

    . Disadvantages :

    Defects present at the interfaces of components are identified at very last stage.

    It is very difficult to isolate the defects found, as it is very difficult to tell whether

    defect is component or interface.

    There is some high probability of missing some critical defects which might surface

    in production.

    It is very difficult to make sure that all test cases for integration testing are covered.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    14/30

    Baseline 0 : Tested component

    Baseline 1 : Tested 2 components

    Baseline 2 : Tested 3 components and so on.

    Advantages are :o Easier fault location and fix

    o

    Easier recovery from disaster / problemso Interfaces should have been tested in components tests , but add to

    tested baseline

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    15/30

    The Major steps are :1. The main control module is used as a test driver and stubs

    all are substituted for all components directly subordinate

    to the main module.

    2 Depending on the integration approach subordinate stubs are

    replaced once a time with actual components.

    3 Tests are conducted as each component is integrated

    4 Stubs are removed and integrations are moves downward in the

    Program structure.

    Advantages : Can verify major control or decision points early

    Disadvantage : Stubs are required when perform the integration testing, andgenerally , develop stubs is very difficult

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    16/30

    Major Steps:

    1.Low-Level components will be tested individually first.

    2. A driver ( a control program for testing )is written to coordinate

    test cases

    3. Input and output

    4. The driver is removed and integration moves upward in the

    program structure

    5. Repeat the process until all components are included in the test.

    Advantage : Compared with stubs, drivers are much easier to developDisadvantage : Major control and decision problems will be identified later inthe testing process

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    17/30

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    18/30

    Goal of UAT is to establish confidence in the system, parts of the

    system or specific non-functional characteristic of the system.

    Final Stage of Validation

    Customer (user ) should perform or be closely involved

    Customer can perform any test they wish, usually based on

    their business processes.

    Final user sign off.

    Approach Mixture of scripted and unscripted testing.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    19/30

    Types of Acceptance Testing

    Operational ( Acceptance ) Testing. Acceptance of the system by the system administrators,

    including : Testing of back up / restore

    Disaster recovery

    User Management

    Maintenance Tasks

    Contract Acceptance testing : Agreed contract definition stage

    Acceptance criteria defined and agreed May not have kept up to date with changes.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    20/30

    Testing by { potential } customers orrepresentatives of your market.

    When software is stable

    Use the product in a realistic way in its operationalenvironment.

    Comments back on the product

    Faults found How the product meet their expectations ?

    Improvement / Enhancements Suggestions ?

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    21/30

    Which Statement is correct ?

    System testing may investigate both functional and non functionalrequirement of the system

    System testing only investigate both functional and optionally nonfunctional requirement of the system

    System testing should investigate both functional and non functionalrequirement of the system

    System testing only investigate both functional and non functionalrequirement of the system

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    22/30

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    23/30

    Functions are What the system does

    Functional (Black Box) tests considers theexternal behavior of the software.

    Functional tests are based on functions and featuresand their interpretability with specific systems

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    24/30

    Testing of how the system works.

    Non functional testing includes , but it is not limited to,performance testing, load testing, stress testing, usabilitytesting, maintainability testing, reliability testing and portable

    testing.

    Non functional testing describes the test required to measurecharacteristic of system of software that can be quantified ona varying scale , such as response time for performance testing.

    Most non functional tests are defined in the quality model.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    25/30

    Non functional testing includes

    Testing to see, whether the system does not functioncorrectly.

    Testing the quality attributes of the system includingreliability and usability.

    Gaining user approval for the system

    Testing a system feature using only the softwarerequired for that function.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    26/30

    Structural techniques are best used afterspecificationbased techniques, to measure thecoverage of a type of structure

    White box, Statement testing, Branch / Decisiontesting, Data flow testing, Branch condition testing,Branch condition combination testing are somestructural test techniques.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    27/30

    Test to confirm whether original defect has beensuccessfully removed.

    Retesting an already tested program after modification,

    to discover any new defects introduced as a result ofchange is known as Regression testing.

    Extent of Regression Testing is based on the risk ofnot finding any new defects in software, which was

    working previously. Regression test suites are run many times and

    generally evolve slowly, so regression testing is astrong candidate for automation

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    28/30

    Which is not a level in V model testing ?

    1. System Testing

    2. Integration Testing

    3. Regression Testing

    4. Unit Testing

    Answer : 3.

    Simulators are used in which type of testing ?

    1. Integration Testing

    2. System Testing

    3. Component Testing

    4. None of the above

    Answer : 1

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    29/30

    Which ONE of the following testing is TRUE.

    1. Re testing and Regression testing together showthat a defect has been fixed and that the fix has nothad an adverse effect elsewhere

    2. Re-testing involves running a test again to makesure the observed result was as previouslyrecorded.

    3. Regression Testing is carried out only when thesoftware is changed.

    4. Regression testing involves re-running a test thatfailed to make sure a defect has been fixed.

  • 7/28/2019 Chapter 2- Testing Through Out Software Life Cycle

    30/30

    All the Best !!