Running head: LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE 1

advertisement
Running head: LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Lab 3 – Nutricipe Prototype Test Plan/Procedure
Olga V Gallup
CS411
Professor Janet Brunelle
Old Dominion University
November 30, 2010
V3.1
1
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
2
Table of Contents
1
OBJECTIVES ..........................................................................................................................3
2
REFERENCES ........................................................................................................................5
3
TEST PLAN.............................................................................................................................5
3.1
Testing Approach ............................................................................................................. 5
3.2
Identification of Tests....................................................................................................... 8
3.3
Test Schedule ................................................................................................................. 12
3.4
Fault Reporting and Data Recording.............................................................................. 13
3.5
Resource Requirements .................................................................................................. 13
3.6
Test Environments.......................................................................................................... 14
4
TEST RESPONSIBILITIES ..................................................................................................15
5
TEST PROCEDURES ...........................................................................................................15
6
TRACEABILITY TO REQUIREMENTS ............................................................................15
List of Figures
Figure 1. Prototype Major Functional Component Diagram...........................................................6
Figure 2. Classroom Layout ..........................................................................................................14
List of Tables
Table 1. Identification of Tests ......................................................................................................12
Table 2. Test Schedule ...................................................................................................................13
[This space intentionally left blank]
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
1
3
OBJECTIVES
Nutricipe is a meal planning tool conceived by the Old Dominion University (ODU)
CS410 Blue Group. It is designed to facilitate healthier eating, provide education about healthy
food choices, offer nutritional advice based on individual profile, preferences, values, suggest
healthy and delicious recipes with nutritional facts, and generate shopping lists. Nutricipe helps
people save time by allowing them to organize a daily routine of preparing wholesome meals and
including a variety of foods based on personal needs and goals in their diet. It is aimed at
individuals who are interested in improving their current health conditions and those who are
interested in maintaining good health by eating the right meal, the right way, every time.
The prototype of the Nutricipe solution is designed to demonstrate the feasibility of using
a profile-based meal planning tool by multiple independent users via the website. The Nutricipe
prototype allows demonstrating what the proposed solution will do in a smaller scale and scope.
The prototype is intuitive to use. Hence, it allows garnering support from the customers to build
the final product, demonstrating mitigation of risks for the final solution, proving the concept of
the real world product (RWP), and demonstrating the ease of use.
The main goal of the Nutricipe solution is to offer a meal planning tool based on the
customer’s individual preferences and nutritional goals. In order to accomplish this goal, the
profile system must be built. Every registered user must access and populate his or her profile
before Nutricipe is used. The profile will include the customer’s age, gender, activity level,
nutritional goals, food preferences, and available ingredients.
One of the functional objectives is to show that Nutricipe customers are able to build
healthy, delicious meals which account for their individual needs and preferences. Nutricipe
customers must fill out their profiles as previously discussed. The Nutricipe software searches
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
4
through the recipe database and selects those recipes that are beneficial to the particular customer
based on his or her profile. Then, it allows customer to select different recipes, add individual
ingredients, and build a meal. The created meal is built solely based on the unique profile and
customer’s choices.
Another goal is to educate Nutricipe customers. By specifying different nutritional goals
and by filling out their personal profiles, Nutricipe customers can learn what foods they need to
consume, what the amounts of calories are best for them, what types of food they need to focus
on, and ways on how to prepare their meals based upon results from algorithms. Nutricipe can
provide different reports that are based on individual needs, nutritional goals, and preferences.
The reports are built using the Graphical User Interface (GUI) and data provided by the
algorithms.
There are the following functional objectives that support the educational goal of the
Nutricipe solution: to provide food recommendations, to offer a meal history, and to track the
progress of customers. Nutricipe offers different reports in order to educate customers about
nutrition and food recommendations. Nutricipe customers can learn how many calories they need
to consume on a daily basis from the daily calorie needs report. They can also gain knowledge on
what types of food are better for their nutritional goals, what food categories they need to focus
on, and the amounts of food in each category by viewing the food variety report. The recipe
search report allows users to learn what recipes can better suit their personal needs and
accommodate their nutritional goals. Nutricipe also teaches about the nutritional facts for recipes
and individual ingredients by providing the nutritional value report. It also shows customers the
percentage of daily goals for the ingredients, recipes, and the entire meals by offering the
percentage of daily goals report. Since Nutricipe customers are able to track their meals and
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
5
progress, they can view what they have been eating in the past by producing the food tracking
report. They can also evaluate how they are reaching their goals based on the food history report.
Finally, Nutricipe produces the user satisfaction survey report to the health clubs to prove that it
is capable of helping its customers to accomplish their goals.
The purpose of this test plan and procedure is to establish the overall approach, testing
sequence, and specific tests to be conducted in order to show that the operational prototype has
achieved its objectives. The objectives are a user interface to display data to users, user
registration, user authentication, profile population, nutritional recommendations, meal builder
generation, tracking history, and administrative interface. The plan and procedures described in
this document are designed to verify stable, safe operational performance of the Nutricipe
prototype.
2
REFERENCES (Group Section)
Gallup, Olga. (2010) Lab I - Nutricipe Product Description. Oct 5th, 2010
Gallup, Olga. (2010) Lab II - Nutricipe Prototype Specification. November 8th, 2010
USDA Nutrient Data Laboratory. (n.d.). The USDA National Nutrient Database for Standard
Reference. Retrieved from http://www.nal.usda.gov/fnic/foodcomp/search/
3
TEST PLAN
The following section provides a comprehensive explanation of the Nutricipe test plan. It
discusses the types of tests to be performed, the testing schedule, reporting procedures, resource
requirements, and the testing environment. It also describes the team member responsibilities.
3.1
Testing Approach
The following types of tests will be used to verify performance of the Nutricipe prototype:
unit tests, integration tests, system tests, and compliance tests. The unit tests will test the
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
6
individual software components of the prototype. The integration tests will consist of tests of two
or more related individual software components. They demonstrate the ability of those
components to function properly when they are combined together. The system tests will
demonstrate how the entire system works. The purpose of the system tests is to prove that the
system is trustworthy. Finally, the compliance tests will demonstrate that the functionality and
performance of the prototype matches the requirements of the Nutricipe prototype.
Figure 1. Prototype Major Functional Component Diagram
The major functional components of the Nutricipe prototype are illustrated in Figure 1.
Each component of the prototype must be tested during the component testing phase. The
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
7
components that need to be tested are the SR22 database, the recipes database, the user profiles
database, seven algorithms, and the GUI screens.
The database functionality of the Nutricipe prototype will be verified using a MySQL
query test tool (QTest) and a set of test queries. The queries will verify that all tables and fields
are created correctly for the SR22, recipes, and user profile schemas. The select queries will
verify that the proper data is populated for the SR22, recipes and user profile schemas. In order
to test that all the changes to the database are captured correctly, access to the database will be
available throughout the entire prototype testing. When the User Interface updates the database,
the appropriate queries will be executed to verify that the changes have been made.
The GUI screens will play a role of the test harness. It will allow changing the data and
verifying the results via the GUI screens. By changing the user profile data, selecting various
recipe search options, and inputting different values for the history prompt, all test cases will be
verified by visual inspection of the outputted results via the GUI screens.
The integration tests will consist of testing the algorithms and the GUI screens together.
In order to test the functionality of the algorithms, different inputs will be selected through the
GUI screens. These inputs include, but are not limited to, the user’s age, gender, activity level,
nutritional goals, likes, dislikes, available ingredients, and recipes search options. The output of
the algorithms will be displayed in the corresponding GUI screens.
The compliance tests will consist of testing all components together in a real world
simulation and doing a visual inspection of results produced. The tester will be able to access the
Nutricipe website and create an account. Then, he or she will be able to proceed with populating
a personal profile and exploring all the features. These features include individual
recommendations that are based on the user profile, meal builder that offers various types of
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
recipes searches, shopping list generator, food history, and goal history. To test the
administrative interface, the tester will be able to log in as an administrator.
All testing will be performed in a controlled classroom environment. Results of testing
will be confirmed visually. The test cases will be utilized to demonstrate risk mitigation.
Prototype functionality will be proven by demonstrating all components successfully pass the
test cases described in section 5.
3.2
Identification of Tests (Group Section)
Table 1 shows the test cases that will be performed, grouped by category. These test
cases may prove one or more functional requirements specified for the Nutricipe prototype.
Specific details for each test will be discussed in section 5.
Cat ID
Description
Test Case #
Description
1
Database Schema and
Interface (Erik)
1.1
Verify all tables and fields are
created correctly for the SR22
schema
1.2
Verify that data populated for the
SR22 schema
1.3
Verify SR22 database interface is
functional and allows for retrieval of
information from the MySQL tables
1.4
Verify all tables and fields are
created correctly for the recipes
schema
1.5
Verify that data populated for the
recipes. Model USDA source.
1.6
Verify recipe database interface is
functional and allows for retrieval of
information from the MySQL tables
8
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Cat ID
1
2
Description
Database Schema and
Interface (Erik)
Graphical User Interface –
Non-authenticated Users
(Ben and Mark)
Test Case #
9
Description
1.7
Verify all tables and fields are
created correctly for the profile
schema
1.8
Verify that data populated for the
profiles tables
1.9
Verify profile database interface is
functional and allows for insertion
and retrieval of information from the
MySQL tables
2.1
“About us” page: Verify the “About
us” page is rendered correctly (Mark)
2.2
“Contact us” page: Verify the
“Contact us” page is rendered
correctly (Mark)
2.3
Verify that the User Registration
Process creates an account (Ben)
2.4
User Authentication Process: Verify
that the login process behaves
correctly (Ben)
2.5
User Authentication Process: Verify
that an un-authenticated user may
only view pages that do not depend
on authentication (Ben)
[This space intentionally left blank]
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Cat ID
3
Description
Graphical User Interface –
Authenticated Nutricipe
Customers (Ben, Mark,
John, Olga, Erik, Adam)
Test Case #
10
Description
3.1
“About us” page: Verify the “About
us” page is rendered correctly (Mark)
3.2
“Contact us” page: Verify the
“Contact us” page is rendered
correctly (Mark)
3.3
Verify that the Account Maintenance
module displays/functions properly
(Ben)
3.4
Verify that the User Authentication
Process allows a user to
create/modify only one account
(Ben)
3.5
Verify that Profile Set Up and
Maintenance modules correctly
display dietary data / effect changes.
(Ben)
3.6
Verify Daily Caloric Needs Display
(John)
3.7
Verify Food Variety Display (John)
3.8
Verify Recipe Search Prompt (John)
3.9
Verify Recipe Search Report Display
(John)
3.10
Verify Recipe Card Display (John)
3.11
Verify Nutritional Values and
Percentage of Daily Goals of
Selected Meal Components Display
(John)
3.12
Verify Meal Builder Display (John)
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Cat ID
3
4
Description
Test Case #
Graphical User Interface –
Authenticated Nutricipe
Customers (Ben, Mark,
John, Olga, Erik, Adam)
Graphical User Interface –
Authenticated
Administrators and Health
Club Moderators (Mark
and Or’Sasha)
11
Description
3.13
Shopping List Display: Verify the
user can request a shopping list and
shopping list is displayed correctly
based on the selected meal (Olga)
3.14
Verify User Meal History Display
(Erik)
3.15
Verify User Goal Achievement
Display (Adam)
3.16
Verify User Satisfaction Survey
Prompt (Mark)
4.1
“About us” page: Verify the “About
us” page is rendered correctly (Mark)
4.2
“Contact us” page: Verify the
“Contact us” page is rendered
correctly (Mark)
4.3
Verify Admin Interface (Or’Sasha)
4.4
Verify “Create account” option
(Or’Sasha)
4.5
Verify “Deactivate account” option
(Or’Sasha)
4.6
Verify “Reactivate account” option
(Or’Sasha)
4.7
Verify “User Satisfaction Survey
Report” option (Or’Sasha)
4.8
Verify User Satisfaction Survey
Report (Mark)
[This space intentionally left blank]
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Cat ID
5
Description
Nutricipe Algorithms
Test Case #
12
Description
5.1
Verify Calorie Needs Algorithm
Functionality (Olga)
5.2
Verify Food Variety Algorithm
Functionality (Erik)
5.3
Verify Nutritional Content Calculator
Functionality (Cole)
5.4
Verify Recipe Selection Algorithm
Functionality (Adam)
5.5
Verify Shopping List Generator
Functionality (Olga)
5.6
Verify Food Tracking Algorithm
Functionality (Erik)
5.7
Verify Goal Tracking Algorithm
Functionality (Adam)
Table 1. Identification of Tests
3.3
Test Schedule (Group Section)
The Nutricipe team has been allotted a one hour and thirty minutes to demonstrate the
functionality of the Nutricipe prototype. The first 15 minutes will be used to introduce the
Nutricipe prototype. Table 2 shows the order in which each test case will be executed.
[This space intentionally left blank]
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
Start Time
(min)
Duration Description
13
Test Case #
0:00
15
Introduction
n/a
0:15
15
Show Database Schema and
Test Interface
1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.6, 1.8,
1.9
0:30
5
GUI: Non-authenticated
Users
2.1, 2.2, 2.3, 2.4
0:35
30
GUI and Algorithms:
Authenticated Nutricipe
Customers
3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
3.9, 3.10, 3.11, 3.12, 3.13, 3.14,
3.15, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7
1:05
15
GUI: Authenticated
Administrators and Health
Club Moderators
4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8
1:20
10
Questions
n/a
Table 2. Test Schedule
3.4
Fault Reporting and Data Recording
One team member will be assigned to record the results of each test through visual
inspection of the returned queries and the GUI screens. Test results will be recorded on a test
validation sheet as passing or failing. Performance results will also be documented. Performance
values may include time intervals to access the database, to output the results on the screen, and
to navigate the Nutricipe website.
3.5
Resource Requirements
The Nutricipe prototype will require a set of resources to be available to successfully
demonstrate the prototype. Two Internet-connected computers will be required. The Nutricipe
website will be displayed and tested on one of these computers. Another computer will display
test data from the database.
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
3.6
14
Test Environments
The prototype demonstration will take place in the Teletechnet classroom in the Gornto
building on the ODU campus. Two computers located in the room will be required by the
Nutricipe team and will be positioned at the desk. Figure 2 shows the layout of the room.
Figure 2. Classroom Layout
Two team members will be seated with the computers in front of the room. During the
introduction, one team member will stand in front of the room and deliver the Nutricipe
introduction presentation. Another team member will be equipped with a test validation sheet to
record the status of all the tests. One computer operator will be responsible for executing queries
and demonstrating the functionality of the database. Another computer operator will be
responsible for launching the Nutricipe website and demonstrating the prototype.
LAB 3 – NUTRICIPE PROTOTYPE TEST PLAN/PROCEDURE
4
TEST RESPONSIBILITIES
Please see the team’s collaborative version.
5
TEST PROCEDURES
Please see the team’s collaborative version.
6
TRACEABILITY TO REQUIREMENTS
Please see the team’s collaborative version.
15
Download