Test Input Data: The tester will login as the user 'IT Staff'.

advertisement
Software Test Plan
for
Ticket Tracking System
Version 2.0
Prepared by:
Team 8
MSC
Samuel Harrington
Colton Manville
Michael Slezak
Prepared for:
Dr. Manuel L. Penaloza
CSC 470 Instructor
South Dakota School of Mines and Technology
Spring 2011
April 1, 2011
Table of Contents
1.0 Introduction ..................................................................................................... 3
1.1 Purpose of Document ................................................................................... 3
1.2 Definitions, Acronyms, and Abbreviations .................................................... 3
2.0 System Test Cases ............................................................................................ 4
2.1 User .............................................................................................................. 4
2.2 Staff ............................................................................................................ 10
2.3 Manager ..................................................................................................... 16
2.4 Admin ......................................................................................................... 19
3.0 Testing Results ............................................................................................... 22
4.0 Traceability Matrix ......................................................................................... 23
5.0 Conclusion ..................................................................................................... 23
3
1.0 Introduction
1.1 Purpose of Document
The purpose of this document is to detail how the product will be tested for conformance
to the requirements. It will list a series of unambiguous tests to determine whether the
product is ready for use. In addition, this document will later be expanded to include a
record of the product readiness. The tests will be run under the latest two versions of
Internet Explorer, Google Chrome, and Firefox. The server will be running the latest
versions of Apache, MySQL, and PHP.
1.2 Definitions, Acronyms, and Abbreviations
Throughout this paper, a number of acronyms, definitions, and abbreviations will be used:

MySQL: A program used for managing databases and executing database queries.

PHP: Server-side scripting language for developing web pages on a web server.

JavaScript: Client-side scripting language for enriched interaction with the user.

jQuery: JavaScript library to help program a rich user interface for the website.

Apache: web server software used for hosting a website on the internet.

HTML: Hyper-Text Markup Language, defines webpages for browsers to render

SDSM&T: South Dakota School of Mines and Technology

MCS: Math and Computer Science

SVN: Subversion, code management software

