Testing Plan(v0.5)

download Testing Plan(v0.5)

of 23

Transcript of Testing Plan(v0.5)

  • 7/29/2019 Testing Plan(v0.5)

    1/23

    1. IntroductionThe main purpose of the test plan for the Airline Reservation System is to

    discuss the testing details of the use cases of the Airline Reservation System.

    The software project test plan also describes the objective, scope and approach

    of the software testing effort for the Airline Reservation System project. The test

    plan for the Airline Reservation System also indicates the personnel responsible for

    each task and also specifies the risks associated with the test plan.

    2. ObjectivesThe main objectives of the test plan for the Airline Reservation System are as follows:

    To identify the features of the system that will be tested.

    To identify and define all the activities necessary to prepare for and conduct

    the testing process on the Airline Reservation System

    To define the pass/fail criteria for each item that will be tested

    To discuss the testing techniques being used to test the Airline

    Reservation System.

    2.1 DefinitionsThe following are some of the terms and definitions that are related to the test plan of

    the Airline Reservation System:

    Pass/Fail criteria: Decision rules that are used to determine whether a

    software item passes or fails a test.

    Test: A collection of one or more test cases

    Test Item: A software item that is an objective of testing.

    Test Plan: A document describing the scope, approach, resources and

    schedule of the intended testing activities.

    Test Summary Report: A document summarizing the testing activities and

    results.

    Testing: The process of analyzing a software item to detect the differences

    between the existing and required conditions.

  • 7/29/2019 Testing Plan(v0.5)

    2/23

    3. Test ItemsThis section of the test plan lists all the items of the Airline Reservation System

    project that will be tested:

    Launch

    Add a customer

    Search customer

    Search flight

    Add a reservation

    Cancel a reservation

    Add a user

    Remove a user

    Add a flight

    4.ApproachThis section of the test plan describes the overall approach for testing the

    Airline Reservation System project. The approach followed for testing the Airline

    Reservation System ensures that the major features of the project are adequately

    tested. All the code testing will be done with the help of boost testing C++. The

    testing would be carried out on the Airline Reservation System while logging into the

    system as an admin user of the system.

    4.1 Testing Strategy4.1.1 Unit Testing

    The Unit Testing is a test that tests each single module of the software to check forerrors. This is mainly done to discover errors in the code of the Airline Reservation

    System. The main goal of the unit testing would be to isolate each part of the program

    and to check the correctness of the code. In the case of the Airline Reservation System,

    all the forms and the C++ classes will be tested. There are many benefits for this unit

    testing:

    The unit testing facilitates change in the code.

    It allows testing to be done in a bottom up fashion.

    At the same time, unit testing has some disadvantages such as it might not identify

  • 7/29/2019 Testing Plan(v0.5)

    3/23

    each and every error in the system.

    4.1.2 Integration TestingIn Integration Testing, the individual software modules are combined and tested

    as a whole unit. The integration testing generally follows unit testing where each

    module is tested as a separate unit. The main purpose of the integration testing

    is to test the functional and performance requirements on the major items of the

    project. All the modules of the project developed individually would be

    combined together and tested as a whole system in the integration testing.

    4.1.3 System Testing

    The system testing is mainly done on the whole integrated system to make sure that

    the project that has been developed meets all the requirements. The test cases for the

    system testing will be the combination of unit and integration tests.

    4.2 Test Case Design

    A test case is usually a single step, or occasionally a sequence of steps, to test the

    correct behaviour/functionalities, features of an application. An expected result or

    expected outcome is usually given.

    Additional information that may be included:

    Test case ID

    Test case description

    Test step or order of execution number

    Related requirement(s)

    Test category

    Check boxes for whether the test is automatable and has been automated.

    Expected Result and Actual Result.

    Additional fields that may be included and completed when the tests are executed:

    Pass/fail

    4.3 Pass or fail criteria

    The test cases executed on the Airline Reservation System will pass if they

    meet the specific requirements mentioned in the specification document of the project.

  • 7/29/2019 Testing Plan(v0.5)

    4/23

    A test case is said to fail, if the desired functionality is not satisfied by the system.

    5. Test PlanDate of Days

    Tuesday Wednesday Thursday Friday Monday

    5/12/11

    9/12/2011

    White box

    (Boost

    testing C++)

    White box

    (Boost

    testing C++)

    White box

    (Boost testing

    C++)

    White box

    (Boost testing

    C++)

    White box

    (Boost

    testing C++)

    12/12/2011

    15/12/2011

    Black box

    testing

    Black box

    testing

    System testing Improvement

    (finish)

    Black box

    testing

    6. Testing Requirements6.1 Personnel

    All testing includes black box testing and white box testing which is done by Chris and Meng

    in the group. However we use automatic method in white box testing (boost testing C++).

    6.2 Hardware and Software EnvironmentThe only available hardware/software requirement for Airline Reservation System is

    that it needs Windows 7 which has a minimum 1366*768 screen resolution to run.

    The following information is the specifications of the test machine to be employed.

    Because the specific information is not critical to performing the planned tests, they

    are subject to computer failure.

    Hardware: Intel(R) Pentium(R) i3 3.20GHz, 4G RAM, 1366 x 768 resolution (or

    higher)

    Operating System: Windows Vista, Windows 7, Linux

    Software:

    MS Office word and excel

    Git helps us to upload code documentation, analyze code and share them

    Windows 7.

    Visual studio

  • 7/29/2019 Testing Plan(v0.5)

    5/23

    QQ capture picture tool

    6.3 DocumentationThe documentation required for this plan is the user manual (help file) that is included

    with the software.

    7. Risk AnalysisIn software testing, risk analysis is the process of identifying risks in application and

    prioritizing them to test. To make software testing most effective it is important to

    assure all the high risks associated with the software, will be tested first. Some issues

    may occur in the following situations.

    7.1 Hardware failureWe employ PC in MSC lab for developing and running Airline Reservation System. In this case,

    some hardware issues are encountered during the testing. For example, some keyboards are

    stuck, the system cannot be tested correctly.

    7.2 Software problemsSome issues are posed by the software itself. There are still some bugs needing fixed. During

    the first testing, the endless loop is a big problem that affects our progress.

    7.3 Personal issuesWhen a person pay attention to something too long, it is easy to get tired and make some

    testing mistakes. This is why we have chosen to limit our efforts to testing only a few

    modules that we believe we can thoroughly test in the time we have with some additional

    flex time remaining.

    8. White box testsWhite box testing is performed based on the knowledge of how the system is

    implemented which requires access to the source code and knowing what makes

    software secure or insecure. (software engineering )

    Here we use C++ boost testing which is a free and automatic tool which is aimed at

    providing quality software components to developers, whilst using the styles of the

    Standard Template Library. Boost is namespace aware and it is developing products.

    It can work in different kinds of operating systems and it is friendly to variety of

    compilers. It facilitates installation, upgrade and configure

    (http://www.codeproject.com/KB/stl/boostintro.aspx---why boost)

    http://www.codeproject.com/KB/stl/boostintro.aspxhttp://www.codeproject.com/KB/stl/boostintro.aspxhttp://www.codeproject.com/KB/stl/boostintro.aspxhttp://www.codeproject.com/KB/stl/boostintro.aspx
  • 7/29/2019 Testing Plan(v0.5)

    6/23

    9. Black Box Tests9.1 Black box test plan

    System Module:

    Launch

    Add a Customer() -----Adds a customer record to the file system

    Add a user()----- add a user or staff

    Add a flight()-----add a flight

    Make a customer inquiry()-----Searches for a customer record in a file system

    Make a flight inquiry() -----Searches for a flight using the flight id in the file

    Add a reservation() ----- add a new reservation

    Cancel a reservation()----- remove a reservation

    Remove a flight()----- remove a flight

    Tests for each case:

    Test Case 1

    Test Name:

    Verify Launch

    Purpose:

    Ensure that users can log into the application.

    Pre-Conditon: None

    Action Test Data

    Expected

    Result Actual Result

    Pass or

    fail

    Admin launch

    Correct usernameand password

    The admin mainscreen appears

    The main screenappears

    Pass

    Incorrect

    username or

    password

    Error message Error message Pass

    User launch

    Correct username

    and password

    The admin main

    screen appears

    The admin main

    screen appearsPass

    Incorrect

    username or

    password

    Error message Error message Pass

    Test case 2

    Test Name:

    Verify FCGDATA Data-1

    Purpose:

    Ensure that the contents of the customer in the database is showing up

    correctly in theFCGDATA.

    Pre-Conditon: None

    Input CharactersTest Data Expected Actual Result Pass or

  • 7/29/2019 Testing Plan(v0.5)

    7/23

    Result fail

    Title

    Mr

    accepted acceptedPassMiss

    Doctor

    MS1234rejected accepted failAb123

    M1

    First name

    ty accepted accepted Pass

    m123

    accepted failLL1aqe rejected

    Surname

    Smithaccepted accepted Pass

    Green

    T3mmrejected accepted failM123

    Address TM4.4

    Thronbank

    Gardens

    accepted accepted Pass

    Passport

    YM1234567accepted accepted Pass

    123456789

    1234567890rejected rejected Pass

    WN12345

    Telephone

    +440740636110

    accepted accepted Pass00440740636110

    00862616078

    Test case 3

    Test Name:

    Verify FCGDATA Data-2

    Purpose:

    Ensure that the contents of the user in the database is showing up correctly in

    the FCGDATA.

    Pre-Conditon: None

    Input Characters Test Data

    Expected

    Result

    Actual

    Result Pass or fail

    usermeng

    Accepted Accepted PassKjii

    M1223

    password Meng12 Accepted AcceptedPass

    Asdfasf16556

    adminstrative 1 Accepted Accepted Pass2

    3rejected rejected Passf

  • 7/29/2019 Testing Plan(v0.5)

    8/23

    L

    Test case 4

    Test Name:Verify FCGDATA-3

    Purpose:

    Ensure that the contents of the flight in the database is showing up correctly

    in the FCGDATA.

    Pre-Conditon: None

    Input CharactersTest Data

    Expected

    Result Actual Result

    Pass or

    fail

    Flight number

    TT012

    Accepted Accepted PassAb556

    NN123(4)

    12345

    Rejected Rejected PassTTTTT

    T123

    YYY12

    Date 121220015 Accepted Accepted Pass10022035

    30122058

    time

    121212 Rejected Rejected Pass

    1225

    Accepted Accepted Pass00200321

    0758

    Source and DestTTN Accepted

    Accepted PassPPL

    Lpi

    Rejected Rejected PassLLn

    lmn

    Test case 5

    Test Name:

    Search customer

    Purpose:

    Ensure that users can manager customer easily.

    Pre-Conditon:

    Case1:Ty(unique information) exist in the database

    Case2: passport (unique information) exist in the database

    Case3: Passport (unique information) not exist in the database

  • 7/29/2019 Testing Plan(v0.5)

    9/23

    Case4: meng(unique information) not exist in the database

    Test Data Expected Result Actual Result Pass or fail

    Case1accepted

    other information listed

    accepted, other

    information listedPass

    Case2accepted, other

    information listed

    accepted, other

    information listedPass

    Case3 rejected rejected Pass

    Case4 rejected rejected Pass

    Test case 6

    Test Name:

    Search flight

    Purpose:

    Ensure that users can manager flight easily.

    Pre-Conditon:Case1: flightnumber (unique information) exist in the database

    Case2: LON(unique information) exist in the database

    Case3: flightnumber (unique information) not exist in the database

    Case4:TNM(unique information) not exist in the database

    Test Data Expected Result Actual Result Pass or fail

  • 7/29/2019 Testing Plan(v0.5)

    10/23

    Case1accepted

    other information listed

    accepted, other

    information listedPass

    Case2accepted, other

    information listed

    accepted, other

    information listedPass

    Case3 rejected rejected Pass

    Case4 rejected rejected Pass

    Test case 7

    Test Name:

    Make a reservation

    Purpose:

    Ensure that flights can be booked using the system.

    Pre-Conditon: customer ty and TT123 exist in the database

    Meng and SS568 not exist in the database

    Case1: Ty makes a reservation for flight number TT123 first class

    Case2: meng makes a reservation for flight number TT123 first class

    Case3: Ty makes a reservation for flight number SS568 standard

    Case4: meng makes a reservation for flight number TT123 standard

    Test Data Expected Result Actual Result Pass or fail

  • 7/29/2019 Testing Plan(v0.5)

    11/23

    Case1 successful successful Pass

    Case2 fail fail Pass

    Case3 fail fail Pass

    Case4 fail fail Pass

    Test case 8

    Test Name:

    Cancel a reservation

    Purpose:

    Ensure that customer can cancel the reservation using the system.

    Pre-Conditon: use knows the customers unique information (Ty) and flight

    information. Customer (meng) does not exist in the database

    Test Data Expected Result Actual ResultPass or

    fail

    Customer unique

    information Tycancelled cancelled Pass

    meng error error Pass

    Test case 9

  • 7/29/2019 Testing Plan(v0.5)

    12/23

    Test Name:

    Remove a flight

    Purpose:

    Ensure that customer can cancel the reservation using the system.

    Pre-Conditon: Flight TU123 exits in the database; TI345 does not exist in thedatabase

    Case1: remove TU123

    Case2: remove TI345

    Test Data Expected Result Actual ResultPass or

    fail

    Case1 accepted accepted Pass

    Case2 rejected rejected Pass

    10. System testingLogin menu

    Main menu

  • 7/29/2019 Testing Plan(v0.5)

    13/23

    Add a customer

    Make a customer inquiry

  • 7/29/2019 Testing Plan(v0.5)

    14/23

    Make a flight inquiry

  • 7/29/2019 Testing Plan(v0.5)

    15/23

    Make a reservation

  • 7/29/2019 Testing Plan(v0.5)

    16/23

  • 7/29/2019 Testing Plan(v0.5)

    17/23

    Cancel a reservation

  • 7/29/2019 Testing Plan(v0.5)

    18/23

  • 7/29/2019 Testing Plan(v0.5)

    19/23

    Add a user

  • 7/29/2019 Testing Plan(v0.5)

    20/23

    Remove a user

  • 7/29/2019 Testing Plan(v0.5)

    21/23

    Add a flight

  • 7/29/2019 Testing Plan(v0.5)

    22/23

    Remove a flight

  • 7/29/2019 Testing Plan(v0.5)

    23/23