Write a test plan to test the program

Assignment Help Programming Languages
Reference no: EM131310222

Program #1

The local yogurt shop is expanding its selection of frozen treats, and would like you to modify the program you wrote to calculate and print their customer's bills. You will also write a test plan to test the program.

• This shop now has four types of frozen treats: frozen yogurt and soft serve ice cream by the ounce, premium ice cream by the scoop, and ice cream bars. These items are available at the following rates:

Treat Type Price
Frozen Yogurt $ 0.44 per ounce
Soft Serve Ice Cream $ 0.49 per ounce
Premium Ice Cream $ 1.62 per scoop
Ice Cream Bars $ 3.49 per bar

• Single servings of frozen yogurt or either type of ice cream may be purchased in a plastic cup (waffle cones are no longer available).

o Plastic cups hold up to 16 ounces or 5 scoops

• Customers may optionally add toppings to their yogurt or ice cream. The first topping is included free, but additional toppings cost $0.63 per topping.

• Yogurt and soft serve ice cream may be purchased, without any toppings, in larger take out container that will hold amounts up to 64 ounces. Take out purchases are sold at a discount. (NOTE: If a purchase is over 16 oz, the program will be assume it is a take out purchase.)

• Purchases (over 16 oz) up to 32 ounces are given a $0.04 discount per ounce.

• Purchases of more than 32 ounces are given a $0.08 discount per ounce.

• Multiple treats may be purchased on a single bill.

• The punch card program has been discontinued in favor of a quantity discount. If 4 or more treats are purchased on one bill, the last treat in the purchase is charged half price.

Define constants for all fixed values, and use double precision floating point variables for all dollar & cents figures.

Implementation Details

At a minimum, the program must implement the following functions (in addition to main):

• Generic function 1 to read and validate any positive number (including 0).

This function will have one input parameter, a string prompt, used to ask for input. It will loop until a valid integer has been entered, and will return the validated integer.

• Generic function 2 to read and validate a number between 1 and a maximum value.

This function will have two input parameters, a string, which describes the value to be read (to be used in prompts and error messages), and the maximum value that can be entered. It will loop until a valid integer (1 to maximum) has been entered, and will return the validated integer.

• One function to read and validate the treat type.

This function will display a menu of treat choices, along with prices of each, to the user. It will prompt for the treat type (Y, S, P, or B), and error check that the user has entered a valid choice (accepted in upper or lowercase). If not, issue an error message and re-prompt until a valid choice is entered. The function will return the validated choice in uppercase.

• One function to calculate the base treat charge.

This function will have two input parameters, the treat type and amount purchased. It will calculate and return the charge for the specific amount of treat purchased, including take out discounts.

• One function to calculate the toppings charge.

This function will have two input parameters, the treat type and amount purchased. It will decide whether toppings are allowed (Toppings are allowed for yogurt or soft serve ice cream under take out limits, and premium ice cream).

If toppings are allowed, this function will call generic function number 1 to read and validate the number of toppings. It will then calculate the toppings charge, and return the toppings charge, or 0 if there was no charge.

• One function to calculate the total cost for one treat (includes base charge and topping charge, if necessary).

This function will have one input parameter, the treat type. If necessary, it will call generic function 2 to determine the amount (ounces or scoops) purchased. (Max of 64 ounces for yogurt and soft serve, and 5 scoops for premium). It will then call the above two charge functions. The function will return the total cost for one treat.

Remember that the use of global variables is NOT allowed. The functions must use parameters and return values to pass required data to and from each function.

• All input only parameters should be passed by value.

• Output (reference) parameters are used when more than one value is being passed back. If only one value is passed back, the return statement should be used instead.

This program will calculate customer bills for frozen treats

NEW CUSTOMER

Number of treats purchased (0 to exit): 4

Treat Choices:
Y - Frozen Yogurt $ 0.44 per ounce
S - Soft Serve Ice Cream $ 0.49 per ounce
P - Premium Ice Cream $ 1.62 per scoop
B - Ice Cream Bar $ 3.49 per bar

For treat #1, enter letter for treat type: y
Enter number of ounces: 10
Enter number of toppings: 3
Charge for treat #1 is $ 5.66
Press any key to continue . . .

Program Execution

1. Display a description to the user, explaining what the program will do.

2. Implement an outer loop in main, to process customer orders, as follows:

