0% found this document useful (0 votes)
40 views

AllinOne-Templet - Second

The document summarizes test plans for the Gebeta food delivery system. It outlines features to be tested including registration, login, menu management, ordering, and delivery. Test cases are provided for registration, applying for registration, and login. The pass/fail criteria and approach/strategy are also described. Non-functional features like maintainability and scalability will not be tested due to time constraints.

Uploaded by

Fix myCity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

AllinOne-Templet - Second

The document summarizes test plans for the Gebeta food delivery system. It outlines features to be tested including registration, login, menu management, ordering, and delivery. Test cases are provided for registration, applying for registration, and login. The pass/fail criteria and approach/strategy are also described. Non-functional features like maintainability and scalability will not be tested due to time constraints.

Uploaded by

Fix myCity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Chapter 5: Testing

5.1 Introduction

Test plans are essential in the development of software as they outline what testing needs
doing to ensure the software is up to standard and is working exactly how it should.This Test
Plan Document is a document that describe approaches and methodologies that will be applied
to the unit, integration and system testing of Gebeta food delivery system. It includes the
features to be tested and not to be tested, pass and fail criteria, testing approaches, and test
case specifications. It also assures that the system meets the full requirements, including
quality requirements (functional and non-functional requirements), and identifies and
exposes all issues and associated risks. This document will clearly identify what the test
deliverables will be,

5.2 Features to be tested/not to be tested


5.2.1 Features to be tested

Features Description Level of Risk

Apply for registration As a restaurant, applying for Low


registration

Login As a restaurant, logging into Low


the website

Add Menu Item As a restaurant, add menu Low


item

Update Menu Item As a restaurant, update menu Low


item

Remove Menu Item As a restaurant, remove Low


menu item

Call Driver As a restaurant, call a driver High

Accept Order As a restaurant, accept order Low

Approve Users As admin, approve drivers High


and restaurants
Register User As a client, Register Low

Select Item As a client, Select menu item Low??

Customize Selected Items As a client, Customize Low??


selected menu items

Make Payment As a client, make payment High

Place Order As a client, place order Hgh

Track Order As a client, Track order Medium

Accept an Offer As a driver, accept an offer Medium

View Customer’s Detail As a driver, view customer’s High


detail

5.2.2 Features not to be tested

The following features will not be tested because the features take a long time to observe the
behaviour of the system, Since there is not enough time.
● Maintainability
● Scalability
● Availability
5.3. Pass/Fail criteria
The pass/ fail criteria are the following: -

● If the expected result and the actual output are the same the pass/ fail criteria is “pass”
● If the expected result and the actual output are the different the pass/ fail criteria is
“fail”

5.4. Approach/Strategy
This section includes test cases for unit tests, which is a type of software testing where
individual units or components of a software are tested. The purpose is to validate that each
unit of the software code related to functional requirement, performs as expected.

5.5 Test cases with specifications


Table 1: Test case specification for Register User

Name: Register User


Purpose: to register only a new client
Test Data= First Name(Invalid, Valid, Empty), Last Name(Invalid, Valid, Empty), Password(Invalid,
Valid, Empty), email(Invalid, Valid, Empty), confirm Password(Invalid, Valid, Empty),
Input Expected result Data Actual output Pass/fail
Invalid first name “Invalid First Name!” All valid fields and “Invalid First Name!” Fail
Valid other Fields Invalid first name
Empty first name "First Name can't be All valid fields and "First Name can't be Fail
Valid other Fields empty" Empty first name empty"

Invalid last name “Invalid Last Name!” All valid fields and “Invalid Last Name!” Fail
Valid other Fields Invalid last name

Empty last name “Last Name can't be All valid fields and “Last Name can't be Fail
Valid other Fields empty" Empty last name empty"
Invalid password “Invalid Password” All valid fields and “Invalid Password” Fail
Valid other Fields Invalid password
Empty password "Password can't be All valid fields and "Password can't be Fail
Valid other Fields empty" Empty password empty"
Invalid email “Invalid Email” All valid fields and “Invalid Email” Fail
Valid other Fields Invalid email
Empty email "Email can't be empty"All valid fields and "Email can't be Fail
Valid other Fields Empty Email empty"
Invalid confirm “password don’t All valid fields and “password don’t Fail
password match” Invalid match”
Valid other Fields confirm_password
Empty confirm "Confirm Password All valid fields and "Confirm Password Fail
password can't be empty" or Empty can't be empty" or
Valid other Fields “password don’t confirm_password “password don’t
match” match”
All Valid Fields The user is redirected Valid first name , last The user is redirected Pass
to the add profile page name, email, to the add profile
confirm_password and page
password