GUI: Graphical User Interface
4
2.0 System Test Cases
2.1 User
2.1.1 TU1
Purpose:
Test if users can log in.
Test Input Data:
Create a user with username “Login_test_user” and password
“1234567890qWeRtY[]\!@#$%^&*()-=”. Attempt to log in as
“Login_test_user” & “1234567890qWeRtY[]\!@#$%^&*()-=”,
“login_test_user” & “1234567890qWeRtY[]\!@#$%^&*()-=”,
“not_a_user” & “1234567890qWeRtY[]\!@#$%^&*()-=”,
“Login_test_user” & “1234567890qwerty[]\!@#$%^&*()-=”, and
“Login_test_user” & “jhgjhgfkjhgkjhgjhg”.
Expected outcome: Only the correct (first) username and password allow you to log
in. All others present the error: “Invalid Username/Password”.
2.1.2 TU2
Purpose:
Test if users can see the incident reports they have submitted.
Test Input Data:
The tester will login as the user ‘User’.
The tester will submit a ticket titled ‘Viewing Test’.
The tester will navigate to the ticket viewing page and select the
‘Submitted’ tab.
Expected outcome: The ticket ‘Viewing Test’ will appear in the ticket list in the
‘Submitted’ tab.
5
2.1.3 TU3
Purpose:
Test if users can submit incident reports.
Test Input Data:
The tester will login as the user ‘User’.
The tester will navigate to the ticket submission page and submit
a ticket with the title ‘Submission Test’, and the description ‘This
is a test.’
The tester will login as the user ‘IT Staff’.
The tester will navigate to the ticket viewing page and select the
‘New’ tab.
Expected outcome: The ticket ‘Submission Test’ will appear in the ticket list in the
‘New’ tab.
2.1.4 TU4
Purpose:
Test if users can change their password.
Test Input Data:
Create a new user with password “password1” and log in. On the
preferences page, input the following combinations into the old,
new, and confirm fields and press submit:
“password1”, “password2”, “password2”
“password1”, “password2”, “asdf”
“asdf”, “password2”, “password2”
“asdf”, “password2”, “qwerty”
6
Expected outcome: Only in the first case does the password get changed successfully
to “password2”. The other cases output an error stating either
the old password is wrong, or the new passwords do not match.
2.1.5 TU5
Purpose:
Test if users can change preferences.
Test Input Data:
Create a new user and log in. Enter each of the following on the
Preferences page, pressing submit after each:
First name: “Bob”
Last name: “Felderstein-goldberg”
Phone: “555-555-5555”
Email: “someone@someplace.jp”
Last name: “Jones”, First name: “Desiree”
Expected outcome: The preferences are changed to match the entered data, and
persist until changed.
2.1.6 TU6
Purpose:
Test if users can search through tickets.
Test Input Data:
The tester will clear the MySQL ticket table.
The tester will use a MySQL query to insert two tickets into the
ticket table.
The first ticket will contain the following information:
7
Title: Ticket Alpha
Description: Win
Status: In Progress
Priority: Normal
Owner: Admin
Submitter: IT Staff
Date Submitted: 10/20/2010
Date Modified: 10/20/2010
The second ticket will contain the following information:
Title: Ticket Beta
Description: Lose
Status: Approved
Priority: High
Owner: Manager
Submitter: User
Date Submitted: 3/12/2011
Date Modified: 3/12/2011
The tester will perform the following searches:
1) Keywords: Alpha, Win
2) Status: In Progress
3) Priority: Normal
4) Owner: Admin
8
5) Submitter: IT Staff
6) Modified: 1/10/2010 – 1/10/2011
7) Modified: 1/10/2010 – 1/10/2012
8) Submitter: IT Staff, User
9) Owner: Admin, Manager
10) Priority: Normal, High
11) Status: In Progress, Approved
12) Keywords: Ticket
13) Keywords: Pickle
14) Status: New
15) Priority: Low
16) Owner: IT Staff
17) Submitter: Admin
18) Modified: 1/10/2011 – 2/10/2011
19) Keywords: Ticket, Alpha, Win
Status: Approved
Priority: High
Owner: Manager
Submitter: User
Modified: 3/12/2011 – 3/12/2011
9
Expected outcome: In Searches 1 – 6, and 19 only the ticket ‘Ticket Alpha’ will be
displayed.
In Searches 7 – 12 both ‘Ticket Alpha’ and ‘Ticket Beta’ will be
displayed.
In Searches 13 – 18 the phrase ‘No Search Results’ will be
displayed.
2.1.7 TU7
Purpose:
Test if users can comment on tickets they have submitted.
Test Input Data:
Login as “User”. Create a new incident. Open the incident.
Attempt to comment on the incident. Open an incident the user
did not create. Attempt to comment on the incident.
Expected outcome: If the user submitted the ticket, the comment is appended to the
comment description – otherwise, an error is displayed.
2.1.8 TU8
Purpose:
Test if passwords are stored securely.
Test Input Data:
Create a user “Hash_test” and set the password to “password”.
Open the database in a viewer such as phpMyAdmin, and view
the contents of the User table.
Expected outcome: The password column of the row for “Hash_test” should appear
similar to “$1$t.5.yN3.$eFrG/9HffNxHalRUpaFvI1”.
10
2.2 Staff
2.2.1 TS1
Purpose:
Test if staff can comment on tickets that they are assigned to.
Test Input Data:
The tester will create a ticket titled ‘Commenting Test’.
The tester will login as the user ‘Manager’.
The tester will assign the ticket to the user ‘IT Staff’.
The tester will login as the user ‘IT Staff’.
The tester will view the ticket ‘Commenting Test’.
The tester will submit a comment with the text ‘Hello World’.
Expected outcome: The ticket titled ‘Commenting Test’ will contain a comment with
the text ‘Hello World’.
2.2.2 TS2
Purpose:
Test if staff can comment on tickets that are not assigned to
them.
Test Input Data:
The tester will create a ticket titled ‘Comment Test Ticket’.
The tester will login as the user ‘Manager’.
The tester will assign the ticket to the user ‘Admin’.
The tester will login as the user ‘IT Staff’ and search for the ticket
‘Comment Test Ticket’.
The tester will view the ticket titled ‘Comment Test Ticket’.
11
Expected outcome: The comment submission box will not appear on the ticket
viewing page.
2.2.3 TS3
Purpose:
Test if staff can modify priority and category of assigned ticket.
Test Input Data:
The tester will create a ticket titled ‘New Ticket’, with the priority
‘Low’, and the category ‘Software’.
The tester will then login as the user ‘Manager’.
The tester will assign the ticket ‘New Ticket’ to the user ‘IT Staff’.
The tester will then login as the user ‘IT Staff’.
The tester will navigate to the ticket modification page for the
ticket ‘New Ticket’.
The tester will change the priority to ‘High’ and the category to
‘Hardware’.
Expected outcome: The ticket ‘New Ticket’ will change from ‘Low’ priority to ‘High’
priority, and the category will change from ‘Software’ to
‘Hardware’.
2.2.4 TS4
Purpose:
Test if staff can view list of unverified tickets, assigned tickets,
and completed tickets.
12
Test Input Data:
The tester will create three tickets titled ‘Unverified Ticket’,
‘Assigned Ticket’, and ‘Completed Ticket’.
The tester will login as the user ‘Manager’ and assign the tickets
‘Assigned Ticket’ and ‘Completed Ticket’ to the user ‘IT Staff’.
The tester will then login as the user ‘IT Staff.
The tester will then navigate to the ticket viewing page and
select the ‘Assigned’ tab.
The tester will select the ticket ‘Completed Ticket’ and submit it
for completion.
The tester will then login as the user ‘Manager’.
The tester will then mark the ticket ‘Completed Ticket’ as
‘Completed’.
The tester will then login as the user ‘IT Staff’.
The tester will then navigate to the ticket viewing page and
select the ‘New’, ‘Assigned’, and ‘Completed’ tabs.
Expected outcome: The tester will see the ticket ‘Unverified Ticket’ in the ‘New’ tab.
The tester will see the ticket ‘Assigned Ticket’ in the ‘Assigned’
tab.
The tester will see the ticket ‘Completed Ticket’ in the completed
tab.
13
2.2.5 TS5
Purpose:
Test that staff can only see unverified tickets and not list of
tickets assigned to other staff.
Test Input Data:
The tester will create a ticket titled ‘Invisible Ticket’ and a ticket
titled ‘Visible Ticket’.
The tester will then login as the user ‘Manager’.
The tester will assign the ticket titled ‘Invisible Ticket’ to the user
‘Admin’.
The tester will then assign the ticket ‘Visible Ticket’ to the user ‘IT
Staff’.
The tester will then login as the user ‘IT Staff’.
The tester will then perform a search for all tickets.
Expected outcome: The tester will be able to see the ticket ‘Visible Ticket’, but will
not be able to see the ticket ‘Invisible Ticket’.
2.2.6 TS6
Purpose:
Test that staff can verify unverified tickets.
Test Input Data:
The tester will submit a ticket titled ‘Test Ticket’.
The tester will log in as the user ‘IT Staff’.
The tester will navigate to the ticket viewing page and select the
‘new’ tab.
The tester will select the ticket ‘Test Ticket’.
14
The tester will then click the ‘Verify’ button in the ticket
modification window.
Expected outcome: The ticket’s status will change from ‘New’ to ‘Verified’.
2.2.7 TS7
Purpose:
Test that staff can request approval to continue with a ticket or
to close the ticket by setting the ticket status.
Test Input Data:
The tester will login as the user ‘IT Staff’.
The tester will create a ticket titled ‘Test Approval Ticket’.
The tester will then use the account ‘Manager’ to assign the
ticket to the user ‘IT Staff’.
The tester will then log in as the user ‘IT Staff’.
The tester will navigate to the ticket modification page, and
submit the ticket for approval with the phrase ‘Need New
Computer’.
The tester will then log into the account ‘Manager’ and approve
the request.
The tester will then log into the account ‘IT Staff’, navigate to the
ticket modification page, and submit the ticket for completion.
Expected outcome: The ticket’s status will change from ‘In Progress’ to ‘Approval
Pending’ and will contain the comment ‘Approval Pending: Need
New Computer’.
15
The ticket status will then change from ‘Approved’ to ‘Pending
Completion’.
2.2.8 TS8
Purpose:
Test that staff can perform all actions of a user including: ticket
submission, changing user preferences, and viewing personal
tickets.
Test Input Data:
Perform tests TU2-TU6 logged in as the user ‘IT Staff’ instead of
the user ‘User’.
Expected outcome: Expected outcomes for TU2 – TU6.
16
2.3 Manager
2.3.1 TM1
Purpose:
To test FRM1, Manager can modify any field of a ticket
Input Test Data:
The tester will submit a ticket with the title ‘Test Ticket’, the
description ‘This is a test’, and the type ‘Software’.
The tester will change the title to ‘Modified Ticket’.
The tester will change the priority to ‘High’.
The tester will change the ticket type to ‘Hardware’.
The tester will assign the ticket to the user ‘User’
Expected Output:
The ticket will have the title ‘Modified Ticket’, the priority ‘High’,
the type ‘Hardware’, and will be assigned to the user ‘User’
2.3.2 TM2
Purpose:
To test FRM2, Manager can perform all IT Staff actions
Input Test Data:
Perform tests TS1, TS4, and TS6 – TS8 logged in as the user
‘Manager’ instead of ‘IT Staff’.
Expected Output:
Expected Output for TS1, TS4, and TS6 – TS8.
2.3.3 TM3
Purpose:
To test FRM3, Manager can view tickets pending approval
Input Test Data:
The tester will submit a ticket titled ‘Pending Approval Ticket’
and will set the status to ‘Pending Approval’.
17
The tester will then navigate to the ticket viewing page and
select the ‘Pending Approval’ tab.
Expected Output:
The tester will see the ticket ‘Pending Approval Ticket’ in the
pending approval list.
2.3.4 TM4
Purpose:
To test FRM3, Manager can view unassigned tickets
Input Test Data:
The tester will create a ticket with the name ‘Unassigned Ticket’.
The tester will then navigate to the ticket viewing page and
select the ‘New’ tab.
Expected Output:
The tester will be able to see the ticket ‘Unassigned Ticket’ in the
new ticket list.
2.3.5 TM5
Purpose:
To test FRM3, Manager can view verified tickets
Input Test Data:
The tester will create a ticket with the name ‘Verified Ticket’ and
set the status to ‘Verified’.
The tester will then view the ‘verified’ tab on the ticket viewing
page.
Expected Output:
The tester will see the ticket ‘Verified Ticket’ in the list of verified
tickets.
18
2.3.6 TM6
Purpose:
To test FRM4, Manager can comment on any ticket
Input Test Data:
The tester will select a ticket named ‘Manager Test Ticket’ and
submit the comment ‘Comment Test’.
Expected Output:
The ticket ‘Manager Test Ticket’ will contain a comment
‘Comment Test’.
19
2.4 Admin
2.4.1 TA1
Purpose:
To test FRA1, Admin can remove users
Input Test Data:
Go to the “Users” page. Create a new user named “Delete_test”.
Select the checkbox next to the user in the list, and press “Delete
User”. Log out and attempt to log in as “Delete_test”.
Expected Output:
The user shows up with a strikethrough through their name and
cannot log in, with the error message “Invalid Username or
Password”.
2.4.2 TA2
Purpose:
To test FRA1, Admin can add users
Input Test Data:
Go to the “Users” page. Press “Add new user”, and enter in the
username “Create_test”, role “Manager”, and a valid email
address.
Expected Output:
An email should be sent to the email address with instructions to
set the password and log in.
2.4.3 TA3
Purpose:
To test FRA2, Admin can change user permissions
Input Test Data:
Go to the “Users” page. Create a user “Role_test” as a “User”.
Select “IT Staff” from the drop-down next the user’s name. Press
20
“Update permissions”. Select “Manager”, “Admin”, and “User” in
turn, pressing “Update permissions” after each.
Expected Output:
The drop-down should change to show the role you selected for
the user, after pressing “Update permissions”.
2.4.4 TA4
Purpose:
To test FRA2, Admin cannot change own permissions
Input Test Data:
Create two new admin users named “Admin_test1” and
“Admin_test2”. Make sure you are logged in as “Admin_test1”.
Go to the “Users” page.
Expected Output:
There should not be a drop-down list after the user
“Admin_test1”, but there should be one after “Admin_test2”.
2.4.5 TA5
Purpose:
To test FRA3, Admin can perform all IT Manager actions
Input Test Data:
Perform TM1 – TM6 logged in as the user ‘Admin’ instead of the
user ‘Manager’.
Expected Output:
Expected Output of TM1 – TM6.
21
2.4.6 TA6
Purpose:
To test FRA4, Admin can reset passwords
Input Test Data:
Go to the “Users” page. Create a new user named “Reset_test”
with any role and a valid email address. Select the checkbox next
to that user, and press “Reset password”.
Expected Output:
An email should be sent to the email address with instructions on
how to set a new password.
22
3.0 Testing Results
TU1
TU2
TU3
TU4
TU5
TU6
TU7
TU8
TS1
TS2
TS3
TS4
TS5
TS6
TS7
TS8
TM1
TM2
TM3
TM4
TM5
TM6
TA1
TA2
TA3
TA4
TA5
TA6
IE 8
SLEH
CSM
CSM
SLEH
SLEH
MS
MS
SLEH
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
SLEH
SLEH
SLEH
SLEH
CSM
SLEH
Chrome 10
SLEH
CSM
CSM
SLEH
SLEH
MS
MS
SLEH
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
SLEH
SLEH
SLEH
SLEH
CSM
SLEH
FF 4.0
SLEH
CSM
CSM
SLEH
SLEH
MS
MS
SLEH
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
CSM
SLEH
SLEH
SLEH
SLEH
CSM
SLEH
23
4.0 Traceability Matrix
FRG1
FRU1
FRU2
FRU3
FRU4
FRU5
FRU6
FRU7
FRU8
FRS1
FRS2
FRS3
FRS4
FRS5
FRS6
FRS7
FRS8
FRM1
FRM2
FRM3
FRM4
FRA1
FRA2
FRA3
FRA4
Tests
TS8
TU1
TU2
TU3
TU4
TU5
TU6
TU7
TU7
TS1
TS3
TS4
TS8
TS4
TS6
TU7
TS7
TM1
TM2
TM3
TM6
TA1
TA3
TA5
TA6
TM2 TA5
TS2
TS5
TS1
TM6
TM4 TM5
TA2
TA4
5.0 Conclusion
The tests above make sure that all functional requirements are met on all supported
browsers. Every functional requirement has at least one test to verify the requirement is
met. The tests were run on the latest versions of Firefox, Chrome, and Internet Explorer.
The tests were all verified to run correctly.
Download