a. Call generic function number 1 to read the number treats purchased by one customer.
b. If the function returns 0, exit the outer loop. Otherwise:

Using the value entered by the customer, implement an inner loop in main, to calculate the cost for each treat, as follows:

i. Call the function to read and validate the treat choice.
ii. Call the function to calculate the total cost for one treat.
iii. Decide whether treat should be half cost, and adjust it accordingly.
iv. Display the cost of the treat and add it to the total bill for the customer.

c. After the cost of all treats for one order have been displayed (i.e. the inner loop exits), display the total bill amount.

3. The outer loop should continue to loop, until 0 is entered for the number of treats purchased by one customer.

Testing

As part of your submission for this week, you must write a test plan for this program (program 1). Remember to test the border cases that generally cause errors.

Your test plan must include:

• the rationale for testing each condition within the program

• a list of the specific test cases

Each test case must include:

• the exact user input used for the test

• the exact output expected.

Reference no: EM131310222

Questions Cloud

What is its role in systems design and analysis : What is the basic objective in a logistics design and analysis study? Is it normally a one-time activity? 2. What is sensitivity analysis, and what is its role in systems design and analysis?
Create software for the new line of phone applications : A Company needs to create software for their new line of phone applications. Customers will have the opportunity to both deposit funds and purchase the Apps.
What is the key objective in freight lane analysis : Why is a cost/benefit evaluation important to logistical systems design efforts?- What is the key objective in freight lane analysis?
Contrast strategic and tactical transportation decisions : What is the main advantage of the typical optimization technique in comparison to simulation?- Compare and contrast strategic and tactical transportation decisions.
Write a test plan to test the program : The local yogurt shop is expanding its selection of frozen treats, and would like you to modify the program you wrote to calculate and print their customer's bills. You will also write a test plan to test the program.
Examine the information gaps within the project : Create an evaluation plan that clearly correlates to the three learning objectives Exploration, Gathering and Analyzing Data and Making Decisions. Specify the measures that best fit each objective.Prepare a five question test that correlates with..
What factors influence the demand for product : What factors influence the demand for this product? What factors influence the supply of this product? How have these changes in supply and demand affected the equilibrium price of this product?
Compare and contrast three stages of functional aggregation : What is the functional aggregation paradigm and why is it important?- Compare and contrast the three stages of functional aggregation.
Responsibility of working with your organization ceo : You have been given the responsibility of working with your organization's CEO to do a competitive market analysis of the potential success of one of their existing products.

Reviews

Write a Review

Programming Languages Questions & Answers

  Write html form that prompts user to enter value

Write an HTML form that prompts the user to enter a value. In PHP, write a script to determine whether the value contains an integer , a decimal-place number.

  Write a phonenumber class

Write a PhoneNumber class that gets initialized with a 10-digit phone number. In the call PhoneNumber.new(ph), the input ph take any of these possible formats:

  Network programming

From where does the template class derived from in network programming?(

  Which two are valid constructors for thread

Which two are valid constructors for Thread?1) Thread(Runnable r, String name)2) Thread()

  Simulation of checking tic-tac-toe board

Simulation of checking tic-tac-toe board for wins by counting X and O in rows, columns and diagonals - You must use loops, as demonstrated in class, to count the X and O in each direction.

  A type of disk storage that so read and written by a floppy

A type of disk storage that so read and written by a floppy disk drive

  Write a paper discussing threads vs processes

Write a paper discussing Threads vs Processes. What is a Thread? What is a Process? How are they different? How are they the same? What types of problems lend themselves to Threads?

  Write the code for the countwords function

Write the code for the countWords function (you can assume that the line begins with a letter, that each word is separated by a single space and that the line ends with a period.

  Statement to read variables of type double

Suppose two variables p1 and p2 of type POINT, with two fields, x and y, both of type double, have been declared. Write a statement that reads values for p1 and p2 in that order.

  Design and write payroll program-employee-s hourly pay rate

Design and write a payroll program that will prompt the user to enter an employee's hourly pay rate and the number of hours worked.

  Write parameterized function to play the game

Your program cannot use file level variables or constants; your program cannot use global variables or constants. The functions that you write exchange data by means of return statements and value parameters and reference parameters

  Create application to generate a series of random numbers

Create the application to generate a series of 100 random numbers in the range of 1 through 1000. Save the series of numbers in a file.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd