SE Lab Manual
SE Lab Manual
Designing test cases for an e-commerce application like Flipkart involves testing
various functionalities such as user registration, login, product search, product
details, cart management, checkout, payment, order tracking, and more. Below is a
comprehensive list of test cases categorized by functionality:
1. User Registration
Test
Description Precondition Steps Expected Result
Case ID
1. Navigate to the
registration page.
TC_REG_0 Register with valid User is not User is registered
2. Enter valid
1 details registered successfully.
details.
3. Submit.
1. Navigate to the
registration page.
TC_REG_0 Register with an Email already Error: "Email
2. Enter existing
2 existing email exists already registered."
email.
3. Submit.
1. Navigate to the
registration page.
TC_REG_0 Register with invalid Error: "Invalid email
None 2. Enter invalid
3 email format format."
email.
3. Submit.
1. Navigate to the
registration page.
Register with
TC_REG_0 2. Leave Error: "Please fill all
missing mandatory None
4 mandatory fields mandatory fields."
fields
blank.
3. Submit.
2. User Login
Test Case
Description Precondition Steps Expected Result
ID
1. Navigate to the
login page.
TC_LOGIN_ Login with valid User is User is logged in
2. Enter valid email
01 credentials registered successfully.
and password.
3. Submit.
1. Navigate to the
Login with login page.
TC_LOGIN_ User is Error: "Invalid
invalid 2. Enter valid email
02 registered credentials."
password and invalid password.
3. Submit.
1. Navigate to the
Login with login page.
TC_LOGIN_ Email is not Error: "Email not
unregistered 2. Enter unregistered
03 registered registered."
email email.
3. Submit.
1. Navigate to the
login page.
Login with Error: "Please enter
TC_LOGIN_ 2. Leave
missing None email and
04 email/password
credentials password."
blank.
3. Submit.
3. Product Search
4. Product Details
Test Preconditi
Description Steps Expected Result
Case ID on
1. Search for a
Product details (price,
TC_PD_0 View product Product product.
description, reviews) are
1 details exists 2. Click on the
displayed.
product.
1. Navigate to
TC_PD_0 Add product to cart Product product details. Product is added to the
2 from details page exists 2. Click "Add to cart.
Cart."
Availability status is
TC_PD_0 Check product Product 1. Navigate to
displayed (e.g., "In
3 availability exists product details.
Stock").
5. Cart Management
Test Case
Description Precondition Steps Expected Result
ID
1. Search for a
TC_CART_ Add a product to product. Product is added to
Product exists
01 the cart 2. Click "Add to the cart.
Cart."
1. Navigate to
the cart.
TC_CART_ Remove a product Product is in Product is removed
2. Click
02 from the cart the cart from the cart.
"Remove" for a
product.
1. Navigate to
the cart.
TC_CART_ Update product Product is in Quantity is updated
2. Change the
03 quantity in the cart the cart successfully.
quantity.
3. Click "Update."
1. Navigate to
Proceed to
TC_CART_ Cart is not the cart. User is redirected to
checkout from the
04 empty 2. Click "Proceed the checkout page.
cart
to Checkout."
7. Order Tracking
Test Case Preconditio
Description Steps Expected Result
ID n
1. Navigate to "My
TC_ORDER_ Track an existing Order is Orders." Order status is
01 order placed 2. Click "Track displayed.
Order."
1. Navigate to "My
Orders."
TC_ORDER_ Track a non- Error: "Order not
None 2. Enter invalid
02 existing order found."
order ID.
3. Click "Track."
8. Logout
9. Edge Cases
Designing test cases for a mobile application involves testing various functionalities
such as installation, login, navigation, features, performance, and usability.
Let’s take the example of the Instagram mobile app (available on the App Store)
and design test cases for it.
4. Posting Content
Preconditio
Test Case ID Description Steps Expected Result
n
1. Navigate to a
TC_INTERACT_ User is post. Post is liked
Like a post
01 logged in 2. Tap the "Like" successfully.
button.
1. Navigate to a
post.
TC_INTERACT_ Comment on a User is 2. Tap Comment is added
02 post logged in "Comment." successfully.
3. Enter text.
4. Tap "Post."
1. Navigate to a
post.
TC_INTERACT_ User is 2. Tap the "Share" Post is shared
Share a post
03 logged in button. successfully.
3. Select a
platform.
6. Stories
Test Case
Description Precondition Steps Expected Result
ID
1. Tap the "DM"
icon.
Send a text User is logged Message is sent
TC_DM_01 2. Select a user.
message in successfully.
3. Enter text.
4. Tap "Send."
1. Tap the "DM"
icon.
2. Select a user.
Send a photo via User is logged Photo is sent
TC_DM_02 3. Tap the camera
DM in successfully.
icon.
4. Select a photo.
5. Tap "Send."
1. Tap the "DM"
icon.
2. Select a user.
Send a video via User is logged Video is sent
TC_DM_03 3. Tap the camera
DM in successfully.
icon.
4. Select a video.
5. Tap "Send."
8. Notifications
10. Logout
Let’s consider a Food Delivery Mobile Application (e.g., Uber Eats or Zomato) and
calculate the effort using the Function Point (FP) Oriented Estimation Model.
The Function Point Analysis (FPA) is a method to estimate the size of software based
on its functionality, which can then be used to estimate effort, cost, and time.
6. Estimate Effort:
o Use the formula: Effort (Person-Hours) = AFP × Productivity
Factor.
promotional offers
External Inquiries Search restaurants, view menu, track order, check order
4
(EQ) history
Internal Logical Files User profiles, restaurant details, menu items, order history,
5
(ILF) payment records
External Interface
Payment gateway integration, map services, restaurant APIs 3
Files (EIF)
External Interface
5 7 10
Files (EIF)
External Interface
3 7 21
Files (EIF)
6. Estimate Effort
Assume the Productivity Factor is 20 hours per FP (this can vary based on team
experience, tools, and technology).
Summary
This estimation can be refined further by adjusting the complexity weights, GSCs,
and productivity factor based on the specific project and team
The EAF is calculated by evaluating 15 cost drivers (e.g., product complexity, team
experience, reliability requirements). For simplicity, assume the EAF = 1.2 (slightly
higher due to moderate complexity and team experience).
6. Calculate Effort
Effort (Person-Months) = a × (Size)^b × EAF
(10,000)^1.12 ≈ 16,218
(58,384.8)^0.35 ≈ 17.5
8. Team Size
Team Size = Effort / Time
Summary
Mode: Semi-Detached
If we refine the estimate by considering specific cost drivers (e.g., higher team
experience, better tools), the EAF can be adjusted, leading to a more accurate
estimate. For example:
Test cases are a fundamental part of software testing in software engineering. They
are used to validate the functionality of a system and ensure that it behaves as
expected under various conditions. A test case typically includes the following
components:
1. Introduction
The purpose of this document is to outline the requirements for the development of a
software system. The system aims to address specific user needs and provide a
comprehensive solution to the identified problem.
2. Objectives
To define the functional and non-functional requirements of the system.
3. Scope
Clients: Entities funding the project and expecting the final product.
5. Functional Requirements
1. User Authentication:
o The system shall allow users to log in using a username and password.
2. Data Management:
o The system shall allow users to create, read, update, and delete records.
3. Reporting:
o The system shall generate reports based on user-defined criteria.
4. Notifications:
o The system shall send email notifications for important events.
6. Non-Functional Requirements
1. Performance:
o The system shall handle up to 10,000 concurrent users without performance
degradation.
2. Security:
o The system shall encrypt sensitive data both in transit and at rest.
3. Usability:
o The system shall have an intuitive user interface.
4. Scalability:
o The system shall be scalable to accommodate future growth in user base and
data volume.
7. System Models
1. Use Case Diagram:
o Illustrates interactions between users and the system.
8. Constraints
The system must be developed within a budget of $500,000.
The system must comply with relevant industry regulations and standards.
10. Glossary
SRS: Software Requirements Specification.
11. References
IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements
Specifications.
This SRS document provides a comprehensive overview of the requirements for the software
system. It serves as a foundation for the design, development, and testing phases of the
project.
1. (Ii).Draw E-R Diagrams DFD, CFD and structured charts for the project
An ERD represents the data model of the system, showing entities, attributes, and
relationships.
o Role
Attributes: RoleID (PK), RoleName
o Permission
Attributes: PermissionID (PK), PermissionName
o UserRole
Attributes: UserID (FK), RoleID (FK)
o RolePermission
Attributes: RoleID (FK), PermissionID (FK)
Relationships:
o A User can have one or more Roles (Many-to-Many relationship via UserRole).
ERD Structure:
[User] ----(has)---- [UserRole] ----(belongs to)---- [Role]
[Role] ----(has)---- [RolePermission] ----(belongs to)---- [Permission]
A DFD shows how data flows through the system. It includes processes, data stores, external
entities, and data flows.
o Data Stores:
User Database: Stores user details.
o Data Flows:
User credentials → Authenticate User → User Database.
DFD Structure:
[User] --> (Authenticate User) --> [User Database]
[Admin] --> (Manage Roles) --> [Role Database]
[Admin] --> (Manage Permissions) --> [Permission Database]
A CFD represents the flow of control between processes or modules in the system.
CFD Structure:
[Login] --> [Validate Credentials] --> [Check Role] --> [Grant Access]
4. Structured Chart
Revoke Role
Revoke Permission
4. Reporting Module
Generate User Report
Summary:
DFD: Focuses on data flow between processes, data stores, and external entities.