onShore TimeSheet™ Release Tests

Greg Gallagher

$Revision: 1.2 $

Table of Contents
Release Tests Introduction
security Tests
adduser Tests
edituser Tests
addclient Tests
editclient Tests
addjob Tests
editjobs Tests
download Tests
reports Tests
loghours Tests
edithours Tests

Release Tests Introduction

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

USERNAMEPASSWORDROLE
demo1demo1user
demo2demo2supervisor


security Tests

Each of the tests below relates to security test cases

Table 2. security Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
security1login with valid userid and invalid pwlogin unsuccessful, authorization failed message
security2login with invalid userid and valid pwlogin unsuccessful, authorization failed message
security3login with valid userid and pw (not supervisor)login successful, name appears above client list in left frame, standard user buttons
security4login with invalid userid and pwlogin unsuccessful, authorization failed message
security5login with valid supervisor userid and pwlogin successful, name appears above client list in left frame, all supervisor buttons on left frame
security6on main screen, hit "re-login"authorization failed dialog box, login box pops up in browser


adduser Tests

Each of the tests below relates to adduser test cases

Table 3. adduser Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
adduser1hit "add a new user" buttonform appears for data
adduser2enter username, hit "create user" buttoncannot complete request because of missing data
adduser3enter all form data except password fieldscannot complete request because of missing data
adduser4enter all form data, password 4 letters long, all alphabetic characterscannot complete request because of password not 6 or more characters and all alphabetic
adduser5enter all form data, password 6 letters long, all alphabetic characterscannot complete request because of password being all alphabetic
adduser6enter all form data, password 6 letters long, alpha and non-alpha characters, but second password field blankcannot complete request because of password not matching
adduser7enter all form data, password 6 letters long, alpha and non-alpha characters, but second password field with different stringcannot complete request because of password not matching
adduser8enter all form data, password 6 letters long, alpha and non-alpha characters, same password in each fielduser added successfully


edituser Tests

Each of the tests below relates to edituser test cases

Table 4. edituser Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
edituser1without filling in any of the fields, hit "search button"all users returned in long form, total number of users at bottom
edituser2enter invalid username in username fieldno matches found
edituser3enter invalid email addressno matches found
edituser4enter invalid first nameno matches found
edituser5enter invalid middle initialno matches found
edituser6enter invalid last nameno matches found
edituser7enter partial or whole valid username, first name or last nameuser is returned
edituser8change email address field, update useruser data updated
edituser9change first name, update useruser data updated
edituser10change middle name, update useruser data updated
edituser11change last name, update useruser data updated
edituser12change user to administrator or to regular useruser administrative field updated
edituser13enter data into users password fields, leave "change password?" pull down to "n"form returned, no changes
edituser14enter data into password fields, different passwords in the fields, "y" to change passworderror returned saying passwords mis-matched
edituser15no data entered into password fields, "y" to change passworderror returned saying password cannot be blank
edituser16enter data into password fields, same in both the fields, "y" to change passwordpassword changed successfully
edituser17hit delete user buttonuser is deleted, edit user search form is returned


addclient Tests

Each of the tests below relates to addclient test cases

Table 5. addclient Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
addclient1no data entered, hit "create client" buttoncannot complete request, no client added to the database
addclient2entered in client id but no client name, hit "create client" buttoncannot complete request, needs client name
addclient3entered in client id and client name, no default billing rate, hit "create client" buttonclient added
addclient4entered in all fields, unique client idclient added
addclient5entered in all fields, re-user an existing client idclient cannot be added because key is not unique


editclient Tests

Each of the tests below relates to editclient test cases

Table 6. editclient Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
editclient1hit "search" with no data enteredall clients are returned in long form
editclient2enter in invalid client name, hit "search"no clients are returned
editclient3enter in a valid client name, hit "search"client(s) returned that match partial client name or whole client name
editclient4enter in a default billing rateall clients with that default billing rate are returned
editclient5change field "default approved" to "yes"client with default approvals are returned
editclient6change field "default approved" to "no"clients without default approvals are returned
editclient7on client screen, change default billing rate and hit "update"client's default billing rate is changed in the database
editclient8on client screen, change client's name field and hit "update"client's name is changed in the database
editclient9on client screen, hit "delete" buttonclient is deleted from the database
editclient10on client screen, hit "search" buttonsearch form is returned


addjob Tests

Each of the tests below relates to addjob test cases

Table 7. addjob Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
addjob1hit "add new job" button, don't select a clientdialog box warning that you need to select client pops up
addjob2select client form list, hit "add new job" buttonform for creating job for that client returned
addjob3on add job form, hit "create job" buttonjob is created, blank job creation form returned
addjob4select people from notify list, create jobpeople are notified that job has been created through e-mail


editjobs Tests