Table 2: Test case specification for Apply for registration

Name: Apply for Registration


Purpose: drivers and restaurants applies for registration
Test Data= Name(Invalid, Valid, Empty), PhoneNo(Invalid, Valid, Empty), Password(Invalid, Valid,
Empty), email(Invalid, Valid, Empty), confirm Password(Invalid, Valid, Empty), Business License
(Invalid, Valid, Empty), location (Empty, Valid),
Input Expected result Data Actual output Pass/fail
Invalid name “Invalid Name!” All valid fields and “Invalid Name!” Fail
Valid other Fields Invalid first name
Empty name “Name is not allowed All valid fields and “Name is not allowed Fail
Valid other Fields to be empty” Empty name to be empty”

Invalid phoneNo “phoneNo is not All valid fields and “phoneNo is not Fail
Valid other Fields allowed to be empty” Invalid phoneNo allowed to be empty”

Empty phoneNo “phoneNo can't be All valid fields and “phoneNo can't be Fail
Valid other Fields empty" Empty phoneNo empty"
Invalid password “Invalid Password” All valid fields and “Invalid Password” Fail
Valid other Fields Invalid password
Empty password "Password can't be All valid fields and "Password can't be Fail
Valid other Fields empty" Empty password empty"
Invalid email “Invalid Email” All valid fields and “Invalid Email” Fail
Valid other Fields Invalid email
Empty email "Email can't be empty"All valid fields and "Email can't be Fail
Valid other Fields Empty Email empty"
Invalid confirm “password don’t All valid fields and “password don’t Fail
password match” Invalid match”
Valid other Fields confirm_password
Empty confirm "Confirm Password All valid fields and "Confirm Password Fail
password can't be empty" or Empty can't be empty" or
Valid other Fields “password don’t confirm_password “password don’t
match” match”
Empty Location “Choose your All valid fields and “Choose your Fail
Valid other Fields location” Empty location location”
All Valid Fields The user successfully Valid first name , last The user successfully Pass
sent a request to the name, email, sent a request to the
admin confirm_password and admin
password, location,
business_license

Table 3: Test case specification for Login

Name: Login
Purpose: to verify that only authorized users gain access to the system
Test Data= Email(Invalid, Valid, Empty), Password(Invalid, Valid, Empty)
Input Expected result Data Actual output Pass/fail
Empty email “Email can’t be Any valid password and “Email can’t be Fail
Valid password empty” Empty email empty”
Invalid username “Wrong email or Any valid password and “Wrong email or Fail
valid password password” any Invalid email password”
Invalid email “Wrong email or Any Invalid email and “Wrong email or Fail
empty password password” empty password password”

Valid email “Wrong email or Any valid email and “Wrong email or Fail
Invalid password password” Any invalid Password password”
Empty email “Email can’t be empty, Empty email and “Email can’t be Fail
Empty Password password can’t be Empty Password empty, password
empty” can’t be empty”
Valid email The user successfully Any Valid email and The user successfully Pass
Valid Password logged in and valid Password logged in and
redirected to home redirected to home
page page

Table 4: Test case specification for Add Menu Item

Name: Add Menu Item


Purpose: to add an item to the system
Test Data= Name(Valid, Empty), Description(Valid, Empty), Price(Valid, Invalid, Empty),
itemImages(Empty, Valid)
Input Expected result Data Actual output Pass/fail
Empty Name “Food Name empty” Any valid fields and “Food Name empty” Fail
Valid other fields Empty Name
Empty Description “Insert some Any Invalid fields and “Insert some Fail
Valid other fields Description” empty Description Description”

Empty Price “Insert Food Price” Any valid fields and “Insert Food Price” Fail
Valid other fields Empty price
Invlaid Price “Invalid Price” Any valid fields and “Invalid Price” Fail
Valid other fields Invalid Price

Empty Item Image “Please at least add Empty itemImage and “Please at least add Fail
Valid other fields one image” Any valid fields one image”

