In: Computer Science
Part 1: Software Testing :
Assume that you are building a web-based grocery shopping system (similar to the ones that
Woolworths and Coles provide). The system allows customers to add grocery items to a (virtual)
shopping cart and pay online. They will then be notified when the order is ready for pick-up in the
selected store.
1. Identify one functional and one non-functional requirement related to that system .
2. Describe how you would test those two requirements .
3. For the item counts in the shopping cart, describe what equivalence classes and boundary values
you would choose when creating the corresponding unit tests .
Part 2: Project Management (Risk Management) :
Consider the scenario outlined in Part 1.
1. Identify two risks associated with the development of that system .
2. Assess their probability and severity .
3. Provide strategies to manage the risks .
Can someone give me some ideas?
Part 1
1. One Functional Requirement
Adding items to the virtual cart - This is one of the most important functional requirement that is required from the system. If we don't have this functionality, then the system is of no use.
One Non-Functional Requirement
Security - The system should be secured enough for the online payments(if the user is choosing online payment option).
Other non-functional requirement- The system should be scalable enough so that if the user base increases the performance does not get disturbed.
2. Testing functional-
Try adding items in the cart and try to complete order,if it is successful then it is perfect.
Testing Non-functional
For security try to intrude into the payment system, or do sql-injections to get database.
For scalablity try to add as many users, to check if performance is conserved.
3. Boundary values included testing the extreme minimum,maximum values
For boundary values
-Test before checkout if number of items are greater than 0
-Set maximum limit of number of items,and check them
For equivalence class-
Check for the inputs that are between the specifc inputs(Like checking input between set 1..10)
Part 2
1. Risk analysis included testing the system for security, scalability, performance etc measures.
One kind of risk is the fake orders created by some scripts or bots, there may be fake orders.
Another kind can be the customer may be able to skip the payment part, try to successfully order the items without actually doing payment.
2. Bot ordering risk is severe, because it can full the database, and our system may get crashed. It's probability is high because in today's digital world this happens often.
However probability of payment skip is low, because the payment gateways have high level of security, but if the hackers manages somehow to intrude into database then everything will be under his control.
3.Use AI based bot detection algorithms.
Use highly secured technologies for the payment part.