VELALAR COLLEGE OF ENGINEERING AND TECHNOLOGY
(AUTONOMOUS), ERODE - 12
DEPARTMENT OF INFORMATION TECHNOLOGY
Name : Jeevika M
Reg No : 732923ITR045
Course Code & Name: 22ITE25 – SOFTWARE TESTING AND AUTOMATION
Class: 23IT6A&B
ASSIGNMENT - II
1. Design a test plan and test cases for an Online Food Delivery System. The task should include:
Requirement analysis and identification of key modules (e.g., user login, restaurant
browsing, cart management, order placement, payment processing, delivery tracking)
Modelling the test design process using a suitable model (e.g., flowchart or data flow
diagram)
Creation of test cases using appropriate testing techniques in the below format
Test Case Scenario Test Data Precondition Steps Expected Result Status
ID
Preparation of a bug report and represent it in the bug life cycle
1.1 Requirement Analysis – Key Modules
Module Description
User Login Registration, login, logout, password reset
Restaurant Browsing Search, filter by cuisine / rating / distance
Cart Management Add / remove items, update quantity
Order Placement Confirm order, select delivery address
Payment Processing Pay via card, UPI, wallet, COD
Delivery Tracking Real-time order status, ETA, map tracking
1.2 Test Design Process – Flowchart Model
The test design follows a sequential user-journey flowchart:
1.3 Test Cases
Preconditio Expected
TC ID Scenario Test Data Steps Status
n Result
1. Enter
Email: email
User
Valid User user@[Link] 2. Enter
TC_001 App is open redirected to Pass
Login Pass: password
home page
Test@123 3. Click
Login
1. Enter
email
Invalid Email:
2. Enter Error:
Login – user@[Link]
TC_002 App is open wrong Invalid Pass
Wrong Pass:
password credentials
Password wrong123
3. Click
Login
1. Leave
Login with fields Error: Fields
Email: blank
TC_003 Empty App is open empty cannot be Pass
Pass: blank
Fields 2. Click empty
Login
TC_004 Restaurant Keyword: User logged 1. Click Pizza Pass
Search by Pizza in search restaurants
Preconditio Expected
TC ID Scenario Test Data Steps Status
n Result
2. Type
Pizza
Cuisine listed
3. Press
Enter
1. Click
Item: item Item in cart
Add Item Restaurant
TC_005 Margherita 2. Click with correct Pass
to Cart page open
Pizza Add to price
Cart
1. Open
Remove Item
Cart has 1+ cart
TC_006 Item from Item in cart removed; Pass
items 2. Click
Cart total updated
Remove
1. Go to
cart
Place Order
2. Enter
Order – Address: 123 Cart has confirmation
TC_007 address Pass
Valid MG Road items shown with
3. Click
Address Order ID
Place
Order
1. Select
UPI Payment
Payment UPI ID: 2. Enter success;
TC_008 Order placed Pass
via UPI user@upi UPI ID order
3. confirmed
Confirm
1. Enter
Payment – Card: 1234 invalid Error:
TC_009 Invalid 5678 0000 Order placed card Invalid card Pass
Card 0000 2. Click details
Pay
1. My
Orders Live
Delivery Order ID: Order
TC_010 2. Click delivery map Pass
Tracking ORD123 confirmed
Track shown
Order
Cancel 1. Go to Order
Order placed,
Order Order ID: orders cancelled;
TC_011 not Pass
Before ORD456 2. Click refund
dispatched
Dispatch Cancel initiated
1. Open
Empty
User logged cart Error: Your
TC_012 Cart Empty cart Pass
in 2. Click cart is empty
Checkout
Checkout
1.4 Bug Report & Bug Life Cycle
Bug Report
Bug ID BUG_001
Title Payment fails for valid UPI ID
Module Payment Processing
Severity Critical
Priority High
Reported By QA Engineer
Date 18-May-2026
1. Add item to cart 2. Place order 3. Select UPI 4. Enter valid
Steps to Reproduce
UPI ID 5. Click Pay
Expected Result Payment should be successful
Actual Result Error: Payment failed. Try again.
Environment Android 13, App v2.1
Attachments Screenshot_001.png
Bug Life Cycle
2. In an e-commerce application, the developer needs to ensure that:
a. the system recovers properly after a failure such as a server crash or network issue
b. the application functions correctly across different web browsers such as Chrome, Firefox, and
Edge
c. the system performs efficiently when multiple users access it simultaneously during peak hours
d. the system behaves correctly even when the load exceeds the expected limit
e. user data such as login credentials and payment information are securely handled
f. users can easily navigate the application and perform tasks like searching, adding to cart, and
checkout
g. core functionalities such as login, product search, cart operations, and payment processing work
correctly
For each of the above scenarios:
Identify the type of testing to be performed
Suggest suitable tools
Explain the expected outcomes of the testing
For each scenario below, the type of testing, suitable tools, and expected outcomes are identified:
Type of Suggested
Scenario Expected Outcomes
Testing Tools
a. System
recovers after Chaos Monkey, System restores to last stable state;
Recovery
server crash / Gremlin, data integrity maintained; users see
Testing
network JMeter appropriate error messages
failure
b. App works Selenium
Cross-Browser /
across WebDriver, Consistent UI rendering across all
Compatibility
Chrome, BrowserStack, browsers; no layout breaks
Testing
Firefox, Edge LambdaTest
c.
Performance
System handles concurrent users
under Apache JMeter,
Load Testing within acceptable response time (< 3
simultaneous Gatling, Locust
s); no crashes
users during
peak hours
d. Behaviour
System degrades gracefully; returns
when load JMeter,
Stress Testing appropriate error; auto-recovers after
exceeds BlazeMeter, k6
load drops
expected limit
e. Secure
handling of OWASP ZAP, Data encrypted (HTTPS/TLS); no
credentials Security Testing Burp Suite, SQL injection / XSS; PCI-DSS
and payment Nessus compliance
info
f. Easy
navigation — Usability UserTesting, Users complete key tasks within 3
search, cart, Testing Maze, Hotjar clicks; intuitive UI; minimal errors
checkout
g. Core
Selenium, All features work per requirements;
functions — Functional
Cypress, correct outputs for valid and invalid
login, search, Testing
Postman inputs
cart, payment
3. Develop a simple automated test script using Selenium WebDriver for the web application
[Link] The script should:
Open the website and locate basic web elements such as username field, password field, and
login button
Perform a login action using valid credentials (username: standard_user, password:
secret_sauce)
Verify whether the login is successful by checking redirection to the products page
Generate a basic test report indicating whether the login action was successful or failed
3.1 Automated Test Script (Python + Selenium)
# test_saucedemo_login.py
# Automated Login Test using Selenium WebDriver
from selenium import webdriver
from [Link] import By
from [Link] import WebDriverWait
from [Link] import expected_conditions as EC
import time
URL = '[Link]
USERNAME = 'standard_user'
PASSWORD = 'secret_sauce'
EXPECTED = '[Link]'
driver = [Link]()
driver.maximize_window()
wait = WebDriverWait(driver, 10)
test_result = 'FAILED'
error_message = ''
try:
[Link](URL)
print(f'[INFO] Opened URL: {URL}')
username_field = [Link](EC.presence_of_element_located(([Link], 'user-name')))
password_field = driver.find_element([Link], 'password')
login_button = driver.find_element([Link], 'login-button')
print('[INFO] Located: username, password, login button')
username_field.clear()
username_field.send_keys(USERNAME)
password_field.clear()
password_field.send_keys(PASSWORD)
login_button.click()
print('[INFO] Login action performed')
[Link](2)
if EXPECTED in driver.current_url:
test_result = 'PASSED'
print(f'[INFO] Redirected to: {driver.current_url}')
else:
error_message = f'Unexpected URL: {driver.current_url}'
except Exception as e:
error_message = str(e)
finally:
[Link]()
print('\n' + '=' * 50)
print(' SELENIUM LOGIN TEST REPORT')
print('=' * 50)
print(f' Website : {URL}')
print(f' Username : {USERNAME}')
print(f' Test Case : Login with valid credentials')
print(f' Result : {test_result}')
if error_message:
print(f' Error : {error_message}')
print('=' * 50)
3.2 Sample Test Report Output
==================================================
SELENIUM LOGIN TEST REPORT
==================================================
Website : [Link]
Username : standard_user
Test Case : Login with valid credentials
Result : PASSED
==================================================
3.3 Script Walkthrough
Step Action Code Element Used
1 Open website [Link](URL)
2 Locate elements find_element([Link], ...)
3 Enter credentials .send_keys()
4 Click login .click()
5 Verify redirect current_url check for '[Link]'
6 Generate report print() statements with PASSED / FAILED
3.4 Prerequisites
• Python 3.x installed
• Selenium installed: pip install selenium
• ChromeDriver matching your Chrome version placed in PATH
• Internet connection to access [Link]