All valid fields The restaurant All Valid fields The restaurant Pass
successfully adds an successfully adds an
item item
Table 5: Test case specification for Update Menu Item

Name: Update Menu Item


Purpose: to update an item on the system
Test Data= Name(Valid, Empty), Description(Valid, Empty), Price(Valid, Invalid, Empty),
itemImages(Empty, Valid)
Input Expected result Data Actual output Pass/fail
Empty Name “Food Name empty” Any valid fields and “Food Name empty” Fail
Valid other fields Empty Name
Empty Description “Insert some Any Invalid fields and “Insert some Fail
Valid other fields Description” empty Description Description”

Empty Price “Insert Food Price” Any valid fields and “Insert Food Price” Fail
Valid other fields Empty price
Invlaid Price “Invalid Price” Any valid fields and “Invalid Price” Fail
Valid other fields Invalid Price

Empty Item Image “Please at least add Empty itemImage and “Please at least add Fail
Valid other fields one image” Any valid fields one image”

All valid fields The restaurant All Valid fields The restaurant Pass
successfully adds an successfully adds an
item item

Table 6: Test case specification for Remove Menu Item

Name: Remove Menu Item


Purpose: to remove an item on the system
Test Data= Remove Icon
Input Expected result Data Actual output Pass/fail
Remove Icon “Item successfully Select Remove Icon “Item successfully Pass
removed” removed”
Table 7: Test case specification for Call Driver

Name: Call Driver


Purpose: to call nearby driver
Test Data= Select Call Driver
Input Expected result Data Actual output Pass/fail
Select Call Driver “Driver successfully Select call driver “Driver successfully Pass
Called” Called”

Table 8: Test case specification for Accept Order

Name: Accept Order


Purpose: to accept orders from the clients
Test Data= Select (Accept,Decline)
Input Expected result Data Actual output Pass/fail
Select Accept “Order Accepted” Select Accept “Order Accepted” Pass
Select Decline “Order Declined” Select Decline “Order Declined” Pass

Table 9: Test case specification for Approve Users

Name: Approve Users


Purpose: to approve users( restaurants and drivers)
Test Data= Select (Approve,Decline)
Input Expected result Data Actual output Pass/fail
Select Approve “User Approved” Select Approve “User Approved” Pass
Select Decline “User Declined” Select Decline “User Declined” Pass

Table 10: Test case specification for Make Payment

Name: Make Payment


Purpose: to make payment by using the system
Test Data=
Input Expected result Data Actual output Pass/fail
Table 11: Test case specification for place order

Name: Place Order


Purpose: to place an order
Test Data= Cart(empty,lessThan5,moreThan5),Food(sameRestaurant,differentRestaurant),Select
Place order
Input Expected result Data Actual output Pass/fail
Empty cart “Add at least one No food added to the “Add at least one Fail
Select place order food to cart” cart and place order food to cart”
selected

Cart lessThan5 “Food to be Foods from different “Food to be ordered Fail


Food differentRestaurant ordered has to be restaurant added to the has to be from the
Select place order from the same cart and place order same restaurant”
restaurant” selected
Cart lessThan5 “Order Placed At most five foods from “Order Placed Pass
Food sameRestaurant successfully” the same restaurant successfully”
Select place order added to the cart and
place order selected
Cart moreThan5 “More than five More than five foods “More than five foods Fail
Food sameRestaurant foods can not be from the same can not be ordered at
Select place order ordered at once” restaurant added to the once”
cart and place order
selected

Table 12: Test case specification for Track order

Name: Track order


Purpose: to track an order
Test Data= Order(active,inactive),Select Track order
Input Expected result Data Actual output Pass/fail
Active order “Order Tracked” Any active order and “Order Tracked” Pass
Select Track order Select Track order
Inactive order “No active order to be No active order and “No active order to Fail
Select Track order tracked” Select Track order be
tracked”

Table 13: Test case specification for Accept Offer

Name: Accept Offer


Purpose: to show the driver can accept the offer from restaurants
Test Data= Select (Accept,Decline)
Input Expected result Data Actual output Pass/fail
Select Accept “Offer Accepted” Select Accept “Offer Accepted” Pass
Select Decline “Offer Declined” Select Decline “Offer Declined” Pass

Table 14: Test case specification for View Customer’s Detail

Name: View Customer’s Detail


