Sheet Testing
The next set of testing is to make sure that every aspect of every sheet is functioning consistently. I am going to test these sheets in reverse order. What I have done so far is entered into the user forms the maximum possible details that can be entered. This means the customer has ordered four items. I then submit this and browse sheet 6. Sheet 6 is the warehouse note sheet I make sure that the information is correct all aligned correctly. I had to repeat this several times to make sure that longer description and larger prices and quantity are worked out ok. These part of the tests were completed successfully. The only other parts of this sheet that needs to be tested in that all unused cells where protected against modification which they were. The last thing that had to be tested was that the button links to certain sheet’s all worked and that the print save and quit buttons functioned correctly.
Sheet 5 had identical tests performed on it as it is nearly the same although it has a different layout and information this time this sheet contains information from the other half of the user form the customer information. After entering the information several times the correct information was placed in each correct cell as I had hoped. Other information on this sheet is the date feature. This is put there from an include on sheet 1 I adjusted the system clock several times and reopened the spreadsheet to test that it changed date correctly. The only other tests that where needed on this page were to make sure that the menu on the right hand side of this sheet were functioning. The several link buttons to the other sheets were all working correctly as were the save, quit and print buttons.
Next in order to test was sheet 4. This sheet is one of the more complex sheets in the system it is the invoice sheet. This is basically sheet 5 and sheet 6 put together in a different form. The easiest thing to do on this sheet was to make sure the right handed menu was working and performed correctly. So I tested all the link buttons and the print, save and quit buttons and they all functioned correctly.
The next thing to test was to make sure the content was correct the first part of the invoice is the customer information address, name phone number and the date. All the details appeared to be correct compared with the other sheets with the same details. Next thing to test was to make sure the product information was correct as far as quantity, description and price. This was correct as well. This sheet is different from the previous sheets as it has some calculations the first calculation that must be correct is quantity multiplied by unit price. I found the first box to be incorrect this was because it was trying to include information from cell j20 when the correct value is j19 this was rectified as soon as the problem was spotted and is now functioning correctly. I tested the calculations using a calculator then double checking the answers I found out every box to be correct as it should’ve been after the minor correction as discussed. The next calculation was to add the four totals up together this is were I noticed another error the way I have programmed the invoice sheet to show the product information to be completely processed it would need to have four product orders for the total to work correctly. Obviously not every customer is going to be ordering four products so to fix this bug I set a blank product which would cost £0 and I set all the boxes on the user form to use this product as default then the user would have to change this default to a proper product code if they wish to order other products. This worked as I had wished and the error was rectified within minutes. Now it does not matter if the customer orders one product or four products the calculations work properly. The last two calculations also worked correctly this first was to work out the VAT of the sub total and the second was to add the sub total to the VAT to get a overall total. The last part of this sheet to test was to make sure credit card number and credit card type were displayed in the bottom left hand of the sheet which they were.
Sheet 3 is a very small sheet which simple holds information from the customer information form from this sheet the information is included into the other sheets. All the testing that was required on this sheet was to make sure the correct information was in place and that unrequited cells were protected against modification.
Sheet 2 also referred to as the database. This is were all the product codes are this sheet does not need to be looked at by the user it simply stores all the product codes descriptions and prices for use in lookup tables. The lookup tables are on this sheet also to the right hand side of the product information this part of the sheet needed to be tested to make sure the lookup tables were working by inputting various product codes these tests also showed the system to be working correctly.
Sheet 1 left till last this sheet stored the =now() function for the date which was tested earlier on. It also contains link buttons to transfer easily between sheets without remembering sheet number. All these functions work correctly the last test was to make sure that the “clear all” button worked correctly and it did clear all the information it was programmed to do.
It has been good to test these sheets even though there was only two errors.
Now I will show some screenshot proof of the testing that has taken place.
Login box:
When both are entered correctly the “ok” button shows up.
When password is deleted the “ok” button disappears.
Userform:
This is before I entered the blank products as you can see it would display #N/A which was causing problems with the other sheets.
As you can see in this screenshot there is no sign of #N/A so my editing to the system during the internal beta testing proved to be successful.
Although I have tested everything to my needs in the internal beta testing the release candidate of my spreadsheet system will need to be sent to eclipse computers for the company to beta test and give feedback on the system.