Workshop: Test Planning & Design (Social
Media Login)
Objective: In this workshop, you will practice the roles of a software tester and a test manager.
Your goal is to apply the concepts of test planning and test case design to a real-world scenario
based on the lecture slides.
You will learn to:
• Think strategically about what to test and why.
• Create a high-level test plan based on the example in Slide 59.
• Design specific, actionable test cases for different testing types (functional, usability,
security, etc.).
• Derive tests directly from a "Use Case" document (from Slide 62).
Your Scenario: The "Social Media Login" Use Case
Your team is responsible for testing the login functionality of a new social media app. Review
the following use case from slide 62 carefully.
• Use Case: Logging into a Social Media Application
• Actor: User
• Precondition: The user has already installed the social media application on their device.
• Basic Flow:
1. The user opens the social media application.
2. The application presents the login screen.
3. The user enters their username and password and clicks on the "Log In" button.
4. The application verifies the user's credentials and logs them into their account.
5. The application presents the user's home screen.
• Alternate Flows:
o A1: If the user enters an incorrect username or password, the application displays
an error message and prompts the user to re-enter their credentials.
o A2: If the user forgets their password, they can click on the "Forgot Password"
link and enter their email address to receive a password reset link.
o A3: If the user does not have an account, they can click on the "Sign Up" button
to create a new account.
• Postcondition: The user is logged into their social media account.
Task 1: Create a High-Level Test Plan (15-20 mins)
As a group (3-4 students), first, think like Test Managers. Your job is to create a strategy.
Instructions: Based on the test plan template from Slide 59, fill out the table below. You don't
need to write individual test cases yet, just plan the types of testing you will do. For "Test types,"
use terms from the slides (e.g., Black-box). For "Test metric," think about what defines success
(e.g., "Requirement coverage," "Response time < 2s").
Number of
Test
Type of tests Description tests Test data Test metric
types
(Estimate)
Testing the Basic and Usernames,
e.g., e.g.,
Functional Alternate flows of the Passwords
e.g., ~10-15 Black- Requirement
Test use case (A1, A2, (valid/invalid),
box coverage
A3). Email addresses
(Fill this in: What's
the goal? Is the error
Usability Test
message clear? Is the
flow intuitive?)
(Fill this in: What's
the goal? e.g., Test
Security Test
for SQL injection,
password handling.)
(Fill this in: What's
the goal? e.g., How
Performance
long does login take?
Test
What about under
load?)
(Fill this in: What's
the goal? e.g., Does
Compatibility
login work on
Test
different devices/OS
versions?)
Task 2: Write Detailed Test Cases (25-30 mins)
Now, think like Testers. Your job is to write the specific steps to find bugs, as outlined on Slide
63.
Instructions: Your group must create at least 10 detailed test cases that cover the plan you
made in Task 1. You must have at least one test case for each of the following types:
• Functional (Basic Flow)
• Functional (Alternate Flow A1)
• Functional (Alternate Flow A2 or A3)
• Usability
• Security
• Performance
• Compatibility
Use the test case template (from Slide 53) below for your answers.
Test Case Template (Copy for each test case)
Test case ID (e.g., TC-FUNC-001)
Test Type (e.g., Functional)
Test
(e.g., "A user enters a valid username and valid password.")
description
Related screens (e.g., "Login Screen, Home Screen")
Pre-conditions (e.g., "User is on the Login Screen. User has a valid account.")
(e.g., 1. Enter 'ValidUser' in username field. 2. Enter 'ValidPass123' in
Actions
password field. 3. Click 'Log In' button.)
Inputs (e.g., "Username: ValidUser, Password: ValidPass123")
Expected
(e.g., "User is successfully logged in. Home Screen is displayed.")
Outputs
�Challenge
Think about Equivalence Partitioning and Boundary Value Analysis for the "password" field.
Assume the password requirements are:
• Must be between 8 and 16 characters.
• Must contain at least one number.
Write 2-3 new Functional Test cases specifically to test these boundaries. (e.g., What happens
with 7 characters? 8 characters? 16 characters? 17 characters? A password with no number?)
Discussion
• Which test case do you think is the most important? Why?
• How did you test the "Forgot Password" (A2) flow? What makes it more complicated to
test than the "Basic Flow"?
• What test data did you create for the password boundaries?