Question
The big picture : Were developing an inventory and purchasing system for a regional franchise, our client. The complete software system will include an inventory
The big picture: Were developing an inventory and purchasing system for a regional franchise, our client. The complete software system will include an inventory management system and will control the point-of-sale checkout registers. Our team is responsible for the point-of-sale software, not the inventory system. Because of the financial, tax, and legal liability of the client, the software accuracy must be ensured and verified.
User Story: Compute the net price of all the items in a customers shopping cart including all applicable discounts and taxes.
After discussing further with the client, we have defined the following functional requirements.
1) If the shopping cart contains 10 or more items, the customers shall get a 10% discount off the purchase price before taxes are included. If the shopping cart contains more than 5 items, the customer shall receive a 5% discount before tax. Otherwise, no discount is applied.
2) Customers may not purchase more than 50 items in a single checkout session.
3) If the customer is a member of the stores discount shopping club, they shall receive an additional 10% discount off the purchase price before taxes.
4) Unless a customer has tax-exempt status, the local sales tax rate of 4.5% shall be applied to the net discounted price.
5) Dollar amounts shall be rounded to the nearest cent ($0.01) before and after the tax rate is applied.
6) The net purchase before any discount, the net discount, the tax amount, and the net total due shall all be reported in US dollars.
Part 1:
In Part 1, your task is to design test cases for the above requirements. No coding is required! Here are the specific tasks for this part.
- Analyze the first four functional requirements above (i.e., FR 1-4) and determine the number of test cases needed to provide 100% path and conditional coverage. Use graph theory (i.e., control flow analysis) and / or conditional truth tables to analyze the requirements.
- Design additional tests using equivalence partitions and boundary value analysis (BVA) to provide further verification for FR 1 and FR 2.
- Design tests for FR 5 using EP and BVA. Pay attention to the float-point nature of the values!
- Create a document enumerating each test case and describe the intention of the test and the expected outcome. Spreadsheets are useful for this task, but another option is to use Markdown (or similar source documentation language.) The benefit of the Markdown approach is that it can be managed like any other bit of source code.
Be sure to describe how you deduced the number of test cases for each requirement and provide documentation (e.g., flow graphs, pseudo-code, truth tables) and justification for your design.
The language to be used can be python mostly...if not c++, java is also fine.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started