pic of fridge
cyberfridge

Test Plan

Version 1.1


Spring Quarter 1997: 

  
Project Sponsor:  
Gregory Abowd  
  

Project Team: 

 
Jeffrey Corn (Manager) 
Travis Works (Architect) 
John Garrard (Programmer) 
Kesniel Acton (Technical Writer) 
Dinesh Krishna (Quality Assurance) 


Scope
Schedule
Validation tests
Functional Tests:

Non-Functional Tests: Verification Tests 
Revision History


Scope

The following test plan will address the validation testing phase of the CyberFridge Project.  Currently there are 4 major functional requirements and 2 non-functional requirements which require testing.

In summary:

    1.  C.A.R.A keeps track of what food is currently in the kitchen inventory along with vital details
    2.  C.A.R.A has a recipe database of all recipes which the user has used and allows the ability to add and remove them.
    3.  A recipe search can be implemented via the database to find specific recipes based on a particular criteria of the user's choice.
    4.  Through the Internet, a user can have access to all of these functions from a location physically remote from the kitchen.
    5.  Non-functional requirements include any usability aspects such as speed and ease of use.

Each of the above will be sufficiently tested to ensure they conform to the guidelines set in the requirements document.

Schedule

See the weekly Testing schedule here, and the task listing here.

Validation tests

Functional Tests

 I. Food Inventory Test

Test Description: First, we will test the functionality of the food inventory lists.  We will test this functionality by manually comparing the inventory lists returned by CyberFridge with the actual contents of the kitchen.  If the list matches the actual contents exactly, then CyberFridge will have passed this test. If the list differs from the actual contents, then CyberFridge will have failed.
    Secondly, we will test the ability of CyberFridge to return information about specific items.  We will do this by selecting items from CyberFridge's inventory list using random dice rolls.  One team member will then ask CyberFridge to return all information available about each randomly selected item.  Another team member will manually determine all appropriate information about the selected items by retrieving the items from the inventory.  If the information found by the two team members correspond to one another, CyberFridge will have passed this test.  If the information does not correspond, CyberFridge will have failed this test.  In addition, if CyberFridge does not return all information specified in the description of this function, CyberFridge will also have failed this test.
    Next, we will test CyberFridge's ability to add new items to the food inventory.  We will perform this test by asking a volunteer not involved in this project to select a list of items of their choice in a supermarket.  We will then enter the items into the kitchen inventory, using an entry method randomly selected by die roll to enter each item.  This will allow us to fairly test all possible methods by which CyberFridge is designed to accept entries.  We will then ask CyberFridge to return a list of the current kitchen inventory.  If the list includes all previous items, plus all of the newly added items, CyberFridge will have passed this test.  If the list does not include all of the items, CyberFridge will have failed this test.  If CyberFridge fails, we will be able to compare the list of excluded items to the entry method chosen to enter each item, to narrow the probable location of the error.
    Lastly, we will test CyberFridge's ability to delete items from the food inventory.  We will perform this test by randomly selecting items from the food inventory, using a die roll.  We will then delete these items from the kitchen inventory, using a removal method randomly selected by die roll to remove each item.  This will allow us to fairly test all possible methods by which CyberFridge is designed to remove items.  We will then ask CyberFridge to return a list of the current kitchen inventory.  If the list includes all non-removed items, and excludes all of the removed items, CyberFridge will have passed this test.  If the list does not include or exclude all items appropriately, CyberFridge will have failed this test.  If CyberFridge fails, we will be able to compare the list of erroneously included and excluded items to the removal method chosen for each item, to narrow the probable location of the error. There is one major boundary condition to test - namely, the empty inventory. We will test this condition in several steps.  First, we will select from the inventory one item at random, using a die roll.  We will remove all of the items except this one from the inventory, and ask CyberFridge for an inventory list.  We will then remove the last remaining item from the inventory, asking for another inventory list afterward.  We will then attempt to remove non-existent items from the inventory, using all removal methods in turn.  CyberFridge should resist all of these attempts.  We will ask CyberFridge for an inventory list after each attempt, but the contents should  remain the same.  We will then add a randomly selected item to the database, asking CyberFridge for an inventory list afterward.  If CyberFridge returns the correct list for each attempt, it will have passed this test.  If CyberFridge returns erroneous inventory lists for any part of this test, CyberFridge will have failed this test.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

II. Recipe Database Test

Test Description: The tester will add a collection of 15 recipes (such as Chicken Curry, Beef Tacos, and Carrot Cake) divided into 3 categories, specifically Indian Food, South Western Food, and Deserts. He will then view each category to see if they contain the recipes.  He will then delete the Carrot Cake recipe and modify the recipe for Beef Tacos so that it is a recipe for Chicken Tacos.  Then He will review the categories again to see if the changes were made.  For this test to be successful when the tester first views the categories they should contain the recipes he defined to be in each category, when he views the categories after modifying the recipes, the Carrot Cake recipe should no-longer be in any list, and the Beef  Tacos recipe should be altered.  Also, if he cannot view categories this test fails.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

III. Recipe Search Test

Test Description: A tester or group member will attempt to extract a specific recipe, for example a french toast recipe, from our system.  The system should return to the tester the french toast recipe if and only if all the necessary ingredients eggs, bread, milk, etc..) are currently present in the inventory. The recipe database will compare all the items in its inventory with the items needed to make french toast. A successful completion of this test would result in the french toast recipe being returned when all the ingredients listed above are in the inventory.  If just one of the necessary items is not in our inventory then the recipe should not be returned to the tester.
    In order to test the "grocery list" part of the requirement, the tester will deliberately request a recipe from the system for which he positively knows that at least one of the necessary ingredients are absent from the current inventory.  For example, if the current inventory does not contain any eggs, then the tester will purposely request an omelette recipe from C.A.R.A.  Thus, a successful test would result in eggs being returned as an item to be purchased at the grocery store before attempting to make an omelette.
    Another aspect of this test is to determine the accuracy of C.A.R.A in updating the database in terms of certain criteria, such as favorite recipes, recipes for special occasions, recipes using or not using particular foods or most frequently-used recipe. Our tester will test this requirement by repeatedly requesting a bannana cream pie recipe over a period of time like one week.  After the week elapses the tester can then ask for recipes by the criteria of frequently-used, and if the test were to succeed then the bannana cream pie recipe would appear in the frequently-used recipes list.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

IV. Remote Access Test

Test Description: To conduct this test all the actions defined in the previous tests must be performed through the web interface.  If the tester is unable to perform one of these functions, and that function did not fail in a previous test the test fails.  If the function did fail in a previous test, this test shall be reperformed after that function has been fixed.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

Non-Functional Tests

I. User Friendly Test

Test Description: To perform this test our group will select 3 high school students and ask them to try to request a certain recipe, add a new recipe to the system or even try to find a popular recipe.  If these 3 students are able to do these tasks through the use of C.A.R.A without any difficulty then this test has succeeded.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

II. Speed Test

Test Description: One of our group members will attempt to download the entire system after its completion using Netscape 3.x in the NT lab and if the system successfully loads without any problems in under 2 minutes then we have a positive result for this test.

Results: This test is yet to be conducted, and will be completed by June 6th, 1997.

Verification Tests

This section contains details on each of the tests that are designed for verification ("Are we building the thing right?"). There is a section
devoted to each test which contains a high-level description of the test, a pointer to reference material within project documentation, the actual test to be performed, and the results of the test (once completed). We will not be completing this section for now. If it were to be filled in, it would follow the same format as the validation tests section.

Revision History

Version 1.1

    Date: 5/16/97
    Names: Dinesh Krishna, Kesniel Acton
    Description of Revisions:
        1) Created links to the specific testing parts of the schedule.
        2) Added templates for each test, and scheduled times for them in the schedule.
 
Version 1.0 created on 5/4/97 (by everybody).



Return to CyberFridge Project Notebook