Each of the tests below relates to editjobs test cases

Table 8. editjobs Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
editjobs1hit "edit jobs" button, don't select a clientdialog box warning that you need to select client pops up
editjobs2select client from list, hit "edit jobs" buttonsearch screen for finding job returned
editjobs3any clients selected, no data entered, hit "search"all jobs for all clients and supervisor returned
editjobs4specific client radio button selected, hit "search"all jobs for that particular client and supervisor returned
editjobs5partial or whole description fieldall jobs matching the exact or partial description and supervisor returned
editjobs6job id enteredone job returned for that job id
editjobs7category selectedany and all jobs matching that category are returned
editjobs8open set to "no"only closed jobs returned
editjobs9open set to "yes"only open jobs returned
editjobs10output set to logn form, search performeddata returned in long form
editjobs11approved set to "yes"only jobs with default approval are returned
editjobs12approved set to "no"only jobs without default approval are returned
editjobs13supervisor set to "any"all jobs returned for all supervisors
editjobs14in details, current hoursshows the correct number of hours billed to the job
editjobs15in details, change open date and hit "update"data is updated
editjobs16in details, change close date and hit "update"data is updated
editjobs17in details, change category and hit "update"data is updated
editjobs18in details, change estimated hours and hit "update"data is updated
editjobs19in details, change completion date estimate and hit "update"data is updated
editjobs20in details, change bill rate and hit "update"data is updated
editjobs21in details, change open to closed and hit "update"data is updated
editjobs22in details, change closed to open and hit "update"data is updated
editjobs23in details, change supervisor and hit "update"supervisor is updated
editjobs24in details, change default approved and hit "update"default approved is updated
editjobs25in details, change flag hours and hit "update"flag hours is changed
editjobs26in details, change description and hit "update"description is changed
editjobs27in details, hit "delete"jobs is deleted from the database


download Tests

Each of the tests below relates to download test cases

Table 9. download Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
download1hit "download" buttondownload user hours logged data
download2hit "download" buttondownload job hours logged data


reports Tests

Each of the tests below relates to reports test cases

Table 10. reports Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
reports1select by user, select any userreport should return
reports2select by report numberreport should return for that job


loghours Tests

Each of the tests below relates to loghours test cases

Table 11. loghours Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
loghours1hit the "log hours" button, no client selectederror dialog box pops up with warning saying must select a client
loghours2hit the "log hours" button, client selectedform returned for logging hours to that client
loghours3in details, hit "post hours" without filling out any datahours not logged because missing hours and hours description
loghours4in details, fill in hours and hours description and hit "post hours"hours successfully logged
loghours5in details, fill in hours with alphabetic data and hours description, hit "post hours"error about hours data, hours not logged
loghours6in details, fill in hours with numeric data, hours description, and parking/cab with alpha characterserror about data, hours not logged
loghours7in details, fill in all fields correctly, set billable to "yes"hours successfully logged
loghours8in details, fill in all fields correctly, set billable to "no"hours successfully logged


edithours Tests

Each of the tests below relates to edithours test cases

Table 12. edithours Test Cases

TESTCASEEVENTIDACTIONEXPECTED_RESULTS
edithours1hit "view/edit hours" button, no client selectedwarning dialog box about having to select a client
edithours2hit "view/edit hours" button, client selectedview/edit hours form search page returned
edithours3in search, set supervisor to "any", client to "any", approved to "any", hit "search"all hours ever logged returned
edithours4in search, set supervisor to a specific supervisor, client to "any", approved to "any"all hours for a particular supervisor returned
edithours5in search, set supervisor to a specific supervisor, client to "any", approved to "no"all unapproved hours for a supervisor returned
edithours6in 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
edithours7select "any" for all pull down fields, enter in a start dateany hours logged on or after the date entered are returned
edithours8select "any" for all pull down fields, enter in a stop dateany hours logged up to the stop date are returned
edithours9select "any" for all pull down fields, enter in a stop and start dateany hours logged on and between the dates are returned
edithours10enter a specific job id, all fields blank and pull downs set to "any"hours for a particular job are returned
edithours11enter in a specific username, all fields blank and pull downs set to "any"hours for a particular user are returned
edithours12multiple fields fillewd in and pulls downs changeddata returned in parameters entered
edithours13select "short" form for multiple hours returnedlist of hours matching search returned, can click on descriptions to edit record
edithours14in details, change multiple fields and hit "update"data changed
edithours15in details, change job number and hit "update"job logged under changed
edithours16in details, change description and hit "update"data changed
edithours17in details, change comments and hit "update"data changed
edithours18in details, as supervisor set approved to "yes" and click "update"job is approved, can't be edited anymore
edithours19in details, click "delete"job is deleted, cannot be edited, approved or returned with a view/edit hours search