testing plan(v0.3)
TRANSCRIPT
1. Introduction
The 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. Objectives
The 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 Definitions
The 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.
3. Test Items
This 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. Approach
This 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 Strategy
4.1.1 Unit Testing
The Unit Testing is a test that tests each single module of the software to check for
errors. 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
each and every error in the system.
4.1.2 Integration Testing
In 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. A test case is said to fail, if the desired functionality is not satisfied by the
system.
5. Test Plan
Date 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 Requirements
6.1 Personnel
All testing includes black box testing and white box testing which is done by Chris and Ty in the group. However we use automatic method in white box testing (boost testing C++).
6.2 Hardware and Software Environment
The 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
6.3 Documentation
The documentation required for this plan is the user manual (help file) that is included with the software.
7. White box tests
White 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)
8. Black Box Tests
8.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 DataExpected
Result Actual ResultPass or
fail
Admin launch
Correct username and password
The admin main screen appears
The main screen appears Pass
Incorrect username or
passwordError message Error message Pass
User launch
Correct username and password
The admin main screen appears
The admin main screen appears Pass
Incorrect username or
passwordError message Error message Pass
Test case 2
Test Name: Verify FCG Data-1
Purpose: Ensure that the contents of the customer in the database is showing up correctly in the reports.
Pre-Conditon: None
Input CharactersTest Data
Expected Result Actual Result
Pass or fail
Title
Mr
accepted accepted PassMissDoctor
MS1234
rejected accepted failAb123M1
First namety accepted accepted Pass
m123accepted failLL1aqe rejected
“ ”
SurnameSmith accepted accepted PassGreenT3mm rejected accepted failM123
Address TM4.4 Thronbank Gardens
accepted accepted Pass
PassportYM1234567 accepted accepted Pass1234567891234567890 rejected rejected Pass
WN12345
Telephone+440740636110
accepted accepted Pass0044074063611000862616078
Test case 3
Test Name: Verify FCG Data-2
Purpose: Ensure that the contents of the user in the database is showing up correctly in the reports.
Pre-Conditon: None
Input Characters Test DataExpected
ResultActual Result Pass or fail
user meng Accepted Accepted PassKjiiM1223
password Meng12 Accepted Accepted PassAsdfasf16556
adminstrative1 Accepted Accepted Pass23
rejected rejected Pass f L
Test case 4
Test Name: Verify FCG Data-2
Purpose: Ensure that the contents of the flight in the database is showing up correctly in the reports.
Pre-Conditon: NoneInput Characters
Test DataExpected
Result Actual ResultPass or
fail
Flight number
TT012Accepted Accepted PassAb556
NN123(4)12345
Rejected Rejected PassTTTTTT123
YYY12Date 121220015 Accepted Accepted Pass10022035
30122058
time
121212 Rejected Rejected Pass1225
Accepted Accepted Pass002003210758
Source and Dest TTN Accepted Accepted PassPPLLpi
Rejected Rejected PassLLnlmn
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
Case4: meng(unique information) not exist in the database
Test Data Expected Result Actual Result Pass or fail
Case1 acceptedother information listed
accepted, other information listed Pass
Case2 accepted, other information listed
accepted, other information listed Pass
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
Case1 acceptedother information listed
accepted, other information listed Pass
Case2 accepted, other information listed
accepted, other information listed Pass
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 databaseMeng and SS568 not exist in the database Case1 : Ty makes a reservation for flight number TT123 first classCase2 : meng makes a reservation for flight number TT123 first classCase3: 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
Case1 successful successful Pass
Case2 fail fail Pass
Case3 fail fail Pass
Case4 fail fail Pass
Test case 8
Test Name:
Cancel a reservationPurpose:
Ensure that customer can cancel the reservation using the system. Pre-Conditon: use knows the customer’s unique information (Ty) and flight information. Customer (meng) does not exist in the database
Test Data Expected Result Actual Result Pass or fail
Customer unique information Ty cancelled cancelled Pass
meng error error Pass
Test case 9
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 the databaseCase1: remove TU123Case2: remove TI345
Test Data Expected Result Actual Result Pass or fail
Case1 accepted accepted Pass
Case2 rejected rejected Pass
9. System testing
Login menu
Main menu
Add a customer
Make a customer inquiry
Make a flight inquiry
Make a reservation
Cancel a reservation
Add a user
Remove a user
Add a flight
Remove a flight