This document lists the tests that should be performed on the onShore TimeSheet application before any releases are made, to identify bugs and problems.
The tests listed were generated using a flat text file, tests.in and the program reltests.pl to create the SGML.
Each of the tests uses the following information for testing
Table 1. Access Information
USERNAME | PASSWORD | ROLE |
---|---|---|
demo1 | demo1 | user |
demo2 | demo2 | supervisor |
Each of the tests below relates to security test cases
Table 2. security Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
security | 1 | login with valid userid and invalid pw | login unsuccessful, authorization failed message |
security | 2 | login with invalid userid and valid pw | login unsuccessful, authorization failed message |
security | 3 | login with valid userid and pw (not supervisor) | login successful, name appears above client list in left frame, standard user buttons |
security | 4 | login with invalid userid and pw | login unsuccessful, authorization failed message |
security | 5 | login with valid supervisor userid and pw | login successful, name appears above client list in left frame, all supervisor buttons on left frame |
security | 6 | on main screen, hit "re-login" | authorization failed dialog box, login box pops up in browser |
Each of the tests below relates to adduser test cases
Table 3. adduser Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
adduser | 1 | hit "add a new user" button | form appears for data |
adduser | 2 | enter username, hit "create user" button | cannot complete request because of missing data |
adduser | 3 | enter all form data except password fields | cannot complete request because of missing data |
adduser | 4 | enter all form data, password 4 letters long, all alphabetic characters | cannot complete request because of password not 6 or more characters and all alphabetic |
adduser | 5 | enter all form data, password 6 letters long, all alphabetic characters | cannot complete request because of password being all alphabetic |
adduser | 6 | enter all form data, password 6 letters long, alpha and non-alpha characters, but second password field blank | cannot complete request because of password not matching |
adduser | 7 | enter all form data, password 6 letters long, alpha and non-alpha characters, but second password field with different string | cannot complete request because of password not matching |
adduser | 8 | enter all form data, password 6 letters long, alpha and non-alpha characters, same password in each field | user added successfully |
Each of the tests below relates to edituser test cases
Table 4. edituser Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
edituser | 1 | without filling in any of the fields, hit "search button" | all users returned in long form, total number of users at bottom |
edituser | 2 | enter invalid username in username field | no matches found |
edituser | 3 | enter invalid email address | no matches found |
edituser | 4 | enter invalid first name | no matches found |
edituser | 5 | enter invalid middle initial | no matches found |
edituser | 6 | enter invalid last name | no matches found |
edituser | 7 | enter partial or whole valid username, first name or last name | user is returned |
edituser | 8 | change email address field, update user | user data updated |
edituser | 9 | change first name, update user | user data updated |
edituser | 10 | change middle name, update user | user data updated |
edituser | 11 | change last name, update user | user data updated |
edituser | 12 | change user to administrator or to regular user | user administrative field updated |
edituser | 13 | enter data into users password fields, leave "change password?" pull down to "n" | form returned, no changes |
edituser | 14 | enter data into password fields, different passwords in the fields, "y" to change password | error returned saying passwords mis-matched |
edituser | 15 | no data entered into password fields, "y" to change password | error returned saying password cannot be blank |
edituser | 16 | enter data into password fields, same in both the fields, "y" to change password | password changed successfully |
edituser | 17 | hit delete user button | user is deleted, edit user search form is returned |
Each of the tests below relates to addclient test cases
Table 5. addclient Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
addclient | 1 | no data entered, hit "create client" button | cannot complete request, no client added to the database |
addclient | 2 | entered in client id but no client name, hit "create client" button | cannot complete request, needs client name |
addclient | 3 | entered in client id and client name, no default billing rate, hit "create client" button | client added |
addclient | 4 | entered in all fields, unique client id | client added |
addclient | 5 | entered in all fields, re-user an existing client id | client cannot be added because key is not unique |
Each of the tests below relates to editclient test cases
Table 6. editclient Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
editclient | 1 | hit "search" with no data entered | all clients are returned in long form |
editclient | 2 | enter in invalid client name, hit "search" | no clients are returned |
editclient | 3 | enter in a valid client name, hit "search" | client(s) returned that match partial client name or whole client name |
editclient | 4 | enter in a default billing rate | all clients with that default billing rate are returned |
editclient | 5 | change field "default approved" to "yes" | client with default approvals are returned |
editclient | 6 | change field "default approved" to "no" | clients without default approvals are returned |
editclient | 7 | on client screen, change default billing rate and hit "update" | client's default billing rate is changed in the database |
editclient | 8 | on client screen, change client's name field and hit "update" | client's name is changed in the database |
editclient | 9 | on client screen, hit "delete" button | client is deleted from the database |
editclient | 10 | on client screen, hit "search" button | search form is returned |
Each of the tests below relates to addjob test cases
Table 7. addjob Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
addjob | 1 | hit "add new job" button, don't select a client | dialog box warning that you need to select client pops up |
addjob | 2 | select client form list, hit "add new job" button | form for creating job for that client returned |
addjob | 3 | on add job form, hit "create job" button | job is created, blank job creation form returned |
addjob | 4 | select people from notify list, create job | people are notified that job has been created through e-mail |
Each of the tests below relates to editjobs test cases
Table 8. editjobs Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
editjobs | 1 | hit "edit jobs" button, don't select a client | dialog box warning that you need to select client pops up |
editjobs | 2 | select client from list, hit "edit jobs" button | search screen for finding job returned |
editjobs | 3 | any clients selected, no data entered, hit "search" | all jobs for all clients and supervisor returned |
editjobs | 4 | specific client radio button selected, hit "search" | all jobs for that particular client and supervisor returned |
editjobs | 5 | partial or whole description field | all jobs matching the exact or partial description and supervisor returned |
editjobs | 6 | job id entered | one job returned for that job id |
editjobs | 7 | category selected | any and all jobs matching that category are returned |
editjobs | 8 | open set to "no" | only closed jobs returned |
editjobs | 9 | open set to "yes" | only open jobs returned |
editjobs | 10 | output set to logn form, search performed | data returned in long form |
editjobs | 11 | approved set to "yes" | only jobs with default approval are returned |
editjobs | 12 | approved set to "no" | only jobs without default approval are returned |
editjobs | 13 | supervisor set to "any" | all jobs returned for all supervisors |
editjobs | 14 | in details, current hours | shows the correct number of hours billed to the job |
editjobs | 15 | in details, change open date and hit "update" | data is updated |
editjobs | 16 | in details, change close date and hit "update" | data is updated |
editjobs | 17 | in details, change category and hit "update" | data is updated |
editjobs | 18 | in details, change estimated hours and hit "update" | data is updated |
editjobs | 19 | in details, change completion date estimate and hit "update" | data is updated |
editjobs | 20 | in details, change bill rate and hit "update" | data is updated |
editjobs | 21 | in details, change open to closed and hit "update" | data is updated |
editjobs | 22 | in details, change closed to open and hit "update" | data is updated |
editjobs | 23 | in details, change supervisor and hit "update" | supervisor is updated |
editjobs | 24 | in details, change default approved and hit "update" | default approved is updated |
editjobs | 25 | in details, change flag hours and hit "update" | flag hours is changed |
editjobs | 26 | in details, change description and hit "update" | description is changed |
editjobs | 27 | in details, hit "delete" | jobs is deleted from the database |
Each of the tests below relates to download test cases
Table 9. download Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
download | 1 | hit "download" button | download user hours logged data |
download | 2 | hit "download" button | download job hours logged data |
Each of the tests below relates to reports test cases
Table 10. reports Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
reports | 1 | select by user, select any user | report should return |
reports | 2 | select by report number | report should return for that job |
Each of the tests below relates to loghours test cases
Table 11. loghours Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
loghours | 1 | hit the "log hours" button, no client selected | error dialog box pops up with warning saying must select a client |
loghours | 2 | hit the "log hours" button, client selected | form returned for logging hours to that client |
loghours | 3 | in details, hit "post hours" without filling out any data | hours not logged because missing hours and hours description |
loghours | 4 | in details, fill in hours and hours description and hit "post hours" | hours successfully logged |
loghours | 5 | in details, fill in hours with alphabetic data and hours description, hit "post hours" | error about hours data, hours not logged |
loghours | 6 | in details, fill in hours with numeric data, hours description, and parking/cab with alpha characters | error about data, hours not logged |
loghours | 7 | in details, fill in all fields correctly, set billable to "yes" | hours successfully logged |
loghours | 8 | in details, fill in all fields correctly, set billable to "no" | hours successfully logged |
Each of the tests below relates to edithours test cases
Table 12. edithours Test Cases
TESTCASE | EVENTID | ACTION | EXPECTED_RESULTS |
---|---|---|---|
edithours | 1 | hit "view/edit hours" button, no client selected | warning dialog box about having to select a client |
edithours | 2 | hit "view/edit hours" button, client selected | view/edit hours form search page returned |
edithours | 3 | in search, set supervisor to "any", client to "any", approved to "any", hit "search" | all hours ever logged returned |
edithours | 4 | in search, set supervisor to a specific supervisor, client to "any", approved to "any" | all hours for a particular supervisor returned |
edithours | 5 | in search, set supervisor to a specific supervisor, client to "any", approved to "no" | all unapproved hours for a supervisor returned |
edithours | 6 | in search, set supervisor to a specific supervisor, client to a specific client, approved to "no" | all unapproved hours for a supervisor returned for a specifi client |
edithours | 7 | select "any" for all pull down fields, enter in a start date | any hours logged on or after the date entered are returned |
edithours | 8 | select "any" for all pull down fields, enter in a stop date | any hours logged up to the stop date are returned |
edithours | 9 | select "any" for all pull down fields, enter in a stop and start date | any hours logged on and between the dates are returned |
edithours | 10 | enter a specific job id, all fields blank and pull downs set to "any" | hours for a particular job are returned |
edithours | 11 | enter in a specific username, all fields blank and pull downs set to "any" | hours for a particular user are returned |
edithours | 12 | multiple fields fillewd in and pulls downs changed | data returned in parameters entered |
edithours | 13 | select "short" form for multiple hours returned | list of hours matching search returned, can click on descriptions to edit record |
edithours | 14 | in details, change multiple fields and hit "update" | data changed |
edithours | 15 | in details, change job number and hit "update" | job logged under changed |
edithours | 16 | in details, change description and hit "update" | data changed |
edithours | 17 | in details, change comments and hit "update" | data changed |
edithours | 18 | in details, as supervisor set approved to "yes" and click "update" | job is approved, can't be edited anymore |
edithours | 19 | in details, click "delete" | job is deleted, cannot be edited, approved or returned with a view/edit hours search |