Testing Monitoring Procedures                                   

Although Mr. Woytiuk was initially appointed Head of Testing, his project coordination duties became more time-consuming as the project progressed, and thus the position of Head Tester was assigned to Mr. Cobb. As Head Tester, Mr. Cobb interacted on a constant basis with the Programming Department Head - Mr. Wieler.

Testing procedures were changed significantly from the original implementation under the leadership of Mr. Cobb. It was decided that one, focused and extremely efficient group of testers would perform all major testing of the program code. This elite group consisted on Mr. Cobb, Ms. Wang, and Mr. Woytiuk.

Comprehensive testing was performed on each program version, as it was created and released by the Programming Department. Tasks were divided evenly among the Testing Group, and self-made schedules were strictly adhered to. As well, each new version of the program code would be shown to the leaders of the three main design areas, to see if it met with their approval.

Reports were received regularly by Mr. Cobb, from Ms. Wang and Mr. Woytiuk stating their progress on the current batch of tests. As a result of this group's efficient structure, testing never fell behind schedule, and all planned testing procedures were implemented. In fact, the Programming Department created a testable version one week early, and as a result testing was completed ahead of schedule.

 


Testing Procedures                                   

Unit Testing was used to incorporate the individual module testing for each part of the program code. Each module was run through a set of tests that were used to determine correctness and consistency between the specifications and the actual program code. Any errors encountered were documented and returned to the Programmers with a detailed description of the error and what the actual result should be, according to the specifications.

Integration Testing was implemented to incorporate large sections of code that used more than one specific module. This included modules that required data from more than one data store, and functions that were interrelated with other functions. Any errors encountered were documented and returned to the Programmers with a detailed description of the error and what the actual relationship should be.

Physical code tracing was used by the Testing Division for extremely hard to locate bugs. Fortunately this method was used sparingly, as it was very time consuming.

 


Error Reporting and Correcting Procedures                                   

If a bug or error was found, it's location was noted and the conditions which caused the error were taken down in order to be reproduced by the programming department. The testers then sent this report to the Head of Testing, who then verified the error for himself, and forwarded the report to the Programming Team. Once the error was corrected, another report listing what was done to correct the bug/error was returned to the Head of Testing. This method allowed us to track bugs and errors effectively, and also gave us the ability to keep a record of discovered bugs for future reference.

 


Reversed Chronological Errata List (for each program version):                                   

 

Release 8: Apr 14, 1997                                   

Update to previous release

  1. Fixed book search bug introduced in the last release
  2. Confirmed administration section changes
  3. Changed yellow add button from "Add" to "New Book"
  4. When adding a new book information, the ISBN number entered in the add book copy screen is automatically put into the add book form
  5. Changed "copies" in add book copy to "Number to add"
  6. Results of transactions changed from displaying the call number to the book title
  7. Added customer name to the results of a transaction
  8. Book search button on transactions works but still does not return the call number found
  9. Can no longer remove a customer with outstanding fines
  10. Added a new super-cool transaction that will allow a librarian to set a book as being out of circulation (due to it being lost) and it will automatically fine the person who has it on loan (if it is on loan) by the price of the book

 

Release 7: Apr 13, 1997                                   

Update to previous release

  1. Added ability to have the administrator change the default max books and max fines
  2. Form position and size are now saved

 

Release 6: Apr 10, 1997                                   

Update to previous release

  1. Added a super new administration menu which allows the changing of the system’s passwords as well as the setting of fines and the universal hold length
  2. Changed help file by getting rid of the small graphics and changing the background to a pastel yellow
  3. New customer type button removed from new codes menu
  4. New loan category type button removed from the new codes menu
  5. Removed setting of the fines amount from the debug menu (put into the administration menu now)
  6. Installed the checking of system passwords to something other than just a constant string (ie "librarian" password can be changed)
  7. Fixed problem with loans
  8. Adding printing stub (click on print button will 'pretend' to print)

 

Release 5: Apr 6, 1997                                   

Update to previous release

  1. Main changes have to do with bug fixes. These include but are not limited to:
  2. Checks the circulation status when it changes so if it becomes out of circulation then it asks to remove the holds/loan, if it becomes available it asks to remove the loan, if it becomes on loan then it makes sure there is a loan for it
  3. Changed the help file to look more professional which included removing the little graphics and changing the color scheme

 

Release 4: Mar 31, 1997                                   

Update to previous release

  1. Added fines calculation (more details below)
  2. Added checking for holds that are over their time limit
  3. When adding a new book category, a loan period must be specified (ie if you want to add a new category such as "three week loan" you would specify the loan period as 27 days. A reserved book would have a loan period of 0)
  4. Added loan length period to the loan information. ie. If the book information changes from two week loan to overnight, then the customer will not be charged because when he/ she took the book out, it was for two weeks. This is fixed by specifying tha
  5. Added hold length period to the hold information
  6. Wrote and linked a help file based on the user manual. The help file file name is "BMSHelp.hlp"
  7. Linked the help file into the program
  8. Created a debug form (enter the system with the password "debug") then choose debug from the main menu. This allows you to view/edit the tables directly. CAUTION be very careful when changing the information. A problem might occur if for example you
  9. Fixed an error with the book category type (two week loan was saved as "two week loan" in one table and "two week" in another)
  10. Made display grids read-only

