Transcript
  • 8/9/2019 Guidelines for MANUAL Testing

    1/9

    Controlled copy

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected

    Guidelines

    for

    Manual Testing

  • 8/9/2019 Guidelines for MANUAL Testing

    2/9

    2

    Controlled copy Manual Testing -

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 2 of 9

    Table of Contents

    1.0 Introduction ............................................................................................................3

    1.1 What is Software Testing? ................................................................................................3

    1.2 Why Test? ...........................................................................................................................3

    1.3 Principles of Testing .........................................................................................................3

    1.4 Can Testing be replaced? .................................................................................................4

    2.0 Definitions and Acronyms .....................................................................................4

    3.0 Tasks .......................................................................................................................5

    3.1 Test Strategy Definition .....................................................................................................5

    3.2 Test Plan .............................................................................................................................5

    3.3 Test Design ........................................................................................................................5

    3.4 Test Execution and Reporting ............................................................................ ..............6

    4.0 When do you stop testing? ....................................................................................7

    5.0 Useful tips ...............................................................................................................8

    6.0 Common Pitfalls .....................................................................................................9

    7.0 Templates ................................................................................................................9

    8.0 References ..............................................................................................................9

  • 8/9/2019 Guidelines for MANUAL Testing

    3/9

    3

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 3 of 9

    Controlled copy Manual Testing -

    1.0 Introduction

    This document gives an overview of Software Testing, the different types of testing that

    can be done and the activities involved in manual software testing

    1.1 What is Software Testing?

    IEEE definition states Testing is the process of exercising or evaluating a system or

    system component by manual or automated means to verify that it satisfies specified

    requirements

    As such, there are many published definitions of software testing, however all of these

    definitions boils down to essentially the same thing: software testing is the process of

    executing software in a controlled manner, in order to answer the question Does the

    software behave as specified?

    On a whole, testing objectives could be summarized as:

    Testing is a process of executing a program with the intent of finding an error.

    A good test is one that has a high probability of finding an as yet undiscovered error.

    A successful test is one that uncovers an as yet undiscovered error.

    1.2 Why Test?

    Developers not fallible

    Bugs in compilers, languages, DBs, OS

    Certain bugs easier to find in testing

    Dont want customers to find bugs

    Post release debugging is expensive

    Good test design is challenging and rewarding

    1.3 Principles of Testing

    All tests should be traceable to requirements

    Tests should be planned ahead of execution

    Pareto principle isolate suspect components for vigorous testing (80% of

  • 8/9/2019 Guidelines for MANUAL Testing

    4/9

    4

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 4 of 9

    Controlled copy Manual Testing -

    defects can be traced back to 20% of requirements)

    Testing should be done in an outward manner (Unit ->System)

    1.4 Can Testing be replaced?

    Though there are other approaches possible to create good software like Inspection,

    Reviews, Design Style, Static analysis, Language Checks etc software testing

    cannot be done away with. Review, inspect, read, walkthrough and TEST mandatorily

    2.0 Definitions and Acronyms

    Acronym Definition

    None

  • 8/9/2019 Guidelines for MANUAL Testing

    5/9

    5

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 5 of 9

    Controlled copy Manual Testing -

    3.0 Tasks

    3.1 Test Strategy DefinitionA test strategy is a statement of the overall approach to testing, identifying what levels

    of testing are to be applied, and the methods, techniques and tools.

    Refer to Test Strategy Guidelines for more information on defining the test strategy

    3.2 Test Plan

    The next task would be the preparation of a Test Plan

    A test plan states what the items to be tested are, at what level they will be tested, whatsequence they are to be tested in, how the test strategy will be applied testing of each

    item, and describes the test environment.

    Different test plans are prepared based on the level of testing. The objective of each test

    plan is to provide a plan for verification, by testing the software, that the software

    produced fulfills the requirements or design statements of the appropriate software

    specification.

    Unit Test Plan:

    A Unit Test Plan describes the plans for testing individual units / components / modules

    of the software

    Integration Test Plan:

    An Integration Test Plan describes the plan for testing integrated software components.

    System Test Plan:

    A System Test Plan describes the plan for testing the system as a whole.

    Acceptance Test Plan:

    An Acceptance Test Plan describes the plan for acceptance testing of the software.

    Normally Acceptance test plan is prepared by the Customer taking the help ofCognizant.

    3.3 Test Design

    Once the test plan for a level of testing has been written, the next stage is to specify a

  • 8/9/2019 Guidelines for MANUAL Testing

    6/9

    6

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 6 of 9

    Controlled copy Manual Testing -

    set of test cases or test paths for each item to be tested at that level. A number of test

    cases will be identified for each item to be tested at each level of testing. Each test

    case will specify how the implementation of a particular requirement or design is to be

    tested and the criteria for success of each test.

    A Unit Test Specification will detail the test cases for testing individual units of the

    software

    A Integration Test Specification will detail the test cases for each stage of integration of

    tested software components

    A System Test Specification will detail the test cases of system testing of the software

    An Acceptance Test Specification will detail the test cases of acceptance testing of the

    software

    It is important to design test cases for both positive and negative testing. Positive

    testing checks whether the software is doing what it is supposed to do and Negative

    testing checks whether the software is doing what it is not supposed to do.

    3.4 Test Execution and Reporting

    The next stage is performing the necessary testing. The output of test execution is

    recorded in a Test Results file normally called as the Test Log. These actual results are

    then compared with the Expected result of the Test Specification to determine if the test

    case has been successful or not. Accordingly a Pass / Fail is marked against the

    respective test case. If the test case has been a Failure, then a re-run of the test case

    is done and results noted.

    The testing process could be depicted as given below :

    Create Test Strategy Create Test Plan / Design

    Perform Tests

    Passes

    Test case Failure Application Failure

  • 8/9/2019 Guidelines for MANUAL Testing

    7/9

    7

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 7 of 9

    Controlled copy Manual Testing -

    4.0 When do you stop testing?

    Before we ask this question, let us try to answer another question

    Is Complete Testing Possible?

    Obviously the answer is NO. To prove that a program is completely free of bugs is

    practically impossible and theoretically a mammoth exercise. Therefore the aim of testing is

    to provide a suitable, convincing demonstration that the program has been tested enough

    Some of the STOP CRITERIAS are:

    Define Scope,

    Goals, Risks,

    Entrance / Exit

    Criteria,

    Environment etc.

    Create

    Scenarios/

    Suites / Sets

    Create

    Manual Test

    Cases

    Automate Test

    Cases

    Execute Test

    CasesAnalyz

    e

    Results

    Re-develop

    test cases

    Report / Track

    defects and

    fixes

    Document results

    / Maintain Metrics

  • 8/9/2019 Guidelines for MANUAL Testing

    8/9

    8

    Release ID: QGTS-MANUAL.doc / 8.01/ 05.03.2004 C3: Protected Page 8 of 9

    Controlled copy Manual Testing -

    Time runs out (Poor Criteria !!)

    Resources run out

    Testing stops when all test cases execute without producing any error

    Testing stops when certain number of errors are found

    Testing stops when all statements and all branches are executed and all test

    cases execute without failure

    Testing stops when the result is unproductive (No. of errors per person per day

    reduces)

    5.0 Useful tips

    Manage testing seriously as development projects are managed

    Foster a quality culture that wants to find and prevent problems

    Set clear directions and expectations

    Delegate responsibility and accountability to good people

    Invest in team tooling and support infrastructure

  • 8/9/2019 Guidelines for MANUAL Testing

    9/9

    9

    Release ID: QGTS-MANUAL.doc / 8.01 / 05.03.2004 C3: Protected Page 9 of 9

    Controlled copy Manual Testing -

    6.0 Common Pitfalls

    Some of the aspects that hinder testing itself could be

    Optimism

    Belief that the system works

    Negative attitude towards effective testing

    Ego

    Dont want to fail

    Conflict between testers and developers

    Testing is least structured

    Testing is expensive

    Delivery commitments

    Some of the pitfalls of manual testing could be

    Testing speed cannot match development speed

    Each build not fully tested

    Test coverage decreases, more bugs left undetected

    7.0 Templates

    Test Plan

    Test Cases & Log

    8.0 References

    Test Strategy Guidelines

    http://opt/scribd/conversion/tmp/scratch2734/QTTS-TPLAN.dochttp://opt/scribd/conversion/tmp/scratch2734/QTTS-TCASLOGE.xlshttp://opt/scribd/conversion/tmp/scratch2734/QGTS-TSTR.dochttp://opt/scribd/conversion/tmp/scratch2734/QTTS-TPLAN.dochttp://opt/scribd/conversion/tmp/scratch2734/QTTS-TCASLOGE.xlshttp://opt/scribd/conversion/tmp/scratch2734/QGTS-TSTR.doc