Test report for online movie ticketing system developed by ILSE Inc, written by Luo linbo
1. The objective of testing effort and intended audiences
The objective is to to determine if the software satisfies the business requirements. Besides that, it will identify invalid states and values in the system. After integration of various modules, system integrity will be stressed-tested of its stability. The intended audiences are our clients and our supervisor Mr. Kevin Anthony Jones.
2. Testing strategy
3. Software product overview
The aim of the project is to implement a new online movie ticketing system that enable:
The advantages of this new system are:
3. Test scope and Test plan
Our testing team will only conduct the unit testing and block testing due to the limitation of time.
For unit test, we will employ both static and dynamic testing techniques. Our basic component is the .java and .jsp file. Since the inspection and compilation has already been done by programmer, we will only do the walkthrough for static testing. After that, we will do the white-box testing. The test cases will be derived from basis paths. So they will not be depicted here. Our test completion criteria is the basic function of the module and satisfaction for the requirement.
Forthe high level testing, we divide our program into two major block-customer interface and administrator interface. Instead of the focus on technique aspects, our main concern is the micro-behavior of each block. The black box testing will be employed here. We will use equivalence partitioning, boundary value and logic-based testing techniques for Test Data Selection.
4. Outline of testing process
Pre-requisite: The programmer has completed the unit testing by inspection and compilation.
5. Testing environment
5.1 Hardware
5.2 Operating system
5.3 Required software
6. Roles and responsibilities
6.1 Test team
Test Controller: Luo Linbo
Test Engineer : Hartono Kasman & Choong Hon Ye
6.2 Test support team
Support programmer: Tan Chiew Hua & Yeo Tze Choog
7. Testing phases and cycles
7.1 Validation testing cycle
7.1.1 The system requirement validation
Testing procedure:
Sample Test case:
Client objects |
Designer objects |
Credit card ID |
Credit_Card (Database) |
Password |
Password (Database) |
Tickets |
NA |
Client services |
Designer services |
Login |
NA |
Book |
forward (Booking) |
Cancel |
forward (Cancel) |
Validate |
forward (Validate) |
7.1.2 The implementation validation
Testing procedure:
7.2 Verification testing cycle
7.2.1 Unit testing
We adopt white box testing in this stage. This testing was carried out on individual which is the .java file that programmer have designed.
(a) static testing
we did the walkthrough of the whole program. All the names of the variables are scrutinized to make sure that they are truly reflective of the element they represent. Some syntax errors and logic errors were captured in this phase.
(b) Dynamic testing
Component was checked and the flow graph wad constructed from the analysis. The test cases was derived from the path path.
Basis Path testing for Admins package:
Method |
Flow graph & test cases |
V(G) |
Basis Path |
Movieedit(String) | Click Here |
6 |
Path
1: 1-2-3-5-6-7-8-9-10-11-12-13-14-15 Path 2: 1-2-3-1-2-3-5-6-7-8-10-11-12-13-14-15 Path 3: 1-2-3-5-6-7-8-6-7-8-10-11-12-13-14-15 Path 4: 1-2-3-1-2-3-5-6-7-8-6-7-8-10-11-12-13-11-12-13-14 Path 5: 1-2-4-5-6-7-8-10-11-12-13-14-15 Path 6: 1-2-4-5-6-7-9-10-11-12-13-14-15 |
Custdel(String) |
3 |
Path
1: 1-2-3... |
Basis Path testing for Customer package:
Method |
Flow graph & test cases |
V (G) |
Basis
Path |
BookingRequest.
Process( ) |
3 |
Path
1: 1-2-3... |
|
CancelRequest Process() |
3 |
Path
1: 1-2-3... |
7.2.2 Block testing
Graph-Based Testing
Administrator Block:
Test Cases and Results:
Login module
Test Data Selection method: Equivalence Partitioning
Test Case |
Purpose |
Result |
Expected Output? (Y/N) |
User Name: java Password : sun |
Test if login module for administrator working
|
Login successful : redirected to Online Movie Ticketing administrator main page |
Y |
User Name: java Password : 000000 |
Test if login module for administrator working |
Login unsuccessful : redirected to invalid login page which asks user to re-input the information |
Y |
Add movie module
Test Data Selection method: Boundary Value Analysis (Note: only the input ticket price is tested using this method. The ticket price should be in the range 4 to 15)
Assumption: All the other necessary inputs are valid
Test Case
|
Purpose
|
Result |
Expected Output?(Y/N) |
Ticket price:$7 (valid input) |
Check if the movie with normal price can be added |
Movie was added successfully |
Y |
Ticket price:$4 (lower boundary) |
Check if the movie with lower boundary price can be added |
Movie was added successfully |
Y |
Ticket price:$15 (upper boundary) |
Check if the movie with upper boundary price can be added |
Movie was added successfully |
Y |
Ticket price:$3 (invalid input) |
Check if the system will handle the invalid price which is lower than boundary |
Movie was still added unconditionally |
N |
Ticket price:$20 (invalid input) |
Check if the system will handle the invalid price which is higher than boundary |
Movie was still added unconditionally |
N |
Ticket price: ABC (invalid input) |
Check if the system will handle the invalid price which is not an numerical value |
Movie was still added unconditionally |
N |
Edit movie properties module
Test Data Selection method: Equivalence Partitioning
Classes:
The time interval is 2 hours
The time interval is less than 2 hours
The time interval is greater than 2 hours
Assumption: All the other necessary inputs are valid
Test Case
|
Purpose
|
Result |
Expected Output?(Y/N) |
Start time:2.30 End time:4.30 (valid input) |
Check if the movie with correctl duration can be edited |
Movie was added edited |
Y |
Start time:2.30 End time:9.30 (invalid input) |
Check if the movie with the duration higher than the correct one will generate error message |
Movie was still edited wrongly |
N |
Start time:2.30 End time:3.30 (invalid input) |
Check if the movie with the duration lowerr than the correct one will generate error message |
Movie was still edited wrongly |
N |
Add customer, remove customer, and edit customer properties modules's test cases was derived similarly
Customer Block
![]() |
Booking Movie Module
Test Data Selection method: Equivalence Partitioning
Assumption: All the other necessary inputs are valid
Test Case |
Purpose
|
Result |
Expected Output?(Y/N) |
Name: Luo Credit No:1111-1111-1111-1111 |
Check if the user with valid credit no can book the movie |
Movie was added edited |
Y |
Name: Luo Credit No:0000-0000-0000-0000 |
Check if the user with invalid credit cannot book the movie |
The data was reseted |
Y |
Cancelling Movie Module
Test Data Selection method: Equivalence Partitioning
Assumption: All the other necessary inputs are valid
Test Case |
Purpose
|
Result |
Expected Output?(Y/N) |
Name: Luo Credit No:1111-1111-1111-1111 |
Check if the user with valid credit no can cancel the movie |
Movie was cancelled edited |
Y |
Name: Luo Credit No:0000-0000-0000-0000 |
Check if the user with invalid credit cannot cancel the movie |
The data was reseted |
Y |
7. Testing tool sugggested for the future testing in the project
Rational TestManager Version 2002 is suggested to do the future testing. However, due to the limitation of time, we don't apply it in this stage. The reason for choosing this tool is that it is adapable to the change in the requirement. Rational TestManager provides the important ability to trace the impact of requirements and other changes by automatically flagging potentially impacted test cases. Such tool will ease the process of the testing, and even in the maintainence stage.
8. References
Pressman S. Roger., Software engineering: A practitioner's Approach, fifth edition McGraw-Hill 2001