Changes to specific screens

Add book copy:

  1. Checks ISBN number length
  2. Checks that all required fields are entered
  3. Checks for only numbers in floor
  4. Checks for only numbers in ISBN number except that last number which could be either an "x" or "X"
  5. Changed "OK" button to "Add" button
  6. Fixed book copy default values

Add book information:

  1. Checks ISBN number length
  2. Checks that all required fields are entered
  3. Checks for only numbers in ISBN number except that last number which could be either an "x" or "X"
  4. Checks for only numbers in cost, edition, and version
  5. Checks for duplicate ISBN numbers
  6. Tells the user about duplicate ISBN numbers

Add customer:

  1. Checks that all required fields are entered
  2. Fixed customer default values
  3. Fixed customer max information security required error

Borrow:

  1. Enabled add book button
  2. Enabled customer book button
  3. Checks for only numbers in customer ID number
  4. Customer maximum fines are now checked
  5. Book already on loan is now checked
  6. Book on hold is now checked
  7. Book on hold is allowed if the customer holding the book is the one attempting to borrow it
  8. Remove hold if the book is borrowed

Renew:

  1. No longer require a customer ID number

Return:

  1. No longer require a customer ID number
  2. Checks for holds and informs the librarian about the book being on hold
  3. Recalculates the time available to hold the book to the default length

Hold:

  1. Enabled add book button
  2. Enabled customer book button
  3. Checks for only numbers in customer ID number
  4. Fixed determination of the proper hold period for a book (according to the default value and whether the book is on loan right now)

Customer search:

  1. Changed "Exit" button to "Cancel"
  2. Checks for only numbers in some fields
  3. Enabled search by fines
  4. Enabled buttons

Book copy view:

  1. Checks for only numbers where required
  2. Checks for all information entered
  3. Fixed the error where information about a customer that doesn’t exist could be accessed
  4. Changed button name to "View/Update"
  5. Enabled buttons only when results are actually available
  6. Removed customer ID from Holds/Loans list
  7. Changed caption bar name

Remove book:

  1. No longer require pressing the "Check" button. This is done automatically when a number is entered
  2. Fixed problem with enabling of the remove button (it would be enabled even if the call number was empty)
  3. Fixed error when no call number was specified
  4. Fixed problem with the enabling of the view/ update button
  5. Changed button names to match user manual
  6. Fixed auto-calculation of book copy

Pay fines:

  1. Removed add customer button
  2. Enabled search for a customer button
  3. Checks for only numbers in all fields

Book search results:

  1. Removed view buttons and replaced with update/ view buttons to match user manual
  2. Removed check buttons
  3. Enabled buttons only upon a valid search result
  4. Changed button names to match user manual

Book search:

  1. Checks for only numbers where required
  2. Checks for a valid ISBN number length
  3. Checks for only number in the ISBN number except that the last digit can be an "x" or an "X"

View book:

  1. Changed caption bar name
  2. Removed modify button from the form
  3. Checks for only numbers where required
  4. Removed view button
  5. Changed update button to "View/Update"
  6. Checks for all required entries entered
  7. Fixed enabling of buttons upon valid book copy information being displayed

View/Update customer:

  1. Checks for required fields
  2. Checks for only numbers where required
  3. Changed loans and holds grids to show more entries at once
  4. Removed Customer ID from loans and holds grids
  5. Removed ability to jump to the book information
  6. Changed label "User ID" to "Customer ID"

 

Release 3: Mar 11, 1997                                   

Update to previous release

Mostly minor differences from the release 2.

  1. Added more error checking. This includes adding checks to the ISBN number.
  2. Fixed bugs and errors in the program.

 

Release 2: Mar 2, 1997                                   

Update to previous release

In this release of the program the following has been modified/added:

  1. Removed customer delete button
  2. Changed customer section according to new specifications
  3. Changed book subject search
  4. Added book renewal
  5. Added book holds
  6. Added book holds cancel
  7. Added payment of fines
  8. Added customer deletion
  9. Added the start of a help file
  10. Checks if a customer is restricted
  11. Added customer number allocated screen
  12. Added book copy number allocated screen
  13. Added new screens showing which books have been successfully and unsuccessfully borrowed, held, renewed, etc
  14. Box when the program starts to remind the user of the passwords (this of course will not appear in the final version)
  15. Added multiple copy addition

 

Release 1: Mar 2, 1997                                   

First release of the program.


Send mail to the Group Leader or the Webmaster
Back to the Main Page
Pages created and maintained with Mortar