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
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 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 |