Purpose: to show the driver the detailed information of the client after they accept an offer from
restaurants
Test Data= Select view detail
Input Expected result Data Actual output Pass/fail
Select view detail “Driver views Select view detail “Driver views Pass
Customer detail” Customer detail”

Table 15: Test case specification for Phone Verification

Name: Phone Verification


Purpose: to accept verified code to verify the user before signing up.
Test Data= phoenNo(Invalid, Valid, Empty)
Input Expected result Data Actual output Pass/fail
Empty phoneNo “PhoneNo can’t be Empty phoneNo “Food Name empty” Fail
empty”
Invalid phoneNo “Invalid Phone” Invalid phoneNo “Invalid Phone” Fail
Valid phoneNo The user will accept a Valid phone Nod The user will accept a Pass
verification code and verification code and
redirects to sign up redirects to sign up
page page

Chapter 6: User Manual

6.1 scope
This part of the document includes a user manual which guides a user through essential phases
of Gebeta food delivery system for all four users of the system (client,driver,restaurant and
admin).The description includes screenshots of parts of the system but not all.

6.2 Installation and configuration


//list the pre-requirement to install the system

//show the installation procedure [supported with screenshots]

//show the configuration procedure if any [supported with screenshots]

6.3 How to Operate the system


Client

//describe the procedure with screenshot

Example:

1. First do this … screenshot followed

2 then do this … screenshot followed

Restaurant

A. How to create user account

1. Navigate to Registration page using a web browser


2. Fill in valid restaurant name, phonenumber,email and password
3. Click on register button

4. On application page upload valid government issued business license,


identification card and provide restaurant location
5. Click on submit button
6. Wait for admin approval
B. How to log into the system

1. Navigate to login page using a web browser


2. Fill in valid email and password
3. Click on login button

C. How to add Menu item

1. Log into the system

2. Click on Add Item button


3. Fill in food name,description,price and availability.Add pictures for the menu item
4. Click on Save Item button
D. How to view Menu list

1. Log into the system


2. Click on Menu button

E. How to Update Menu item

1. Log into the system


2. Select menu item to update
3. Click on edit icon at the bottom of the menu item
4. Update food name,description,price ,availability and pictures of the menu item as
needed
5. Click on Update Item button

F. How to Delete Menu item

1. Log into the system


2. Click on delete icon located to the right side of the menu item to be deleted
3. Respond to the alert by clicking on yes button
G. How to view orders

1. Log into the system


2. Click on orders button

H. How to Accept or Decline orders

1. Log into the system


2. Click on orders button
3. Click on Accept or Decline located under order item to be accepted or declined

Admin

A. How to log into the system


1. Navigate to login page
2. Fill in valid admin email and password
3. Click on login button

B. How to view Restaurant List

1. Log into the system


2. Click on Restaurant button
C. How to view Client List

1. Log into the system


2. Click on Customers button

D. How to view Driver List

1. Log into the system


2. Click on Driver button
Chapter 7: CONCLUSION AND RECOMMENDATION
7.1 Conclusion

The current system for food ordering is entirely a manual process which involves a waitress and
waiter to take orders from the customers and customers have to visit the hotels or restaurants
to see what food is available, place an order and pay. This kind of ordering system consumes
and wastes time and resources when having a lot of customers at the same time. During peak
hours, the customers will wait in a long queue to get the service they wanted which will in turn
decrease the restaurant’s reputation. It also creates a misunderstanding between the customer
and waiters. To overcome this problem, some restaurants use taking orders over the phone
which also causes another problem since the customers lack a physical menu item and the
prices of the foods. In addition to this when customers place an order over a phone most hotels
and restaurants would think it as a prank call and they probably would not place their order
before clarifying the customers. There must be a better way of providing the service, increasing
customer satisfaction and restaurant profitability.
7.2 Recommendation
Gebeta Food Delivery system allows the customers to easily browse the online menu and place
orders with a few clicks which offers a method for hotels and restaurants to add their menu and
update as needed so that the customers can view and compare prices. The customers are
directly connected with restaurants in which the ordering and delivering process is simplified
and multiple ordering from the same restaurant is supported. We recommend such systems to
be used in Ethiopia’s food delivery industry.
BIBLIOGRAPHY

[1] http://www.mio.com/technology-history-of-gps.htm , access date: 08/11/2015

APPENDIX

You might also like