Learn Software Testing with TechPartnerz 2.ppt

Embed Size (px)

Citation preview

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    1/17

    Learn Software Testing

    With TechPartnerz

    Session 2

    http://www.techpartnerz.com

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    2/17

    Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Test Phases.

    RequirementsReview

    DesignReview

    CodeWalkthrough

    CodeInspection

    IntegrationTesting

    UnitTesting

    SystemTesting

    PerformanceTesting

    AlphaTesting

    User AcceptanceTesting

    InstallationTesting

    BetaTesting

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    3/17

    Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Formal Technical Reviews (FTR)

    The focus of FTR is on a work product (e.g. Requirements

    document, Code etc.). After the work product is developed, the

    Project Leader calls for a Review. The work product is distributed

    to the personnel who involves in the review. The main audience

    for the review should be the Project Manager, Project Leader andthe Producer of the work product.

    Major reviews include the following:

    1. Requirements Review.

    2. Design Review.3. Code Review.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    4/17

    Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Unit Testing

    Goal of Unit testing is to uncover defects using formal techniques

    like Boundary Value Analysis (BVA), Equivalence Partitioning,

    and Error Guessing. Defects and deviations in Date formats,

    Special requirements in input conditions (for example Text box

    where only numeric or alphabets should be entered), selection

    based on Combo Boxs, List Boxs, Option buttons, CheckBoxs would be identified during the Unit Testing phase.

    Integration Testing

    Integration testing is a systematic technique for constructing the

    program structure while at the same time conducting tests to

    uncover errors associated with interfacing. The objective is totake unit tested components and build a program structure

    that has been dictated by design.

    Usually, the following methods of Integration testing are followed:

    1. Top-down Integration approach.

    2. Bottom-up Integration approach.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    5/17

    Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Top-down Integration

    Top-down integration testing is an incremental approach toconstruction of program structure. Modules are integrated by

    moving downward through the control hierarchy, beginning

    with the main control module. Modules subordinate to the

    main control module are incorporated into the structure in

    either a depth-first or breadth-first manner.

    The Integration process is performed in a series of five steps:

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

    substituted for all components directly subordinate to the main

    control module.

    2. Depending on the integration approach selected subordinate

    stubs are replaced one at a time with actual components.

    3. Tests are conducted as each component is integrated.

    4. On completion of each set of tests, another stub is replaced

    with the real component.

    5. Regression testing may be conducted to ensure that new

    errors have not been introduced.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    6/17

    Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Bottom-up IntegrationButton-up integration testing begins construction and testing with

    atomic modules (i.e. components at the lowest levels in the

    program structure). Because components are integrated from

    the button up, processing required for components

    subordinate to a given level is always available and the need

    for stubs is eliminated.

    A Bottom-up integration strategy may be implemented with the

    following steps:

    1. Low level components are combined into clusters that perform

    a specific software sub function.

    2. A driver is written to coordinate test case input and output.3. The cluster is tested.

    4. Drivers are removed and clusters are combined moving

    upward in the program structure.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    7/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    System TestingSystem testing is a series of different tests whose primary

    purpose is to fully exercise the computer based system.

    Although each test has a different purpose, all work to verify

    that system elements have been properly integrated and

    perform allocated functions.

    The following tests can be categorized under System testing:1. Recovery Testing.

    2. Security Testing.

    3. Stress Testing.

    4. Performance Testing.

    Recovery TestingRecovery testing is a system test that focuses the software to fall in a

    variety of ways and verifies that recovery is properly performed. If

    recovery is automatic, reinitialization, checkpointing mechanisms, data

    recovery and restart are evaluated for correctness. If recovery

    requires human intervention, the mean-time-to-repair (MTTR) is

    evaluated to determine whether it is within acceptable limits.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    8/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Security TestingSecurity testing attempts to verify that protection mechanisms built into a

    system will, in fact, protect it from improper penetration. During

    Security testing, password cracking, unauthorized entry into the

    software, network security are all taken into consideration.

    Stress TestingStress testing executes a system in a manner that demands resources inabnormal quantity, frequency, or volume. The following types of tests

    may be conducted during stress testing:

    1. Special tests may be designed that generate ten interrupts per

    second, when one or two is the average rate.

    2. Input data rates may be increases by an order of magnitude to

    determine how input functions will respond.3. Test Cases that require maximum memory or other resources.

    4. Test Cases that may cause excessive hunting for disk-resident data.

    5. Test Cases that my cause thrashing in a virtual operating system.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    9/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Performance TestingPerformance tests are coupled with stress testing and usually

    require both hardware and software instrumentation.

    Regression Testing

    Regression testing is the re-execution of some subset of tests that have

    already been conducted to ensure that changes have notpropagated unintended side affects.

    Regression may be conducted manually, by re-executing a subset of al

    test cases or using automated capture/playback tools.

    The Regression test suit contains three different classes of test cases:

    A representative sample of tests that will exercise all software

    functions.

    Additional tests that focus on software functions that are likely to be

    affected by the change.

    Tests that focus on the software components that have been

    changed.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    10/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Alpha Testing

    The Alpha testing is conducted at the developer sites and in a

    controlled environment by the end-user of the software.

    User Acceptance Testing

    User Acceptance testing occurs just before the software isreleased to the customer. The end-users along with the

    developers perform the User Acceptance Testing with a certain

    set of test cases and typical scenarios.

    Beta Testing

    The Beta testing is conducted at one or more customer sites bythe end-user of the software. The beta test is a live application of

    the software in an environment that cannot be controlled by the

    developer.

    Test Phases and Definitions

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    11/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Metrics are the most important responsibility of the Test Team.

    Metrics allow for deeper understanding of the performance of the

    application and its behavior. The fine tuning of the application can

    be enhanced only with metrics. In a typical QA process, there are

    many metrics which provide information.

    The following can be regarded as the fundamental metric:

    Functional or Test Coverage Metrics.

    Software Release Metrics.

    Software Maturity Metrics.

    Reliability Metrics. Mean Time To First Failure (MTTFF).

    Mean Time Between Failures (MTBF).

    Mean Time To Repair (MTTR).

    Metrics.

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    12/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Functional or Test Coverage Metric.

    It can be used to measure test coverage prior to software delivery. It provides a

    measure of the percentage of the software tested at any point during testing.

    It is calculated as follows:

    Function Test Coverage = FE/FT

    Where,

    FEis the number of test requirements that are covered by test cases that were

    executed against the softwareFTis the total number of test requirements

    Software Release Metrics

    The software is ready for release when:

    1. It has been tested with a test suite that provides 100% functional coverage, 80%

    branch coverage, and 100% procedure coverage.

    2. There are no level 1 or 2 severity defects.3. The defect finding rate is less than 40 new defects per 1000 hours of testing

    4. Stress testing, configuration testing, installation testing, Nave user testing,

    usability testing, and sanity testing have been completed

    Metrics.

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    13/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Software Maturity Metric

    Software Maturity Index is that which can be used to determine the

    readiness for release of a software system. This index is especially

    useful for assessing release readiness when changes, additions, or

    deletions are made to existing software systems. It also provides an

    historical index of the impact of changes. It is calculated as follows:SMI = Mt - ( Fa + Fc + Fd)/Mt

    Where

    SMIis the Software Maturity Index value

    Mtis the number of software functions/modules in the current release

    Fcis the number of functions/modules that contain changes from the

    previous releaseFais the number of functions/modules that contain additions to the

    previous release

    Fdis the number of functions/modules that are deleted from the

    previous release

    Metrics.

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    14/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    Reliability Metrics

    Reliability is calculated as follows:Reliability = 1 - Number of errors (actual or predicted)/Total number of

    lines of executable code

    This reliability value is calculated for the number of errors during a

    specified time interval.

    Three other metrics can be calculated during extended testing or after the

    system is in production. They are:

    MTTFF (Mean Time to First Failure)

    MTTFF = The number of time intervals the system is operable until its first

    failure (functional failure only).

    MTBF (Mean Time Between Failures)

    MTBF = Sum of the time intervals the system is operable

    MTTR (Mean Time To Repair)

    MTTR = sum of the time intervals required to repair the system

    The number of repairs during the time period

    Metrics.

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    15/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    End of session 2

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    16/17Your Partner for Professional Successhttp://www.techpartnerz.com 2013 TechPartnerz

    About TechPartnerz

    TechPartnerz is an IIT NIT alumni company providing end

    to end IT training solutions to Corporates, working

    professionals and Freshers

    TechPartnerz provides certification training programs for

    ITIL-Foundation, ITIL-Intermediate, PRINCE2-Foundation,

    PRINCE2-Practitioner, COBIT 5, Cloud Computing etc

    Our Software Training Portfolio includes training on QTP,

    Selenium, Loadrunner, Jmeter, SoapUI etc.

  • 7/28/2019 Learn Software Testing with TechPartnerz 2.ppt

    17/17Y P t f P f i l Shtt // t h t 2013 TechPartnerz

    Thank YouFor any queries feel free to contact [email protected]

    Follow TechPartnerz on facebook, Linkedin, twitter

    mailto:[email protected]://www.facebook.com/techpartnerzhttp://www.linkedin.com/company/techpartnerzhttp://www.twitter.com/techpartnerzhttp://www.twitter.com/techpartnerzhttp://www.linkedin.com/company/techpartnerzhttp://www.facebook.com/techpartnerzmailto:[email protected]