0% found this document useful (0 votes)
50 views91 pages

2-Week Junior SQA Prep Course Guide

The document outlines a comprehensive 2-week preparation course for aspiring Junior SQA professionals in Bangladesh, focusing on foundational concepts, practical skills, and job readiness. It includes daily schedules, hands-on projects, and essential resources to learn software quality assurance, testing techniques, and tools like Jira and Selenium. The course culminates in resume building, interview preparation, and job application strategies to enhance employability in the IT sector.

Uploaded by

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

2-Week Junior SQA Prep Course Guide

The document outlines a comprehensive 2-week preparation course for aspiring Junior SQA professionals in Bangladesh, focusing on foundational concepts, practical skills, and job readiness. It includes daily schedules, hands-on projects, and essential resources to learn software quality assurance, testing techniques, and tools like Jira and Selenium. The course culminates in resume building, interview preparation, and job application strategies to enhance employability in the IT sector.

Uploaded by

John Wick
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Your 2-Week Junior SQA Job Preparation

Course
I'll be your guide through this journey! Let's create a focused, practical plan to prepare you for
Junior SQA roles in Bangladesh's IT sector within 2 weeks.

Week 1: Foundation & Core Concepts


Days 1-2: Understanding SQA Fundamentals

Morning (3-4 hours):

• What is Software Quality Assurance vs Quality Control vs Testing


• Software Development Life Cycle (SDLC) models: Waterfall, Agile, Scrum
• Software Testing Life Cycle (STLC)
• Types of testing: Functional, Non-functional, Manual, Automation

Afternoon (3-4 hours):

• Study test case writing techniques


• Practice writing 10-15 test cases for simple applications (calculator, login form,
registration page)

Resources:

• [Link] (Software Testing section)


• Software Testing Help website
• YouTube: "Software Testing Tutorial for Beginners" by Edureka

Daily Task: Create a document with 20 test cases for a Facebook login page

Days 3-4: Test Case Design & Bug Reporting

Morning:

• Black box testing techniques: Equivalence Partitioning, Boundary Value Analysis,


Decision Table
• Test scenario vs test case differences
• Writing effective bug reports

Afternoon:

• Practice creating test scenarios for e-commerce websites


• Learn bug tracking tools basics: Jira, Bugzilla concepts
• Bug life cycle and severity vs priority

Practice Project: Find bugs on any website and document them professionally

Days 5-7: Hands-on Testing & Documentation

Morning:

• Explore free testing tools: Selenium IDE basics, Postman for API testing
• Introduction to SQL for testers (basic SELECT, WHERE, JOIN queries)
• Understanding requirements and creating RTM (Requirements Traceability Matrix)

Afternoon:

• Test a real website (choose: [Link], [Link], or any Bangladesh-based site)


• Document everything: test plan outline, test cases, bugs found
• Create your first testing portfolio document

Weekend Task: Complete a full testing cycle on one mobile app

Week 2: Advanced Skills & Job Preparation


Days 8-9: Agile & Tools

Morning:

• Agile methodology and Scrum framework


• Role of QA in Agile teams
• Learn Jira: Create free account, practice creating issues, test cases
• Introduction to Git/GitHub basics

Afternoon:

• API testing basics with Postman (install and practice)


• Mobile testing fundamentals (Android/iOS differences)
• Regression testing concepts

Practice: Test a public API using Postman and document results

Days 10-11: Automation Basics & Resume Building

Morning:

• Selenium WebDriver introduction (choose Java or Python)


• Write 2-3 simple automated test scripts
• Understanding automation frameworks basics

Afternoon:

• Build your SQA resume (I'll help you)


• Create LinkedIn profile optimized for SQA roles
• Prepare your testing portfolio with all projects from past 10 days

Deliverable: Professional resume + LinkedIn profile + Portfolio document

Days 12-13: Interview Preparation

Morning:

• Study common SQA interview questions (50+ questions)


• Prepare answers for behavioral questions
• Practice explaining your test cases and bug reports

Afternoon:

• Mock interviews (practice with friends or record yourself)


• Prepare questions to ask interviewers
• Research top IT companies in Bangladesh hiring SQA

Task: Practice answering 20 technical + 10 behavioral questions daily

Day 14: Final Polish & Job Applications

All Day:

• Review all concepts learned


• Polish resume and portfolio
• Start applying to jobs on:
o [Link]
o LinkedIn
o [Link]
o Company websites directly (Leads Corporation, Brain Station 23, Optimizely,
etc.)
• Send at least 10 applications

Daily Schedule Recommendation


9:00 AM - 12:30 PM: Study new concepts (3.5 hours) 12:30 PM - 2:00 PM: Break & lunch
2:00 PM - 5:30 PM: Practical exercises (3.5 hours) 5:30 PM - 6:30 PM: Review & document
learnings 7:00 PM - 8:00 PM: Optional reading or practice

Total study time: 7-8 hours/day

Key Resources for Self-Learning


1. Guru99 - Complete software testing course
2. Software Testing Help - Articles and tutorials
3. YouTube Channels: Edureka, Software Testing Mentor, QA FoxTV
4. Practice Sites:
o [Link]
o [Link]
o [Link]

Your Portfolio Projects (Complete These)


1. Test documentation for an e-commerce website
2. Bug report collection (minimum 15 detailed bugs)
3. Test cases repository (minimum 50 test cases across different applications)
4. One simple automation script in Selenium
5. API testing collection in Postman

Essential Skills Checklist


By end of 2 weeks, you should know:

• [ ] Write clear test cases


• [ ] Report bugs professionally
• [ ] Understand SDLC and STLC
• [ ] Basic SQL queries
• [ ] Jira navigation
• [ ] Agile/Scrum basics
• [ ] API testing with Postman
• [ ] Basic Selenium concepts
• [ ] Mobile testing awareness

I'm here to help you every step of the way!

Start with Day 1 tomorrow, and update me on your progress. I can:

• Answer your questions as you learn


• Review your test cases and bug reports
• Help improve your resume
• Conduct mock interviews
• Clarify any confusing concepts

Are you ready to begin? Do you have any questions about the plan, or should we start with
understanding what to focus on for Day 1?

Day 1: Understanding SQA Fundamentals -


Let's Begin! �
Great! Let's dive into your first day. I'll break this down into manageable chunks.

Morning Session (9:00 AM - 12:30 PM)


Part 1: What is Software Quality Assurance? (60 minutes)

Let me explain the core concepts:

Software Quality Assurance (SQA) is about preventing defects in software by ensuring quality
processes are followed throughout development.

Key Differences You Must Understand:

1. Quality Assurance (QA) - Process-oriented, prevents defects


o Example: Following proper coding standards, conducting code reviews
2. Quality Control (QC) - Product-oriented, finds defects
o Example: Testing the software to find bugs
3. Testing - A subset of QC, executing software to find defects
o Example: Checking if login works correctly

Think of it this way:

• QA = Making sure the chef follows the recipe correctly


• QC = Tasting the food before serving
• Testing = Checking temperature, taste, presentation
Your First Task (20 minutes): Write in your own words:

• What does a Junior SQA Engineer do daily?


• Why is testing important for software companies?

Part 2: Software Development Life Cycle - SDLC (60 minutes)

SDLC Models You Need to Know:

1. Waterfall Model (Linear approach)

Requirements → Design → Development → Testing → Deployment → Maintenance

• Each phase completed before next begins


• Used in: Banking systems, government projects

2. Agile Model (Iterative approach)

Sprint 1: Plan → Develop → Test → Review


Sprint 2: Plan → Develop → Test → Review
(Repeats every 2-4 weeks)

• Most IT companies in Bangladesh use this


• Continuous testing throughout

3. Scrum (Type of Agile)

• Daily standup meetings (15 min)


• Sprint planning, Sprint review, Retrospective
• You'll work in Scrum teams

Watch this now (30 minutes): Go to YouTube and search: "SDLC in Software Testing
Tutorial" by Guru99 Take notes on each SDLC phase.

Part 3: Software Testing Life Cycle - STLC (60 minutes)

The 6 Phases of STLC:

1. Requirement Analysis
o Understand what to test
o Identify testable requirements
2. Test Planning
o Create test strategy
o Estimate effort and resources
3. Test Case Development
o Write detailed test cases
o Prepare test data
4. Test Environment Setup
o Configure testing environment
o Install necessary tools
5. Test Execution
o Run test cases
o Log defects found
6. Test Closure
o Complete test reports
o Lessons learned

Your Task (30 minutes): Read this article: Search "Software Testing Life Cycle STLC" on
[Link] Create a simple chart showing all 6 phases.

Part 4: Types of Testing (70 minutes)

Major Categories:

1. Functional Testing (Does it work?)

• Unit Testing - Individual components


• Integration Testing - Components working together
• System Testing - Complete system
• User Acceptance Testing (UAT) - Customer validation

2. Non-Functional Testing (How well does it work?)

• Performance Testing - Speed, load handling


• Security Testing - Vulnerabilities
• Usability Testing - User-friendliness

3. Manual vs Automation Testing

• Manual: Human tester executes test cases


• Automation: Scripts execute test cases

As a Junior SQA, you'll start with Manual Functional Testing.

Your Task (30 minutes): Search YouTube: "Types of Software Testing" by Software Testing
Mentor List 10 types of testing with one-line definitions.
� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 5: Introduction to Test Cases (90 minutes)

What is a Test Case? A test case is a set of conditions to verify if a software feature works
correctly.

Standard Test Case Format:

Field Description
Test Case ID TC_001
Test Scenario Verify login functionality
Test Case
User login with valid credentials
Description
Pre-conditions User is registered
1. Open application<br>2. Enter username<br>3. Enter password<br>4.
Test Steps
Click Login
Test Data Username: test@[Link]<br>Password: Test@123
Expected Result User successfully logs in
Actual Result (Fill after execution)
Status Pass/Fail

Example Test Case for Gmail Login:

TC_001: Login with valid credentials

Pre-conditions: User has a Gmail account

Steps:
1. Navigate to [Link]
2. Enter valid email address
3. Click "Next"
4. Enter valid password
5. Click "Next"

Expected Result: User is logged into Gmail inbox

Test Data:
Email: testuser@[Link]
Password: ValidPass@123
Part 6: Hands-On Practice (150 minutes)

Your Main Assignment: Write Test Cases for Facebook Login

I want you to create 20 test cases covering:

Positive Test Cases (Things that should work):

1. Login with valid email and password


2. Login with valid phone number and password
3. Login and check "Keep me logged in"
4. Use "Forgot Password" feature
5. Login after password reset

Negative Test Cases (Things that should fail gracefully): 6. Login with invalid email 7. Login
with invalid password 8. Login with empty email field 9. Login with empty password field 10.
Login with special characters in email 11. Login with SQL injection attempt 12. Login with very
long password (500 characters) 13. Login with correct email but wrong case password 14. Login
with unregistered email 15. Login after account is locked (multiple wrong attempts)

Boundary & Edge Cases: 16. Login with minimum length password 17. Login with maximum
length password 18. Login with email at maximum allowed length 19. Check password masking
(hidden characters) 20. Check browser back button after logout

Template for You to Use:

Test Case ID: TC_FB_001


Module: Login
Title: Verify login with valid email and password

Pre-conditions:
- User has active Facebook account
- Browser is opened

Test Steps:
1. Navigate to [Link]
2. Enter valid email in email field
3. Enter valid password in password field
4. Click "Log In" button

Test Data:
Email: yourtest@[Link]
Password: TestPass@123

Expected Result:
- User is redirected to Facebook News Feed
- User's name appears in top right corner
Priority: High
Type: Functional, Positive

Create all 20 test cases in this format!

Evening Review (5:30 PM - 6:30 PM)


Your Checklist for Today:

• [ ] Understood difference between QA, QC, and Testing


• [ ] Learned SDLC models (Waterfall, Agile, Scrum)
• [ ] Understood all 6 phases of STLC
• [ ] Listed 10 types of testing
• [ ] Learned test case structure
• [ ] Created 20 test cases for Facebook login

Homework for Tonight (Optional - 7:00 PM - 8:00 PM)


1. Read this article: Search "How to Write Test Cases" on Software Testing Help
2. Watch: "Test Case Writing Best Practices" on YouTube
3. Review your 20 test cases and improve them

� Share Your Progress With Me


Once you complete today's work, share with me:

1. Your 20 test cases (just copy-paste 3-4 examples)


2. Any concepts you found confusing
3. Questions you have

Tomorrow (Day 2), we'll cover:

• Test case design techniques


• Bug reporting
• More advanced test case writing

Remember: Don't rush! Quality > Quantity. Take breaks every 60-90 minutes.
Are you starting now? Do you have any questions before you begin Day 1?

Let me know when you've completed the morning session, and I'll check in on your progress!

Day 2: Test Case Design Techniques & Bug


Reporting �
Welcome to Day 2! Today you'll learn professional techniques to write better test cases and how
to report bugs like a pro.

Morning Session (9:00 AM - 12:30 PM)


Part 1: Black Box Testing Techniques (90 minutes)

These techniques help you create comprehensive test cases without knowing the internal code.

1. Equivalence Partitioning (EP)

Concept: Divide input data into groups (partitions) where all values behave similarly.

Example: Age field (Valid age: 18-60)

Partitions:

• Invalid partition 1: Age < 18 (e.g., 10, 15, 17)


• Valid partition: Age 18-60 (e.g., 25, 40, 55)
• Invalid partition 2: Age > 60 (e.g., 65, 75, 90)

Instead of testing 100 values, test one value from each partition (3 test cases instead of 100!)

Practice Example: Discount Coupon Code

• Rule: Code must be 6 alphanumeric characters

Partitions:

• Less than 6 characters: "AB12" �


• Exactly 6 characters: "ABC123" �
• More than 6 characters: "ABCD1234" �
• Special characters: "AB@#12" �

2. Boundary Value Analysis (BVA)

Concept: Errors often occur at boundaries. Test values at edges of partitions.

Example: Price field (Valid: 100-1000 Taka)

Test these boundary values:

• Just below minimum: 99 �


• Minimum: 100 �
• Just above minimum: 101 �
• Mid value: 550 �
• Just below maximum: 999 �
• Maximum: 1000 �
• Just above maximum: 1001 �

Formula: For range [min-max], test:

• min-1, min, min+1


• max-1, max, max+1

Real Example: Password Length (8-20 characters)

BVA Test Cases:

TC_001: Password with 7 characters (Boundary - Invalid)


Test Data: "Test@12"
Expected: Error message "Password must be 8-20 characters"

TC_002: Password with 8 characters (Boundary - Valid)


Test Data: "Test@123"
Expected: Password accepted

TC_003: Password with 9 characters (Just above minimum)


Test Data: "Test@1234"
Expected: Password accepted

TC_004: Password with 19 characters (Just below maximum)


Test Data: "Test@123456789012"
Expected: Password accepted

TC_005: Password with 20 characters (Boundary - Valid)


Test Data: "Test@1234567890123"
Expected: Password accepted
TC_006: Password with 21 characters (Boundary - Invalid)
Test Data: "Test@12345678901234"
Expected: Error message "Password must be 8-20 characters"

3. Decision Table Testing

Concept: When multiple conditions affect the outcome, create a table.

Example: Login Functionality

Condition Test 1 Test 2 Test 3 Test 4


Valid
Yes Yes No No
Username
Valid
Yes No Yes No
Password
Login Error: Wrong Error: Wrong Error: Invalid
Result
Success Password Username Credentials

Practice Example: E-commerce Shipping Cost

Conditions:

• Order value > 1000 Taka = Free shipping


• Customer is Premium member = 50 Taka discount
• Location is Dhaka = Standard shipping

Create a decision table with all combinations!

Part 2: Test Scenario vs Test Case (45 minutes)

Test Scenario: High-level functionality to test (WHAT to test) Test Case: Detailed steps to test
(HOW to test)

Example:

Test Scenario: Verify user registration functionality

Test Cases under this scenario:

1. TC_001: Register with valid data


2. TC_002: Register with existing email
3. TC_003: Register with weak password
4. TC_004: Register without accepting terms
5. TC_005: Register with invalid phone number

Your Task (20 minutes): For "E-commerce Cart Functionality", write:

• 5 test scenarios
• 3 test cases for each scenario (15 total)

Part 3: Understanding Bug Life Cycle (45 minutes)

Bug Life Cycle Stages:

1. NEW → Bug is reported


2. ASSIGNED → Given to developer
3. OPEN → Developer starts working
4. FIXED → Developer fixes the bug
5. RETEST → Tester retests
6. VERIFIED → Bug is confirmed fixed
7. CLOSED → Bug is closed

Alternative paths:
- REJECTED → Not a valid bug
- DEFERRED → Will fix in future release
- REOPENED → Bug still exists after fix

Bug Severity vs Priority:

Severity (How bad is the impact?)

• Critical: Application crashes, data loss


• Major: Major functionality broken
• Minor: Small feature doesn't work
• Trivial: UI issues, typos

Priority (How soon to fix?)

• P1: Fix immediately


• P2: Fix in current release
• P3: Fix in next release
• P4: Fix if time permits

Examples:

Bug Severity Priority Why?


Banking app crashes on money transfer Critical P1 Affects core functionality
Logo image not loading Trivial P1 CEO demo tomorrow!
Bug Severity Priority Why?
Spelling mistake in About page Trivial P4 Doesn't affect functionality
Search doesn't work Major P2 Important but has workaround

� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 4: Writing Effective Bug Reports (90 minutes)

A good bug report should be:

• Clear: Anyone can understand


• Concise: No unnecessary information
• Complete: All details included
• Reproducible: Can be replicated

Standard Bug Report Template:

Bug ID: BUG_001


Summary: Unable to login with valid credentials

Severity: Major
Priority: P1
Status: New
Reported By: [Your Name]
Assigned To: Development Team
Environment: Windows 10, Chrome 120, Production

Steps to Reproduce:
1. Navigate to [Link]/login
2. Enter email: test@[Link]
3. Enter password: Test@123
4. Click "Login" button

Expected Result:
User should be logged in and redirected to dashboard

Actual Result:
Error message displayed: "Invalid credentials"
User remains on login page

Reproducibility: Always (10/10 attempts)

Attachments:
- Screenshot: login_error.png
- Console log: console_output.txt

Additional Information:
- Issue started after today's deployment
- Same credentials work on staging environment
- Affects all users

Part 5: Hands-On Bug Hunting & Reporting (120 minutes)

Your Major Assignment for Today:

Test any Bangladesh-based website and find real bugs!

Recommended websites to test:

1. [Link]
2. [Link]
3. [Link]
4. [Link]
5. Any local e-commerce site

What to look for:

Functional Issues:

• Broken links
• Forms not submitting
• Search not working
• Filters not applying
• Images not loading
• Payment flow issues

UI/UX Issues:

• Text overlapping
• Buttons not aligned
• Responsive design issues (test on mobile view)
• Inconsistent fonts/colors
• Missing labels

Validation Issues:

• Accepting invalid email formats


• No field length restrictions
• Special characters allowed where they shouldn't be
• Missing required field validations
Your Task: Report 15 Bugs Professionally

Format each bug like this:

BUG #1
=====
Title: Search button not working on mobile view

Severity: Major
Priority: P2

Steps to Reproduce:
1. Open [Link] on mobile browser (Chrome Android)
2. Click on search icon in header
3. Enter "mobile phone" in search field
4. Click search button

Expected: Search results page should display


Actual: Nothing happens, button appears unresponsive

Environment:
- Device: Android 12
- Browser: Chrome Mobile 120
- Screen size: 360x780

Screenshot: [Describe what you see]

Create 15 bugs covering:

• 5 Functional bugs
• 5 UI/UX bugs
• 5 Validation bugs

Part 6: Practice - E-commerce Test Cases (60 minutes)

Scenario: Test "Add to Cart" functionality

Write 10 detailed test cases using the techniques you learned today:

Use these techniques:

• Equivalence Partitioning (for quantity input)


• Boundary Value Analysis (min/max quantity)
• Decision Table (product in stock, user logged in)

Example to get you started:


TC_CART_001
Title: Add product to cart with minimum quantity using BVA

Pre-conditions:
- User is logged in
- Product "Samsung Galaxy A54" is in stock (50 units available)
- Minimum order quantity: 1
- Maximum order quantity: 10

Test Steps:
1. Navigate to product page
2. Enter quantity: 1 (minimum boundary)
3. Click "Add to Cart" button
4. Navigate to cart page

Test Data:
Product: Samsung Galaxy A54
Price: 42,000 BDT
Quantity: 1

Expected Result:
- Product added to cart successfully
- Cart shows: 1 item
- Subtotal: 42,000 BDT
- Success message: "Product added to cart"

Technique Used: Boundary Value Analysis


Type: Positive Test Case

Now create 9 more test cases:

• Test with quantity = 0 (below minimum)


• Test with quantity = 10 (maximum boundary)
• Test with quantity = 11 (above maximum)
• Test adding out-of-stock product
• Test adding without login
• Test adding same product twice
• And more...

Evening Review (5:30 PM - 6:30 PM)


Your Checklist for Day 2:

• [ ] Understood Equivalence Partitioning


• [ ] Practiced Boundary Value Analysis
• [ ] Created Decision Tables
• [ ] Learned difference between Test Scenario and Test Case
• [ ] Understood Bug Life Cycle
• [ ] Learned Severity vs Priority
• [ ] Wrote bug reports in professional format
• [ ] Found and reported 15 real bugs from a website
• [ ] Created 10 test cases for "Add to Cart" using techniques

Homework Tonight (7:00 PM - 8:00 PM)


1. Watch: "Black Box Testing Techniques" on YouTube (Guru99 channel)
2. Read: "How to Write a Good Bug Report" on Software Testing Help website
3. Practice: Find 5 more bugs on any website and report them

� What to Share With Me


After completing Day 2, share:

1. 3 sample bug reports from the 15 you created (copy-paste here)


2. 5 test cases from the "Add to Cart" assignment
3. One decision table you created for any scenario
4. Any questions or confusing topics

Day 3 Preview
Tomorrow we'll cover:

• Requirements Traceability Matrix (RTM)


• Test Plan basics
• Introduction to SQL for testers
• Your first complete testing project documentation

How are you feeling about Day 2? Are you ready to start, or do you have questions about
anything from today's plan?

Once you finish the morning session, check back with me and I'll guide you through the
afternoon!
Day 3: Test Documentation & SQL for
Testers �
Welcome to Day 3! Today you'll learn how to create professional test documentation and
essential SQL skills that every SQA engineer needs.

Morning Session (9:00 AM - 12:30 PM)


Part 1: Requirements Traceability Matrix - RTM (75 minutes)

What is RTM? A document that maps requirements to test cases, ensuring complete test
coverage and tracking.

Why is it important?

• Ensures all requirements are tested


• Tracks testing progress
• Helps in impact analysis when requirements change
• Mandatory in most IT companies

RTM Format:

Requirement Requirement Test Case


Test Case ID Status Remarks
ID Description Description
Verify login with
User login with
REQ_001 TC_LOGIN_001 valid email & Pass -
valid credentials
password
Verify login with
User login with
REQ_001 TC_LOGIN_002 valid phone & Pass -
valid credentials
password
Password must be Verify password
REQ_002 TC_PWD_001 Fail Bug_045
8-20 characters with 7 characters
Password must be Verify password
REQ_002 TC_PWD_002 Pass -
8-20 characters with 8 characters
User can reset Verify forgot Not
REQ_003 TC_RESET_001 Pending
password password flow Executed

Real Example: E-commerce Checkout

PROJECT: Daraz Checkout Module


RTM Version: 1.0
Created By: [Your Name]
Date: 18-Jan-2026

Requirements:
REQ_CHK_001: User must select delivery address
REQ_CHK_002: User can apply discount coupon
REQ_CHK_003: Payment options: bKash, Card, COD
REQ_CHK_004: Order confirmation email sent after payment
Req ID Requirement Test Cases Coverage Priority
Select delivery TC_CHK_001, TC_CHK_002,
REQ_CHK_001 100% High
address TC_CHK_003
Apply discount
REQ_CHK_002 TC_CHK_004, TC_CHK_005 100% Medium
coupon
TC_CHK_006, TC_CHK_007,
REQ_CHK_003 Payment options 100% High
TC_CHK_008
REQ_CHK_004 Confirmation email TC_CHK_009 100% High

Your Task (30 minutes):

Create an RTM for Facebook Registration with these requirements:

Requirements:
1. User must provide first name and last name
2. Email or phone number is required
3. Password must be minimum 8 characters
4. User must select date of birth
5. User must select gender
6. User must be at least 13 years old
7. Terms and conditions must be accepted

Create:

• At least 15 test cases covering all requirements


• Complete RTM mapping all requirements to test cases
• Mark coverage percentage for each requirement

Part 2: Test Plan Document (60 minutes)

What is a Test Plan? A comprehensive document outlining the testing strategy, scope,
resources, and schedule.

Test Plan Components:

1. TEST PLAN IDENTIFIER


Document ID: TP_ECOM_2026_001
Version: 1.0

2. INTRODUCTION
Purpose of this test plan
Project background

3. SCOPE
In Scope:
- User registration and login
- Product search and filters
- Add to cart functionality
- Checkout process

Out of Scope:
- Admin panel
- Payment gateway (third-party)
- Email server

4. TEST STRATEGY
Types of Testing:
- Functional Testing
- UI/UX Testing
- Compatibility Testing (Chrome, Firefox, Safari)
- Responsive Testing (Mobile, Tablet, Desktop)

Testing Approach:
- Manual testing for Phase 1
- Automation for regression (future)

5. TEST ENVIRONMENT
- OS: Windows 10, macOS, Android, iOS
- Browsers: Chrome 120+, Firefox 115+, Safari 17+
- Database: MySQL 8.0
- Test Server: [Link]

6. TEST SCHEDULE
Week 1: Test planning & test case creation
Week 2: Test execution - Functional testing
Week 3: Regression testing
Week 4: UAT & Bug fixes

7. RESOURCES
QA Team: 3 testers
Tools: Jira, Postman, Chrome DevTools
Test Data: Provided by development team

8. DELIVERABLES
- Test Plan document
- Test Cases (200+)
- RTM
- Test Execution Report
- Bug Reports
- Test Summary Report

9. ENTRY CRITERIA
- Requirements are finalized
- Test environment is ready
- Test data is available
- Build is deployed to staging

10. EXIT CRITERIA


- 100% test cases executed
- 95%+ test cases passed
- All critical & major bugs fixed
- Sign-off from stakeholders

11. RISKS & MITIGATION


Risk: Delay in development
Mitigation: Parallel test case creation

Risk: Incomplete requirements


Mitigation: Regular meetings with BA team

12. APPROVALS
Prepared by: QA Lead
Reviewed by: Project Manager
Approved by: Client

Your Task (30 minutes):

Create a simplified 1-page Test Plan for testing a mobile food delivery app (like Pathao Food).

Include:

• Scope (what you'll test)


• Test approach
• Test environment
• Timeline (2 weeks)
• Entry and exit criteria

Part 3: Test Summary Report (45 minutes)

What is Test Summary Report? Document created after test execution showing overall results
and metrics.

Template:

TEST SUMMARY REPORT


===================

Project: Daraz Mobile App v3.5


Test Cycle: Sprint 12
Reporting Period: 10-Jan to 17-Jan 2026
Prepared By: [Your Name]
1. EXECUTIVE SUMMARY
Testing completed for Sprint 12 features.
Overall status: 87% Pass Rate
Recommendation: Ready for UAT with minor fixes

2. TEST METRICS

Total Test Cases: 150


Executed: 145
Not Executed: 5 (Blocked due to environment issue)

Passed: 126 (87%)


Failed: 15 (10%)
Blocked: 4 (3%)

3. DEFECT SUMMARY

Total Bugs Found: 28

By Severity:
- Critical: 2
- Major: 8
- Minor: 12
- Trivial: 6

By Status:
- Fixed: 18
- Open: 7
- Deferred: 3

4. TEST COVERAGE

Modules Tested:
- Login/Registration: 100% coverage, 95% pass
- Product Search: 100% coverage, 85% pass
- Cart: 100% coverage, 90% pass
- Checkout: 80% coverage, 80% pass (pending fixes)

5. ISSUES & RISKS

Blockers:
- Payment gateway integration not working (BUG_145)

Concerns:
- Checkout module has 20% failure rate
- Need additional testing time

6. RECOMMENDATIONS

- Fix critical bug BUG_145 before UAT


- Extend testing by 2 days for checkout module
- Regression testing needed after fixes

7. SIGN-OFF

QA Lead: __________
Project Manager: __________
Date: __________

� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 4: SQL Basics for Testers (120 minutes)

Why SQL for QA?

• Verify data in database


• Check if UI actions save data correctly
• Create test data
• Validate backend calculations
• Debug issues faster

Essential SQL Commands:

1. SELECT - Retrieve Data

-- Basic SELECT
SELECT * FROM users;

-- Select specific columns


SELECT first_name, email, phone FROM users;

-- Select with condition


SELECT * FROM users WHERE country = 'Bangladesh';

-- Select with multiple conditions


SELECT * FROM users
WHERE country = 'Bangladesh' AND status = 'active';

-- Count records
SELECT COUNT(*) FROM users;

-- Distinct values
SELECT DISTINCT city FROM users;

Testing Example:

-- Verify user registration saved correctly


SELECT * FROM users WHERE email = 'test@[Link]';

-- Expected: 1 record with correct details


2. WHERE Clause - Filter Data

-- Operators: =, !=, >, <, >=, <=

-- Greater than
SELECT * FROM orders WHERE total_amount > 5000;

-- Not equal
SELECT * FROM products WHERE status != 'deleted';

-- LIKE - Pattern matching


SELECT * FROM users WHERE email LIKE '%@[Link]';

-- IN - Multiple values
SELECT * FROM orders WHERE payment_method IN ('bKash', 'Nagad', 'Rocket');

-- BETWEEN - Range
SELECT * FROM orders
WHERE order_date BETWEEN '2026-01-01' AND '2026-01-18';

-- IS NULL / IS NOT NULL


SELECT * FROM users WHERE phone IS NULL;

Testing Scenarios:

-- Test Case: Verify discount applied correctly


SELECT order_id, original_price, discount, final_price
FROM orders
WHERE discount > 0;
-- Manually verify: final_price = original_price - discount

-- Test Case: Find duplicate emails


SELECT email, COUNT(*)
FROM users
GROUP BY email
HAVING COUNT(*) > 1;
-- Expected: 0 records (no duplicates allowed)

3. JOIN - Combine Tables

-- INNER JOIN - Records that exist in both tables


SELECT
orders.order_id,
users.first_name,
[Link],
orders.total_amount
FROM orders
INNER JOIN users ON orders.user_id = users.user_id;

-- LEFT JOIN - All records from left table


SELECT
users.user_id,
users.first_name,
orders.order_id
FROM users
LEFT JOIN orders ON users.user_id = orders.user_id;
-- Shows users even if they have no orders

Testing Example:

-- Verify order belongs to correct user


SELECT
o.order_id,
o.total_amount,
[Link],
u.first_name
FROM orders o
INNER JOIN users u ON o.user_id = u.user_id
WHERE o.order_id = 'ORD_12345';

4. INSERT, UPDATE, DELETE - Modify Data

-- INSERT - Add test data


INSERT INTO users (first_name, last_name, email, phone, country)
VALUES ('Test', 'User', 'testuser@[Link]', '01712345678', 'Bangladesh');

-- UPDATE - Modify existing data


UPDATE users
SET status = 'inactive'
WHERE user_id = 123;

-- DELETE - Remove data (BE CAREFUL!)


DELETE FROM test_users WHERE email LIKE '%test%';

� Important for Testers:

• Always use WHERE clause with UPDATE/DELETE


• Test on TEST DATABASE only, never production
• Take backup before deleting

5. Common Testing Queries

-- 1. Verify user login attempt logged


SELECT * FROM login_logs
WHERE email = 'test@[Link]'
ORDER BY login_time DESC
LIMIT 1;

-- 2. Check product inventory after purchase


SELECT product_id, product_name, stock_quantity
FROM products
WHERE product_id = 'PROD_001';

-- 3. Verify total order amount calculation


SELECT
order_id,
SUM(quantity * unit_price) as calculated_total,
total_amount as stored_total
FROM order_items
WHERE order_id = 'ORD_001'
GROUP BY order_id, total_amount;

-- 4. Find orders without payment


SELECT o.order_id, o.total_amount, [Link]
FROM orders o
LEFT JOIN payments p ON o.order_id = p.order_id
WHERE p.payment_id IS NULL AND [Link] = 'completed';

-- 5. Get user's last 5 orders


SELECT order_id, order_date, total_amount, status
FROM orders
WHERE user_id = 456
ORDER BY order_date DESC
LIMIT 5;

Part 5: Hands-On SQL Practice (90 minutes)

Setup Practice Environment:

1. Option 1: Use online SQL playground


o Go to: [Link] or [Link]
o Choose MySQL
2. Option 2: Install SQLite Browser (recommended)
o Download: [Link]
o Free, lightweight, offline

Practice Database Schema:

-- Create practice tables

CREATE TABLE users (


user_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(100),
phone VARCHAR(15),
city VARCHAR(50),
registration_date DATE,
status VARCHAR(20)
);
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(100),
category VARCHAR(50),
price DECIMAL(10,2),
stock_quantity INT,
status VARCHAR(20)
);

CREATE TABLE orders (


order_id INT PRIMARY KEY,
user_id INT,
order_date DATE,
total_amount DECIMAL(10,2),
payment_method VARCHAR(50),
status VARCHAR(20)
);

-- Insert sample data


INSERT INTO users VALUES
(1, 'Rahim', 'Ahmed', 'rahim@[Link]', '01712345678', 'Dhaka', '2025-12-01',
'active'),
(2, 'Fatima', 'Khan', 'fatima@[Link]', '01812345678', 'Chittagong', '2025-
12-15', 'active'),
(3, 'Karim', 'Islam', 'karim@[Link]', '01912345678', 'Dhaka', '2026-01-05',
'inactive');

INSERT INTO products VALUES


(101, 'Samsung Galaxy A54', 'Mobile', 42000.00, 50, 'active'),
(102, 'iPhone 15', 'Mobile', 125000.00, 20, 'active'),
(103, 'Dell Laptop', 'Computer', 65000.00, 0, 'out_of_stock');

INSERT INTO orders VALUES


(1001, 1, '2026-01-10', 42000.00, 'bKash', 'completed'),
(1002, 2, '2026-01-15', 125000.00, 'Card', 'completed'),
(1003, 1, '2026-01-17', 65000.00, 'COD', 'pending');

Your SQL Practice Assignments (Complete 20 queries):

Basic Queries (1-5):

-- 1. Select all users from Dhaka

-- 2. Count total active users

-- 3. Find all products under 50000 Taka

-- 4. List all orders placed using bKash

-- 5. Find users registered in January 2026

Intermediate Queries (6-12):


-- 6. Find total sales amount for each payment method

-- 7. List products that are out of stock

-- 8. Find users who haven't placed any orders

-- 9. Get average order amount

-- 10. Find duplicate phone numbers

-- 11. List orders with amount greater than 50000

-- 12. Count orders by status

Advanced Queries (13-20):

-- 13. Join users and orders, show user name with their orders

-- 14. Find users who ordered more than once

-- 15. Calculate total revenue by city

-- 16. Find most expensive product in each category

-- 17. List users with their total spending

-- 18. Find products never ordered

-- 19. Get monthly order count for 2026

-- 20. Identify users with pending orders

Evening Review (5:30 PM - 6:30 PM)


Your Checklist for Day 3:

• [ ] Created RTM for Facebook Registration


• [ ] Wrote a simplified Test Plan
• [ ] Understood Test Summary Report format
• [ ] Learned basic SQL: SELECT, WHERE, JOIN
• [ ] Practiced 20 SQL queries
• [ ] Can verify test results using SQL

Homework Tonight (7:00 PM - 8:00 PM)


1. Watch: "SQL for Testers" on YouTube (Software Testing Mentor)
2. Practice: Write 10 more SQL queries for different scenarios
3. Read: "Test Plan Template" on Software Testing Help website
4. Prepare: Think of a complete test project for tomorrow

� Share With Me After Day 3


1. Your RTM for Facebook Registration (screenshot or table format)
2. Your 1-page Test Plan for food delivery app
3. 5 SQL queries you wrote with results
4. Questions or topics you found difficult

Day 4 Preview
Tomorrow we'll cover:

• Your First Complete Test Project - End-to-end testing of a real application


• Introduction to Jira (Bug tracking tool)
• Test Execution and Reporting
• Building your Testing Portfolio

Great progress so far! You're already 3 days in. How do you feel about the content? Are
you practicing along or do you need me to slow down on any topic?

Ready to start Day 3? Let me know when you complete the morning session! �

Day 4: Complete Test Project & Introduction


to Jira �
Welcome to Day 4! Today you'll execute your first complete end-to-end testing project and
learn Jira, the industry-standard bug tracking tool.

Morning Session (9:00 AM - 12:30 PM)


Part 1: Your First Complete Test Project (210 minutes)
Project Overview: You will test a real website from start to finish, creating all professional
documentation.

Choose ONE of these websites:

1. [Link] (Book shopping)


2. [Link] (Food delivery)
3. [Link] (Electronics)
4. [Link] (Grocery delivery)

I'll use [Link] as an example. You can follow the same approach for your chosen site.

Step 1: Requirement Analysis (30 minutes)

Identify Key Features to Test:

For [Link]:

MODULE 1: User Registration & Login


- New user registration
- Login with email/phone
- Forgot password
- Social media login (if available)

MODULE 2: Book Search & Browse


- Search by book name
- Search by author
- Filter by category
- Filter by price range
- Sort options (price, popularity, new arrivals)

MODULE 3: Product Details


- View book details
- Check availability
- Read reviews
- Add to wishlist

MODULE 4: Shopping Cart


- Add to cart
- Update quantity
- Remove from cart
- Apply coupon code
- Calculate total

MODULE 5: Checkout & Payment


- Add delivery address
- Select payment method
- Place order
- Order confirmation
Your Task: Document all features/modules for YOUR chosen website (at least 4-5 modules)

Step 2: Create Test Plan (30 minutes)

TEST PLAN - [Link] TESTING PROJECT


=========================================

1. TEST PLAN ID: TP_ROKOMARI_2026_001


Version: 1.0
Created By: [Your Name]
Date: 18-Jan-2026

2. OBJECTIVE
To verify the functional and UI aspects of [Link] e-commerce
platform before recommending for production use.

3. SCOPE

IN SCOPE:
- User registration and login functionality
- Book search and filtering
- Shopping cart operations
- Checkout process (without actual payment)
- Responsive design testing (Desktop, Mobile)

OUT OF SCOPE:
- Payment gateway integration (third-party)
- Backend admin panel
- Email server functionality
- Performance/Load testing

4. TEST APPROACH
- Black box testing
- Manual functional testing
- Exploratory testing
- Cross-browser testing (Chrome, Firefox)
- Responsive testing (Desktop 1920x1080, Mobile 375x667)

5. TEST ENVIRONMENT
- OS: Windows 10
- Browsers: Chrome 120, Firefox 115
- Mobile: Chrome DevTools mobile emulation
- URL: [Link]
- Test Data: Self-created test accounts

6. SCHEDULE
Day 1: Test planning & test case creation (Today Morning)
Day 1: Test execution (Today Afternoon)
Day 1: Bug reporting & summary report (Today Evening)

7. DELIVERABLES
✓ Test Plan
✓ Test Cases (minimum 50)
✓ RTM
✓ Test Execution Report
✓ Bug Reports (minimum 10)
✓ Test Summary Report

8. ENTRY CRITERIA
✓ Website is accessible
✓ Test plan approved (self-review)
✓ Test cases are ready

9. EXIT CRITERIA
✓ All test cases executed
✓ All bugs documented
✓ Test summary report completed

10. RISKS
- Website may have server downtime
- Some features may require real payment (will skip)

11. ASSUMPTIONS
- Website is stable version
- No access to backend/database
- Testing as an end user

Your Task: Create a Test Plan for YOUR chosen website using this template

Step 3: Write Test Cases (60 minutes)

Create MINIMUM 50 Test Cases across all modules.

Template to use:

TEST CASE DOCUMENT


==================
Project: [Link] Testing
Module: User Registration
Created By: [Your Name]
Date: 18-Jan-2026

---------------------------------------------------

TC_REG_001: Verify user registration with valid data

Pre-conditions:
- Navigate to [Link]
- Click on "Sign In" or "Register" option

Test Steps:
1. Click on "Create New Account" or "Register"
2. Enter valid first name: "Test"
3. Enter valid last name: "User"
4. Enter valid email: "testuser12345@[Link]"
5. Enter valid phone: "01712345678"
6. Enter valid password: "Test@12345"
7. Re-enter password: "Test@12345"
8. Check "I agree to terms and conditions"
9. Click "Register" or "Sign Up" button

Expected Result:
- Registration successful
- Success message displayed: "Registration successful" or similar
- User redirected to homepage or dashboard
- User is logged in automatically

Test Data:
First Name: Test
Last Name: User
Email: testuser12345@[Link]
Phone: 01712345678
Password: Test@12345

Priority: High
Type: Functional, Positive
Technique: N/A

---------------------------------------------------

TC_REG_002: Verify registration with existing email

Pre-conditions:
- User with email "testuser12345@[Link]" already exists

Test Steps:
1. Navigate to registration page
2. Enter first name: "Another"
3. Enter last name: "User"
4. Enter existing email: "testuser12345@[Link]"
5. Enter phone: "01812345678"
6. Enter password: "Test@12345"
7. Click Register

Expected Result:
- Registration fails
- Error message: "Email already exists" or similar
- User remains on registration page

Test Data:
Email: testuser12345@[Link] (existing)

Priority: High
Type: Functional, Negative
Technique: Equivalence Partitioning

---------------------------------------------------

TC_REG_003: Verify registration with invalid email format


Test Steps:
1. Navigate to registration page
2. Enter email: "[Link]" (missing @)
3. Fill other valid details
4. Click Register

Expected Result:
- Validation error: "Please enter valid email"
- Registration blocked

Priority: Medium
Type: Functional, Negative
Technique: Equivalence Partitioning

---------------------------------------------------

Your 50 Test Cases Should Cover:

Registration (8 test cases):

• Valid registration
• Existing email
• Invalid email format
• Password mismatch
• Empty mandatory fields
• Password strength validation
• Terms & conditions unchecked
• Phone number validation

Login (7 test cases):

• Valid login with email


• Valid login with phone
• Invalid password
• Unregistered email
• Empty fields
• Remember me functionality
• Forgot password

Search (8 test cases):

• Search with valid book name


• Search with author name
• Search with invalid/non-existent book
• Search with special characters
• Empty search
• Search result pagination
• Search suggestions/autocomplete
• Case sensitivity
Filters (7 test cases):

• Filter by single category


• Filter by multiple categories
• Filter by price range
• Combine filters (category + price)
• Clear all filters
• Apply filters with no results
• Filter persistence after page refresh

Product Details (5 test cases):

• View product details


• Check product images
• Verify price display
• Check stock status
• Read customer reviews

Add to Cart (8 test cases):

• Add product with quantity = 1


• Add product with quantity > 1
• Add same product twice
• Add multiple different products
• Add out-of-stock product
• Update cart quantity
• Remove from cart
• Apply valid coupon code

Checkout (7 test cases):

• Proceed to checkout with items


• Add new delivery address
• Select existing address
• Select payment method
• View order summary
• Empty cart checkout
• Checkout without login

Your Task: Write all 50 test cases in a document (Word/Google Docs/Notepad)

Step 4: Create RTM (30 minutes)

Map your requirements to test cases:


REQUIREMENTS TRACEABILITY MATRIX
=================================
Project: [Link] Testing

Req ID | Requirement | Test Cases | Coverage


-------|-------------|------------|----------
REQ_01 | User can register with valid details | TC_REG_001, TC_REG_002,
TC_REG_003, TC_REG_004, TC_REG_005, TC_REG_006, TC_REG_007, TC_REG_008 | 100%
REQ_02 | User can login with credentials | TC_LOGIN_001, TC_LOGIN_002,
TC_LOGIN_003, TC_LOGIN_004, TC_LOGIN_005, TC_LOGIN_006, TC_LOGIN_007 | 100%
REQ_03 | User can search for books | TC_SEARCH_001 to TC_SEARCH_008 | 100%
REQ_04 | User can filter search results | TC_FILTER_001 to TC_FILTER_007 |
100%
REQ_05 | User can view product details | TC_PROD_001 to TC_PROD_005 | 100%
REQ_06 | User can add items to cart | TC_CART_001 to TC_CART_008 | 100%
REQ_07 | User can complete checkout | TC_CHECKOUT_001 to TC_CHECKOUT_007 |
100%

TOTAL REQUIREMENTS: 7
TOTAL TEST CASES: 50
OVERALL COVERAGE: 100%

Your Task: Create RTM mapping all your test cases to requirements

� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 2: Test Execution & Bug Reporting (120 minutes)

Now execute your test cases on the REAL website!

Execution Process:

1. Open your test case document


2. Go to the website
3. Execute each test case step-by-step
4. Document actual results
5. Mark status: PASS or FAIL
6. If FAIL, create a bug report

Test Execution Sheet Format:

TEST EXECUTION REPORT


=====================
Date: 18-Jan-2026
Tester: [Your Name]
Website: [Link]
Browser: Chrome 120
OS: Windows 10

Test Case ID | Description | Status | Actual Result | Bug ID | Comments


-------------|-------------|--------|---------------|--------|----------
TC_REG_001 | Register with valid data | PASS | User registered successfully |
- | Took 3 seconds
TC_REG_002 | Register with existing email | FAIL | No error shown, duplicate
created | BUG_001 | Critical bug
TC_REG_003 | Invalid email format | PASS | Error: "Invalid email" | - | Works
as expected
TC_LOGIN_001 | Login with valid email | PASS | Logged in successfully | - | -
TC_SEARCH_001 | Search valid book | FAIL | Search button not responsive on
mobile | BUG_002 | Mobile only
...

Bug Reporting:

For EVERY failed test case, create a detailed bug report:

BUG REPORT #1
=============
Bug ID: BUG_ROK_001
Title: Duplicate user registration allowed with same email

Severity: Critical
Priority: P1
Status: New
Reported By: [Your Name]
Date: 18-Jan-2026

Module: User Registration


Environment: Chrome 120, Windows 10

Steps to Reproduce:
1. Register user with email: test123@[Link]
2. Complete registration successfully
3. Logout
4. Try to register again with same email: test123@[Link]
5. Enter different name and phone
6. Click Register

Expected Result:
- System should show error: "Email already registered"
- Registration should be blocked

Actual Result:
- No error message shown
- Second registration successful
- Two accounts created with same email
Reproducibility: 5/5 times (100%)

Impact:
- Data integrity issue
- Users can create multiple accounts
- Potential for fraud/abuse

Screenshot: [Describe - Registration success page shown twice]

Suggested Fix:
- Add email uniqueness validation before registration
- Check database for existing email

Related Test Case: TC_REG_002

---------------------------------------------------

BUG REPORT #2
=============
Bug ID: BUG_ROK_002
Title: Search button unresponsive on mobile view

Severity: Major
Priority: P2
Status: New

Module: Search Functionality


Environment: Chrome DevTools Mobile Emulation (375x667)

Steps to Reproduce:
1. Open [Link] in mobile view
2. Click on search icon in header
3. Enter "Harry Potter" in search box
4. Click/tap search button

Expected Result:
- Search results page loads
- Books matching "Harry Potter" displayed

Actual Result:
- Search button doesn't respond to click
- No results shown
- User stuck on same page

Reproducibility: 10/10 times on mobile, 0/10 on desktop

Impact:
- Mobile users cannot search
- Major functionality broken for mobile traffic
- Poor user experience

Screenshot: [Mobile view with search box open]

Workaround:
- Works fine on desktop view
- Mobile users can use desktop mode
Related Test Case: TC_SEARCH_001

---------------------------------------------------

Your Task:

• Execute ALL 50 test cases


• Document results in execution sheet
• Create detailed bug reports for MINIMUM 10 bugs
• Take screenshots (describe them if you can't paste)

Part 3: Introduction to Jira (90 minutes)

What is Jira? Industry-standard project management and bug tracking tool used by 90%+ IT
companies in Bangladesh.

Setting Up Jira (Free Account):

1. Go to [Link]/software/jira
2. Click "Get it free"
3. Sign up with your email
4. Choose "Jira Software" (Free plan)
5. Create a project: "SQA Practice Project"
6. Choose template: "Kanban" or "Scrum"

Jira Key Concepts:

1. Issue Types:

• Epic: Large feature (e.g., "User Management Module")


• Story: User requirement (e.g., "As a user, I want to reset password")
• Task: Work to be done (e.g., "Write test cases for login")
• Bug: Defect found (e.g., "Login button not working")

2. Issue Status:

• To Do: Not started


• In Progress: Being worked on
• Done: Completed
• Blocked: Cannot proceed

3. Priority:
• Highest, High, Medium, Low, Lowest

4. Components:

• Login Module, Search Module, Cart Module, etc.

Creating Your First Bug in Jira:

Step-by-step:

1. Click "Create" button (top right, + icon)


2. Fill Bug Details:

Issue Type: Bug


Summary: Duplicate user registration allowed with same email

Project: SQA Practice Project


Priority: High
Component: User Registration

Description:
When attempting to register with an already existing email address,
the system does not show any validation error and allows duplicate
registration.

Steps to Reproduce:
1. Register user with email: test123@[Link]
2. Complete registration successfully
3. Logout
4. Try to register again with same email: test123@[Link]
5. Click Register

Expected Result:
Error message: "Email already registered"

Actual Result:
Registration successful, duplicate account created

Environment:
- Browser: Chrome 120
- OS: Windows 10
- URL: [Link]

Attachments:
- Screenshot_duplicate_registration.png

3. Click "Create"
Jira Workflow for Testers:

1. TESTER finds bug → Creates Bug in Jira → Status: "Open"


Priority: Set
Assign to: Developer

2. DEVELOPER receives → Status: "In Progress"


→ Fixes the bug
→ Status: "Resolved/Fixed"
→ Assign back to: Tester

3. TESTER retests → If fixed: Status: "Closed"


→ If not fixed: Status: "Reopened" → back to Developer

4. QA LEAD reviews → Status: "Verified"


→ Status: "Closed"

Your Tasks in Jira (Practice):

1. Create your Jira free account


2. Create a project: "Rokomari Testing" or your website name
3. Create 10 bugs from your bug reports:
o Use proper format
o Set priority correctly
o Add detailed steps
o Mention environment
4. Explore Jira features:
o Create a dashboard
o Generate bug report (Issue Navigator)
o Try filters
o Explore board view
5. Take screenshots of:
o Your Jira dashboard
o One bug you created
o Bug list view

Evening Review (5:30 PM - 6:30 PM)


Part 4: Create Test Summary Report (60 minutes)

Compile all your day's work into a professional report:

TEST SUMMARY REPORT


===================
Project: [Link] E-commerce Testing
Test Cycle: Functional Testing - Phase 1
Test Period: 18-January-2026
Prepared By: [Your Name]
Report Date: 18-January-2026

---------------------------------------------------

1. EXECUTIVE SUMMARY

Testing completed for core modules of [Link] e-commerce platform.


Overall testing revealed several critical and major issues that need
immediate attention before production recommendation.

Status: NOT READY FOR PRODUCTION


Recommendation: Fix critical bugs and retest

---------------------------------------------------

2. TEST METRICS

Total Test Cases Planned: 50


Total Test Cases Executed: 50
Execution Rate: 100%

PASS: 38 (76%)
FAIL: 12 (24%)
BLOCKED: 0 (0%)
NOT EXECUTED: 0 (0%)

---------------------------------------------------

3. MODULE-WISE RESULTS

| Module | Total TC | Pass | Fail | Pass % |


|--------|----------|------|------|--------|
| Registration | 8 | 6 | 2 | 75% |
| Login | 7 | 7 | 0 | 100% |
| Search | 8 | 5 | 3 | 62.5% |
| Filters | 7 | 7 | 0 | 100% |
| Product Details | 5 | 5 | 0 | 100% |
| Cart | 8 | 6 | 2 | 75% |
| Checkout | 7 | 2 | 5 | 28.6% |

---------------------------------------------------

4. DEFECT SUMMARY

Total Bugs Found: 12

By Severity:
- Critical: 3 (25%)
- Major: 5 (42%)
- Minor: 3 (25%)
- Trivial: 1 (8%)

By Priority:
- P1 (Immediate): 3
- P2 (High): 5
- P3 (Medium): 3
- P4 (Low): 1

By Module:
- Registration: 2 bugs
- Search: 3 bugs
- Cart: 2 bugs
- Checkout: 5 bugs

By Status:
- Open: 12
- Fixed: 0
- Retested: 0

---------------------------------------------------

5. CRITICAL BUGS (P1)

BUG_001: Duplicate registration with same email


- Impact: Data integrity, security risk
- Module: Registration

BUG_005: Payment page crashes when selecting COD


- Impact: Users cannot complete purchase
- Module: Checkout

BUG_008: Cart total calculation incorrect with coupon


- Impact: Wrong billing amount
- Module: Cart

---------------------------------------------------

6. TEST COVERAGE

Requirements Coverage: 100% (All 7 requirements tested)


Code Coverage: N/A (Black box testing)
Browser Coverage: Chrome (100%), Firefox (Pending)
Device Coverage: Desktop (100%), Mobile (100%)

---------------------------------------------------

7. ISSUES & BLOCKERS

Blockers:
- None

Major Concerns:
- Checkout module has 71.4% failure rate
- Critical payment-related bugs
- Search functionality poor on mobile

Environment Issues:
- Website slow during peak hours (not logged as bug)

---------------------------------------------------

8. TESTING CHALLENGES
- No access to test accounts/data
- Had to create real user accounts
- Could not test actual payment (no test cards)
- Some features required Bangladesh phone number

---------------------------------------------------

9. LESSONS LEARNED

- Need proper test data setup before execution


- Mobile testing crucial for e-commerce
- Payment module needs dedicated test environment
- Exploratory testing found more bugs than scripted

---------------------------------------------------

10. RECOMMENDATIONS

Immediate Actions:
1. Fix all 3 critical bugs (BUG_001, BUG_005, BUG_008)
2. Retest checkout module completely
3. Conduct regression testing after fixes

Before Production:
1. Fix all P1 and P2 bugs (8 bugs)
2. Complete cross-browser testing
3. Perform security testing on registration
4. Validate all payment calculations

Future Testing:
1. Automated regression suite for cart calculations
2. Performance testing during sale periods
3. API testing for backend validation

---------------------------------------------------

11. TEST DELIVERABLES

✓ Test Plan (1 document)


✓ Test Cases (50 test cases)
✓ Requirements Traceability Matrix (RTM)
✓ Test Execution Report
✓ Bug Reports (12 detailed reports)
✓ Test Summary Report (this document)
✓ Jira Project Setup (10 bugs logged)

All documents available in project folder.

---------------------------------------------------

12. SIGN-OFF

Tested By: [Your Name], Junior SQA Engineer


Date: 18-January-2026
Reviewed By: _________________
Approved By: _________________

---------------------------------------------------

END OF REPORT

Your Complete Day 4 Checklist


• [ ] Selected a website to test
• [ ] Analyzed requirements (minimum 5 modules)
• [ ] Created Test Plan
• [ ] Wrote 50 test cases
• [ ] Created RTM
• [ ] Executed all 50 test cases
• [ ] Created test execution sheet
• [ ] Documented 10+ bugs in detail
• [ ] Created Jira free account
• [ ] Set up project in Jira
• [ ] Logged 10 bugs in Jira
• [ ] Created Test Summary Report
• [ ] Organized all documents in one folder

� Your Testing Portfolio Structure


Create this folder structure:

My_SQA_Portfolio/

├── Project_1_Rokomari_Testing/
│ ├── 01_Test_Plan.doc
│ ├── 02_Test_Cases.doc (50 TCs)
│ ├── 03_RTM.xlsx
│ ├── 04_Test_Execution_Report.xlsx
│ ├── 05_Bug_Reports.doc (10+ bugs)
│ ├── 06_Test_Summary_Report.doc
│ └── 07_Screenshots/
│ ├── bug_001.png
│ ├── bug_002.png
│ └── jira_dashboard.png

└── [Link] (Overview of your portfolio)

Homework Tonight (7:00 PM - 8:00 PM)


1. Complete any pending documentation
2. Watch: "Jira Tutorial for Beginners" on YouTube
3. Practice: Create 5 more bugs in Jira
4. Review: Go through your test summary report and improve it

� Share With Me After Day 4


1. Your Test Summary Report (key metrics section)
2. 3 sample test cases you wrote
3. 2 sample bug reports (most critical ones)
4. Jira screenshot (your dashboard or one bug)
5. Overall experience - How did the execution go?
6. Questions or areas where you struggled

Day 5 Preview
Tomorrow we'll cover:

• Agile & Scrum methodology (How IT companies work)


• API Testing basics with Postman
• Mobile Testing fundamentals
• Preparing your second test project

Congratulations! Day 4 is the most intensive day. You've just completed a REAL testing
project that you can showcase in interviews! �

This project alone demonstrates: � Your ability to plan testing


� Write professional test cases
� Execute tests systematically
� Find and report bugs
� Use industry tools (Jira)
� Create documentation

Are you ready to dive in? Start with the morning session and update me on your progress!

Questions before you begin?


Day 5: Agile/Scrum, API Testing & Mobile
Testing �
Welcome to Day 5! Today you'll learn how modern IT companies work (Agile/Scrum), master
API testing with Postman, and understand mobile testing fundamentals.

Morning Session (9:00 AM - 12:30 PM)


Part 1: Agile Methodology & Scrum Framework (90 minutes)

Why Learn Agile?

• 95%+ IT companies in Bangladesh use Agile


• You'll work in Scrum teams as a Junior SQA
• Interviewers WILL ask about Agile/Scrum

Traditional Waterfall vs Agile

Waterfall (Old approach):

Requirements (2 months) → Design (2 months) → Development (6 months)


→ Testing (2 months) → Deployment (1 month)

Total: 13 months to release product


Problem: If requirements change, start over!
Testing happens at the end (bugs are expensive to fix)

Agile (Modern approach):

Sprint 1 (2 weeks): Plan → Design → Develop → Test → Deploy small feature


Sprint 2 (2 weeks): Plan → Design → Develop → Test → Deploy next feature
Sprint 3 (2 weeks): Plan → Design → Develop → Test → Deploy next feature
...

Advantage:
- Release working software every 2-4 weeks
- Changes welcomed anytime
- Testing throughout (bugs caught early)
- Customer feedback incorporated quickly

Scrum Framework - How Your Team Will Work


Scrum Team Roles:

1. Product Owner (PO)

• Represents customer/business
• Maintains Product Backlog (list of features)
• Prioritizes what to build
• Accepts/Rejects completed work

2. Scrum Master (SM)

• Facilitates Scrum process


• Removes blockers
• Ensures team follows Scrum
• NOT a manager!

3. Development Team (5-9 people)

• Developers (2-5)
• QA Engineers (1-2) ← This is YOU!
• UI/UX Designer (0-1)
• Self-organizing, cross-functional

Scrum Events/Ceremonies

1. Sprint Planning (Start of Sprint - 2-4 hours)

WHO: Entire Scrum team


WHEN: First day of sprint
DURATION: 2-4 hours for 2-week sprint

WHAT HAPPENS:
- Product Owner presents top priority items from backlog
- Team discusses: "What can we complete this sprint?"
- Team selects User Stories for sprint
- Team breaks stories into tasks
- Team commits to Sprint Goal

YOUR ROLE AS QA:


- Ask clarifying questions about requirements
- Identify testability concerns
- Estimate testing effort
- Plan test case writing timeline

EXAMPLE:
PO: "We need login with Google this sprint"
You: "Will this work on mobile too? Any specific error scenarios?"
Team: "Yes mobile. We'll handle Google API errors"
You: "I'll need 2 days for test cases and 1 day for testing"

2. Daily Standup / Daily Scrum (Every day - 15 minutes)

WHO: Development Team (PO/SM optional)


WHEN: Same time every day (usually morning)
DURATION: Exactly 15 minutes (standing up!)
FORMAT: Everyone answers 3 questions

Three Questions:
1. What did I do yesterday?
2. What will I do today?
3. Any blockers/impediments?

YOUR TYPICAL UPDATE:


"Yesterday: I completed test cases for login module - 15 cases written.
Today: I'll execute those test cases and log bugs in Jira.
Blockers: I need test credentials for Google login."

RULES:
- Keep it brief (1-2 minutes per person)
- Don't solve problems here (take offline)
- Stand up (keeps it short!)
- No laptops/phones

3. Sprint Review / Demo (End of Sprint - 1-2 hours)

WHO: Scrum team + Stakeholders + Customers


WHEN: Last day of sprint
DURATION: 1-2 hours

WHAT HAPPENS:
- Team demonstrates completed features (live demo)
- Only "Done" items are shown
- Stakeholders give feedback
- PO accepts or rejects work

YOUR ROLE:
- May demonstrate tested features
- Confirm features meet acceptance criteria
- Report testing results
- Highlight any quality concerns

EXAMPLE DEMO:
Developer: [Shows Google login working]
You: "I tested on Chrome, Firefox, Safari - all passed.
Mobile testing also complete - 18/18 test cases passed.
One minor UI bug found and fixed (logo alignment).
Ready for production."
PO: "Accepted! Great work team."

4. Sprint Retrospective (End of Sprint - 1 hour)

WHO: Development Team only (private)


WHEN: After Sprint Review
DURATION: 1 hour

PURPOSE: Continuous improvement

Three Topics:
1. What went well? (Keep doing)
2. What didn't go well? (Stop doing)
3. What can we improve? (Action items)

EXAMPLE RETROSPECTIVE:
� What went well:
- Test cases ready before development finished
- Good collaboration between dev and QA
- All bugs fixed within sprint

� What didn't go well:


- Requirements changed mid-sprint
- Test environment was down for 1 day
- Found critical bug on last day

� Improvements:
- Action: Create test environment backup
- Action: QA to join requirement discussions earlier
- Action: Daily smoke test to catch bugs early

5. Backlog Refinement / Grooming (Mid-sprint - 1-2 hours)

WHO: Team + Product Owner


WHEN: Middle of sprint (ongoing)
DURATION: 1-2 hours

PURPOSE: Prepare future sprint items

ACTIVITIES:
- Review upcoming User Stories
- Break down large stories
- Estimate effort (Story Points)
- Clarify requirements
- Identify dependencies

YOUR ROLE:
- Ask testability questions
- Identify test data needs
- Point out potential testing challenges
- Suggest acceptance criteria

Key Scrum Artifacts

1. Product Backlog

Prioritized list of ALL features wanted in product

Example:
1. [HIGH] User login with email/password
2. [HIGH] User registration
3. [MEDIUM] Forgot password
4. [MEDIUM] Login with Google
5. [LOW] Login with Facebook
...
100+ items

Maintained by: Product Owner

2. Sprint Backlog

Items selected for CURRENT sprint only

Sprint 12 Backlog (2 weeks: Jan 20 - Feb 2):


✓ User Story 1: Login with Google [8 points]
✓ User Story 2: Remember me checkbox [3 points]
✓ Bug fix: Password validation [2 points]

Total: 13 story points


Team velocity: 15 points/sprint (we can handle this)

3. Definition of Done (DoD)

Checklist before marking work as "Done"

Example DoD:
� Code written and peer reviewed
� Unit tests written and passing
� Code deployed to test environment
� Test cases written (by QA)
� All test cases executed and passed
� No critical/major bugs open
� Code merged to main branch
� Documentation updated
� Demo-ready

YOUR RESPONSIBILITY: Items 4, 5, 6 are YOUR job!

User Stories & Acceptance Criteria

User Story Format:

As a [role], I want [feature], so that [benefit]

Example:
As a customer, I want to reset my password, so that I can
regain access to my account if I forget it.

Acceptance Criteria (AC):


Given [precondition]
When [action]
Then [expected result]

Example for "Reset Password" story:

AC1:
Given I am on login page
When I click "Forgot Password"
Then I should see password reset page

AC2:
Given I am on password reset page
When I enter my registered email and click "Send Reset Link"
Then I should receive reset email within 5 minutes

AC3:
Given I received reset email
When I click the reset link and enter new password (8+ characters)
Then my password should be updated and I can login with new password

AC4:
Given I click reset link
When the link is older than 24 hours
Then I should see "Link expired" error

YOUR JOB: Convert Acceptance Criteria to Test Cases!

Estimation - Story Points

What are Story Points?

• Relative measure of effort (not hours!)


• Based on: Complexity, Effort, Risk, Uncertainty
• Fibonacci sequence: 1, 2, 3, 5, 8, 13, 21

Example:

Story 1: Add "Remember Me" checkbox


- Very simple
- Points: 2

Story 2: Implement Google OAuth login


- Complex, external API
- Security considerations
- Points: 8

Story 3: Change button color


- Trivial
- Points: 1
Planning Poker: Team estimates together using cards (1, 2, 3, 5, 8, 13...) Everyone shows card
simultaneously → Discuss differences → Re-vote

Part 2: QA Role in Agile (45 minutes)

Your Daily Activities as Junior SQA in Scrum:

Week 1 of Sprint:

Day 1 (Sprint Planning):


- Attend sprint planning
- Understand user stories
- Ask clarifying questions
- Note testing requirements

Day 2-3:
- Write test cases for stories
- Review with team
- Set up test data
- Prepare test environment

Day 4-5:
- Developers start delivering features
- Begin exploratory testing
- Review code changes (optional)
- Update test cases based on implementation

Week 2 of Sprint:

Day 6-8:
- Execute test cases
- Log bugs in Jira
- Retest fixed bugs
- Regression testing on existing features

Day 9:
- Final testing
- Update test reports
- Prepare demo notes

Day 10 (Last day):


- Sprint Review (Demo)
- Sprint Retrospective
- Update metrics

Daily Standup Every Day: 15-minute status update

QA Activities Throughout Sprint:


CONTINUOUS ACTIVITIES:
� Attend all Scrum ceremonies
� Daily communication with developers
� Exploratory testing as features develop
� Bug verification and retesting
� Regression testing
� Update Jira tickets
� Maintain test documentation

COLLABORATION:
� Pair testing with developers
� Clarify requirements with PO
� Discuss test approach with team
� Help unblock other team members

Part 3: Agile Testing Quadrants (30 minutes)

Brian Marick's Agile Testing Quadrants:

BUSINESS-FACING
|
Q2 | Q3
Functional Tests | Exploratory Testing
Story Testing | Usability Testing
Prototypes | UAT
(Manual/Automated) | (Manual)
|
SUPPORTING ------+------ CRITIQUE
THE TEAM | PRODUCT
|
Q1 | Q4
Unit Tests | Performance Testing
Component Tests | Security Testing
(Automated) | "ility" Testing
| (Tools)
|
TECHNOLOGY-FACING

As Junior SQA, you focus on Q2 and Q3:

• Q2: Writing and executing functional test cases


• Q3: Exploratory testing, finding unexpected bugs

Your Task (15 minutes):

Practice User Story Analysis:


Given this User Story:

As a registered user, I want to add items to my wishlist,


so that I can save products for later purchase.

Write:

1. 5 Acceptance Criteria (Given-When-Then format)


2. 10 Test Cases based on those acceptance criteria
3. Estimate effort in story points (pretend you're in planning)

� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 4: API Testing with Postman (120 minutes)

What is API Testing?

• Testing the backend logic directly (without UI)


• Faster than UI testing
• Tests data flow between systems
• Essential skill for SQA engineers

API Basics:

Frontend (UI) ←→ API (Backend) ←→ Database

Example:
User clicks "Login" button (Frontend)
→ Sends request to API: POST /api/login
→ API checks database
→ API sends response: {"status": "success", "token": "abc123"}
→ Frontend shows Dashboard

QA TESTS: Both frontend AND the API separately!

REST API Fundamentals

HTTP Methods:

GET → Read/Retrieve data (e.g., get user profile)


POST → Create new data (e.g., register user)
PUT → Update entire resource (e.g., update profile)
PATCH → Update partial resource (e.g., change email only)
DELETE → Remove data (e.g., delete account)

HTTP Status Codes:

2xx - Success
200 OK → Request successful
201 Created → Resource created successfully
204 No Content → Success but no data to return

4xx - Client Errors


400 Bad Request → Invalid data sent
401 Unauthorized → Authentication required
403 Forbidden → No permission
404 Not Found → Resource doesn't exist

5xx - Server Errors


500 Internal Error → Server crashed
503 Service Unavailable → Server down

Installing Postman

Step 1: Download

• Go to: [Link]/downloads
• Download for Windows
• Install (it's free!)

Step 2: Create Account

• Sign up (optional but recommended)


• Workspace created automatically

Hands-on API Testing Practice

We'll use FREE public APIs for practice:

PRACTICE 1: GET Request - Retrieve Data

API: JSONPlaceholder (Free fake API for testing)

1. Open Postman
2. Click "New" → "HTTP Request"
3. Enter URL: [Link]
4. Method: GET (default)
5. Click "Send"

RESPONSE YOU'LL SEE:


[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@[Link]",
"address": {
"street": "Kulas Light",
"city": "Gwenborough"
}
},
{
"id": 2,
"name": "Ervin Howell",
...
}
]

TEST CASES FOR THIS API:


✓ Status code is 200
✓ Response time < 1000ms
✓ Response is JSON array
✓ Array contains 10 users
✓ Each user has id, name, email
✓ Email format is valid

How to Add Tests in Postman:

// Click "Tests" tab in Postman


// Write these scripts:

// Test 1: Status code


[Link]("Status code is 200", function () {
[Link](200);
});

// Test 2: Response time


[Link]("Response time is less than 1000ms", function () {
[Link]([Link]).[Link](1000);
});

// Test 3: Check data structure


[Link]("Response is an array", function () {
var jsonData = [Link]();
[Link](jsonData).[Link]('array');
});

// Test 4: Array length


[Link]("Array contains 10 users", function () {
var jsonData = [Link]();
[Link](jsonData).[Link](10);
});

// Test 5: Check first user has required fields


[Link]("User has required fields", function () {
var jsonData = [Link]();
[Link](jsonData[0]).[Link]('id');
[Link](jsonData[0]).[Link]('name');
[Link](jsonData[0]).[Link]('email');
});

// Click "Send" → See test results in "Test Results" tab

PRACTICE 2: GET Request with Parameters

URL: [Link]

This gets SPECIFIC user with ID = 1

RESPONSE:
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@[Link]"
}

TEST CASES:
✓ Status code is 200
✓ User ID is 1
✓ Name is "Leanne Graham"
✓ Email contains '@'

NEGATIVE TEST:
URL: [Link]
Expected: 404 Not Found (user doesn't exist)

PRACTICE 3: POST Request - Create Data

URL: [Link]
Method: POST

1. Select "Body" tab


2. Choose "raw" and "JSON" format
3. Enter JSON data:

{
"title": "My Test Post",
"body": "This is test content from API testing practice",
"userId": 1
}
4. Click "Send"

RESPONSE:
{
"title": "My Test Post",
"body": "This is test content from API testing practice",
"userId": 1,
"id": 101
}

TEST CASES:
✓ Status code is 201 (Created)
✓ Response has id field
✓ Title matches request
✓ UserId matches request

Tests for POST:

[Link]("Status code is 201", function () {


[Link](201);
});

[Link]("Post was created with ID", function () {


var jsonData = [Link]();
[Link](jsonData).[Link]('id');
[Link]([Link]).[Link].a('number');
});

[Link]("Title matches request", function () {


var jsonData = [Link]();
[Link]([Link]).[Link]("My Test Post");
});

PRACTICE 4: PUT Request - Update Data

URL: [Link]
Method: PUT

Body:
{
"id": 1,
"title": "Updated Title",
"body": "Updated content",
"userId": 1
}

Expected: 200 OK
Response contains updated data

PRACTICE 5: DELETE Request


URL: [Link]
Method: DELETE

Expected: 200 OK
Empty response body: {}

API Test Cases - Real Example

Scenario: Testing User Registration API

Endpoint: POST /api/v1/register


Base URL: [Link]

REQUEST BODY:
{
"firstName": "Rahim",
"lastName": "Ahmed",
"email": "rahim@[Link]",
"password": "SecurePass@123",
"phone": "01712345678"
}

Test Cases:

Status
Test ID Test Case Request Data Expected Response
Code
Register with valid Success message, user
API_REG_001 Valid all fields 201
data ID returned
Register with Error: "Email already
API_REG_002 Existing email 400
existing email exists"
Register without Error: "Email
API_REG_003 Email field missing 400
email required"
Register with invalid Error: "Invalid email
API_REG_004 Email: "invalidemail" 400
email format"
Register with weak Error: "Password
API_REG_005 Password: "123" 400
password must be 8+ chars"
Register with SQL Email: "test@[Link]'
API_REG_006 Error or sanitized 400
injection OR '1'='1"
Register with special Error: "Invalid
API_REG_007 FirstName: "Test@#$" 400
chars in name characters"
Register without Error: "Required
API_REG_008 Empty JSON {} 400
required fields fields missing"

Your Assignment (60 minutes):


Practice with these public APIs:

1. ReqRes API ([Link]

Tests to perform:
- GET /api/users → List users
- GET /api/users/2 → Get single user
- POST /api/users → Create user
- PUT /api/users/2 → Update user
- DELETE /api/users/2 → Delete user

For each endpoint:


✓ Write 5 test cases
✓ Test in Postman
✓ Add automated tests (Scripts)
✓ Document results

2. Fake Store API ([Link]

E-commerce API practice:


- GET /products → All products
- GET /products/1 → Single product
- GET /products/categories → Categories
- POST /products → Add product
- GET /carts → Shopping carts

Create:
✓ 10 test cases
✓ Test positive and negative scenarios
✓ Verify response data structure

Part 5: Mobile Testing Fundamentals (60 minutes)

Why Mobile Testing?

• 70%+ traffic is mobile in Bangladesh


• Different OS: Android, iOS
• Different screen sizes, resolutions
• Touch gestures vs mouse clicks
• Performance varies by device

Types of Mobile Applications

1. Native Apps

Built specifically for one platform


Android: Java/Kotlin (Google Play Store)
iOS: Swift/Objective-C (Apple App Store)

Examples: Facebook app, Instagram app

Testing: Requires actual devices or emulators

2. Web Apps

Websites optimized for mobile browsers


Access via browser (Chrome, Safari)

Examples: [Link], [Link]

Testing: Use browser DevTools mobile mode

3. Hybrid Apps

Mix of native + web


Built with: React Native, Flutter

Examples: Many e-commerce apps

Testing: Both device and browser testing

Mobile Testing Types

1. Functional Testing

• All features work correctly


• Touch gestures (tap, swipe, pinch, zoom)
• Orientation (portrait/landscape)
• App navigation

2. Compatibility Testing

Different OS Versions:
- Android 10, 11, 12, 13, 14
- iOS 15, 16, 17, 18

Different Screen Sizes:


- Small: 4-5 inches
- Medium: 5-6 inches
- Large: 6+ inches
- Tablets: 7-12 inches

Different Resolutions:
- HD: 720x1280
- Full HD: 1080x1920
- 2K, 4K displays
3. Performance Testing

• App launch time


• Battery consumption
• Memory usage
• Network usage (3G, 4G, 5G, WiFi)

4. Usability Testing

• Easy to navigate
• Buttons are touch-friendly (minimum 44x44 pixels)
• Text is readable
• Intuitive UI

5. Security Testing

• Data encryption
• Secure login
• Permission handling

6. Interruption Testing

Test app behavior during:


- Incoming call
- SMS received
- Low battery warning
- Internet disconnection
- App switching
- Device rotation
- Push notifications

7. Installation/Uninstallation Testing

• App installs correctly


• App updates properly
• App uninstalls completely
• No residual data after uninstall

Mobile-Specific Test Cases

Example: Testing Mobile Food Delivery App

TC_MOB_001: App installation


Steps:
1. Download app from Play Store
2. Install
Expected: Installs successfully, icon appears
TC_MOB_002: First launch
Steps:
1. Open app first time
Expected: Welcome screen/tutorial shown

TC_MOB_003: Portrait to landscape rotation


Steps:
1. Open restaurant menu
2. Rotate device
Expected: UI adjusts, data persists

TC_MOB_004: Add to cart with poor network


Steps:
1. Switch to 3G network
2. Add item to cart
Expected: Loading indicator shown, success message after adding

TC_MOB_005: Incoming call during checkout


Steps:
1. Fill payment details
2. Receive phone call
3. Answer call, then return to app
Expected: Form data retained, no data loss

TC_MOB_006: Low battery scenario


Steps:
1. Use app with 5% battery
Expected: App works, shows battery warning if needed

TC_MOB_007: Permission handling


Steps:
1. App requests location permission
2. Deny permission
Expected: App explains why needed, offers alternatives

TC_MOB_008: Offline mode


Steps:
1. Disable internet
2. Open app
Expected: Cached data shown OR friendly offline message

TC_MOB_009: Touch target size


Test: All buttons minimum 44x44 pixels (fingertip size)
Expected: Easy to tap, no accidental taps

TC_MOB_010: Deep linking


Steps:
1. Click "Open in app" from email/SMS
Expected: Specific page opens in app

Mobile Testing Tools

For Web Apps (Easy - Start Here):


Chrome DevTools:
1. Open website in Chrome
2. Press F12 (DevTools)
3. Click "Toggle device toolbar" icon
4. Select device: iPhone 12, Samsung Galaxy, etc.
5. Test!

Benefits:
✓ Free
✓ No setup needed
✓ Test responsive design
✓ Simulate touch events
✓ Test different screen sizes

For Real Device Testing:

Your Own Phone:


- Best for real user experience
- Test actual performance
- Real network conditions

USB Debugging (Android):


- Connect phone to PC
- Enable Developer Options
- Test directly on device

Emulators/Simulators (Advanced):

Android: Android Studio Emulator


iOS: Xcode Simulator (Mac only)

Practice Mobile Testing (45 minutes)

Your Assignment:

Test ONE of these mobile websites:

1. [Link]
2. [Link] (mobile view)
3. [Link] (mobile view)

Using Chrome DevTools:

Create 15 Mobile Test Cases covering:

Responsive Design (5 TCs):

• Test on iPhone SE (small)


• Test on iPhone 12 Pro (medium)
• Test on iPad (large)
• Portrait mode
• Landscape mode

Touch Interaction (5 TCs):

• Tap buttons
• Swipe carousel/images
• Pinch to zoom (images)
• Pull to refresh
• Long press actions

Mobile-Specific Features (5 TCs):

• Hamburger menu
• Bottom navigation
• Sticky header/footer
• Modal popups
• Form inputs (keyboard appearance)

Document Format:

TC_MOB_WEB_001
Title: Verify homepage layout on iPhone 12
Device: iPhone 12 Pro (390x844)
Orientation: Portrait

Steps:
1. Open [Link] in Chrome DevTools
2. Select iPhone 12 Pro
3. Check header layout
4. Check product grid
5. Check footer

Expected:
- All elements visible
- No horizontal scroll
- Images load properly
- Text readable without zoom
- Buttons properly sized

Evening Review (5:30 PM - 6:30 PM)


Complete Day 5 Checklist

Agile/Scrum:

• [ ] Understood Agile vs Waterfall


• [ ] Learned Scrum roles (PO, SM, Team)
• [ ] Memorized 5 Scrum ceremonies
• [ ] Practiced writing User Stories
• [ ] Created Acceptance Criteria
• [ ] Understand QA role in Agile

API Testing:

• [ ] Installed Postman
• [ ] Tested GET requests
• [ ] Tested POST requests (Create)
• [ ] Tested PUT requests (Update)
• [ ] Tested DELETE requests
• [ ] Wrote automated test scripts
• [ ] Created 20+ API test cases

Mobile Testing:

• [ ] Understood mobile app types


• [ ] Learned mobile testing types
• [ ] Used Chrome DevTools mobile view
• [ ] Created 15 mobile test cases
• [ ] Tested responsive design
• [ ] Tested touch interactions

Homework Tonight (7:00 PM - 8:00 PM)


1. Watch: "Agile Scrum in 20 Minutes" on YouTube
2. Watch: "Postman API Testing Tutorial" (FreeCodeCamp)
3. Practice: Create Postman collection with 10 API tests
4. Read: "Mobile Testing Best Practices"

� Share With Me After Day 5


1. User Story you wrote with 5 acceptance criteria
2. Postman screenshot showing successful API test
3. 5 API test cases (different endpoints)
4. 5 Mobile test cases you created
5. Questions about Agile, API testing, or Mobile testing
Project Assignment (Complete by End of Day 6)
Create Your Second Portfolio Project:

"API Testing Project - Fake Store API"

Deliverables:

1. Test Plan for API testing


2. 30 API test cases (GET, POST, PUT, DELETE)
3. Postman collection with automated tests
4. API Test Execution Report
5. Bug report (if you find any issues)

This will be your second portfolio project to show employers!

Day 6 Preview
Tomorrow (Week 2 Begins!):

• Introduction to Automation Testing


• Selenium WebDriver basics
• Your first automated test script
• Git & GitHub basics for version control
• Resume Building starts!

Excellent progress! You're now 1/3 through your 2-week journey!

Skills gained so far: � Manual Testing fundamentals


� Test documentation
� Bug reporting & Jira
� Agile/Scrum methodology
� API Testing with Postman
� Mobile Testing basics

You can already apply for SOME Junior SQA positions with these skills!

Ready to continue? How are you feeling about the pace? Any topic you want to review
before moving forward? �
Day 6: Automation Testing, Selenium &
Resume Building �
Welcome to Day 6 and Week 2! Today you'll step into automation testing, write your first
automated script, learn Git/GitHub, and start building your professional resume.

Morning Session (9:00 AM - 12:30 PM)


Part 1: Introduction to Automation Testing (60 minutes)

What is Test Automation? Using tools and scripts to execute test cases automatically instead of
manual execution.

Manual vs Automation:

MANUAL TESTING:
Tester opens browser → Navigates to login page → Enters credentials
→ Clicks login → Verifies result → Documents pass/fail
Time: 2-3 minutes per execution

AUTOMATION TESTING:
Script runs → Opens browser → Executes steps → Verifies → Reports result
Time: 10-15 seconds per execution
Can run 24/7, no human needed!

When to Automate vs When to Test Manually

� AUTOMATE When:

1. Regression Testing
- Same tests run repeatedly after each release
- Example: Login, Search, Checkout (run 100+ times)

2. Smoke/Sanity Testing
- Quick checks after deployment
- Example: "Is website up? Can users login?"

3. Data-Driven Testing
- Same test with multiple data sets
- Example: Test login with 50 different username/password combinations

4. Cross-Browser Testing
- Test on Chrome, Firefox, Safari, Edge
- Manually testing on 4 browsers = 4x time
5. Performance Testing
- Simulate 1000 users simultaneously
- Impossible manually!

6. Repetitive Tasks
- Form filling, navigation flows

� DON'T AUTOMATE When:

1. Exploratory Testing
- Finding unexpected bugs
- Requires human intuition

2. Usability Testing
- "Does this look good?"
- "Is navigation intuitive?"

3. One-Time Tests
- Test run only once
- Not worth automation effort

4. Frequently Changing Features


- UI changes daily
- Scripts break constantly

5. Ad-hoc Testing
- Quick investigation of reported issues

6. Visual/UX Testing (initially)


- Color, layout, spacing
- Better with human eyes first

ROI Calculation:

Manual Test Execution: 30 minutes


Runs needed: 50 times (over 3 months)
Manual effort: 30 min × 50 = 1500 minutes = 25 hours

Automation Script Writing: 2 hours


Script execution: 2 min × 50 = 100 minutes = 1.7 hours
Total automation time: 3.7 hours

SAVINGS: 25 - 3.7 = 21.3 hours saved! �

Popular Automation Tools

Web Automation:

1. Selenium WebDriver � (Most popular, free)


- Supports: Java, Python, C#, JavaScript
- Works with: Chrome, Firefox, Safari, Edge
- Open source
2. Cypress (Modern, JavaScript)
- Fast, developer-friendly
- Great for modern web apps

3. Playwright (Microsoft)
- Multi-browser
- Modern alternative to Selenium

4. TestCafe
- No WebDriver needed

Mobile Automation:

1. Appium (Free, open source)


- Android & iOS
- Like Selenium for mobile

2. Espresso (Android)
3. XCUITest (iOS)

API Automation:

1. Postman + Newman
2. REST Assured (Java)
3. Requests library (Python)

Why Learn Selenium?

• Industry standard (90% companies use it)


• Free and open source
• Huge community support
• Job requirement in Bangladesh
• Works with multiple languages

Part 2: Selenium WebDriver Basics (90 minutes)

What is Selenium WebDriver? A tool that controls browsers programmatically. You write code
that tells the browser what to do.

Architecture:

Your Test Script (Python/Java)



Selenium WebDriver

Browser Driver (ChromeDriver, GeckoDriver)

Actual Browser (Chrome, Firefox)
Setup Environment

Option 1: Python + Selenium (Recommended for beginners)

Step 1: Install Python

1. Go to [Link]/downloads
2. Download Python 3.12 (latest)
3. Install - CHECK "Add Python to PATH" �
4. Verify: Open CMD, type: python --version

Step 2: Install Selenium

Open Command Prompt (CMD):


pip install selenium

Wait for installation...


Should see: "Successfully installed selenium-4.x.x"

Step 3: Install ChromeDriver (Automatic)

pip install webdriver-manager

This manages browser drivers automatically!

Step 4: Choose Code Editor

Download VS Code (recommended):


- Go to [Link]
- Download and install
- Open VS Code
- Install Python extension

Option 2: Java + Selenium (If you prefer Java)

1. Install JDK (Java Development Kit)


2. Install Eclipse or IntelliJ IDEA
3. Add Selenium JAR files
4. Download ChromeDriver

(Python is easier for beginners, so I'll focus on Python)

Your First Selenium Script

Script 1: Open Browser


# File: test_open_browser.py

from selenium import webdriver


from [Link] import Service
from webdriver_manager.chrome import ChromeDriverManager

# Setup ChromeDriver automatically


driver = [Link](service=Service(ChromeDriverManager().install()))

# Open Google
[Link]("[Link]

# Wait 5 seconds (so you can see it)


import time
[Link](5)

# Close browser
[Link]()

print("Test completed successfully!")

How to Run:

1. Save file as: test_open_browser.py


2. Open CMD in same folder
3. Run: python test_open_browser.py
4. Browser should open Google and close after 5 seconds

Congratulations! You just automated a browser! �

Script 2: Google Search Automation

# File: test_google_search.py

from selenium import webdriver


from [Link] import Service
from webdriver_manager.chrome import ChromeDriverManager
from [Link] import By
from [Link] import Keys
import time

# Setup browser
driver = [Link](service=Service(ChromeDriverManager().install()))

# Maximize window
driver.maximize_window()

# Open Google
[Link]("[Link]
print("Opened Google")

# Find search box and enter text


search_box = driver.find_element([Link], "q")
search_box.send_keys("Selenium WebDriver tutorial")
print("Entered search text")

# Press Enter
search_box.send_keys([Link])
print("Pressed Enter")

# Wait to see results


[Link](3)

# Verify results page loaded


assert "Selenium" in [Link]
print("�
� Test Passed: Search results loaded")

# Close browser
[Link]()

Script 3: Facebook Login Test (WITHOUT actual login)

# File: test_facebook_login.py

from selenium import webdriver


from [Link] import Service
from webdriver_manager.chrome import ChromeDriverManager
from [Link] import By
import time

# Setup
driver = [Link](service=Service(ChromeDriverManager().install()))
driver.maximize_window()

# Open Facebook
[Link]("[Link]
print("Opened Facebook")
[Link](2)

# Find email field and enter test email


email_field = driver.find_element([Link], "email")
email_field.send_keys("test@[Link]")
print("Entered email")

# Find password field and enter test password


password_field = driver.find_element([Link], "pass")
password_field.send_keys("testpassword123")
print("Entered password")

# DON'T actually click login (just demonstrating)


# login_button = driver.find_element([Link], "login")
# login_button.click()

[Link](3)

# Clear the fields (cleanup)


email_field.clear()
password_field.clear()
print("Cleared fields")

print("�
� Test script executed successfully")

# Close
[Link]()

Selenium Locators - Finding Elements

8 Ways to Find Elements:

# 1. By ID (Most reliable if available)


element = driver.find_element([Link], "email")

# 2. By NAME
element = driver.find_element([Link], "username")

# 3. By CLASS_NAME
element = driver.find_element(By.CLASS_NAME, "login-button")

# 4. By TAG_NAME
element = driver.find_element(By.TAG_NAME, "input")

# 5. By LINK_TEXT (for links)


element = driver.find_element(By.LINK_TEXT, "Sign Up")

# 6. By PARTIAL_LINK_TEXT
element = driver.find_element(By.PARTIAL_LINK_TEXT, "Sign")

# 7. By CSS_SELECTOR (Powerful!)
element = driver.find_element(By.CSS_SELECTOR, "input[name='email']")
element = driver.find_element(By.CSS_SELECTOR, "#email") # ID
element = driver.find_element(By.CSS_SELECTOR, ".login-btn") # Class

# 8. By XPATH (Most powerful, complex)


element = driver.find_element([Link], "//input[@id='email']")
element = driver.find_element([Link], "//button[text()='Login']")

How to Find Locators:

1. Open website in Chrome


2. Right-click element → Inspect
3. In DevTools, element is highlighted
4. Look for: id="...", name="...", class="..."
5. Use in your script!

Common Selenium Commands

# Navigation
[Link]("[Link] # Open URL
[Link]() # Browser back button
[Link]() # Browser forward
[Link]() # Refresh page

# Browser actions
driver.maximize_window() # Maximize
driver.minimize_window() # Minimize
driver.set_window_size(1024, 768) # Custom size

# Element interactions
[Link]() # Click element
element.send_keys("text") # Type text
[Link]() # Clear text field
[Link]() # Submit form

# Get information
text = [Link] # Get visible text
value = element.get_attribute("value") # Get attribute
is_displayed = element.is_displayed() # Is visible?
is_enabled = element.is_enabled() # Is clickable?
is_selected = element.is_selected() # Is checkbox/radio selected?

# Waits
[Link](3) # Hard wait (not recommended)

# Implicit wait (better)


driver.implicitly_wait(10) # Wait up to 10 sec for elements

# Explicit wait (best practice)


from [Link] import WebDriverWait
from [Link] import expected_conditions as EC

wait = WebDriverWait(driver, 10)


element = [Link](EC.presence_of_element_located(([Link], "email")))

# Assertions (for verification)


assert "Google" in [Link]
assert element.is_displayed()
assert [Link] == "Welcome"

# Screenshots
driver.save_screenshot("[Link]")

# Close
[Link]() # Close current tab
[Link]() # Close all tabs and browser

Part 3: Hands-On Practice (60 minutes)

Your Assignment: Write 5 Automation Scripts

Script 1: Rokomari Search Test


# TODO: Write script to:
# 1. Open [Link]
# 2. Find search box
# 3. Search for "Python programming"
# 4. Verify results page loaded
# 5. Take screenshot
# 6. Close browser

# HINTS:
# - Use Inspect Element to find search box locator
# - Check if "Python" appears in page title or results
# - Use driver.save_screenshot("rokomari_search.png")

Script 2: Daraz Category Navigation

# TODO: Write script to:


# 1. Open [Link]
# 2. Hover over "Electronics" category
# 3. Click on "Mobiles" subcategory
# 4. Verify mobile products page loaded
# 5. Print page title

# HINTS:
# - Use ActionChains for hover
from [Link].action_chains import ActionChains
# actions = ActionChains(driver)
# actions.move_to_element(element).perform()

Script 3: Form Filling Automation

# TODO: Practice form on: [Link]


[Link]
# 1. Fill first name
# 2. Fill last name
# 3. Select gender (radio button)
# 4. Select experience (radio button)
# 5. Enter date
# 6. Select profession (checkbox)
# 7. Select tool (checkbox)
# 8. Select continent (dropdown)
# 9. Take screenshot
# 10. DON'T submit (just practice)

# HINTS:
# For dropdowns:
from [Link] import Select
# dropdown = Select(driver.find_element([Link], "continents"))
# dropdown.select_by_visible_text("Asia")

Script 4: Multiple Element Handling


# TODO: Google search and count results
# 1. Search "software testing" on Google
# 2. Find all result titles (h3 tags)
# 3. Print count of results
# 4. Print first 5 result titles

# HINTS:
# Use find_elements (plural) to get list
# results = driver.find_elements(By.TAG_NAME, "h3")
# print(f"Found {len(results)} results")

Script 5: Error Handling

# TODO: Handle exceptions


# 1. Try to find element that doesn't exist
# 2. Catch exception
# 3. Print friendly error message
# 4. Continue test

# TEMPLATE:
from [Link] import NoSuchElementException

try:
element = driver.find_element([Link], "nonexistent_id")
except NoSuchElementException:
print("� Element not found")
# Take screenshot for debugging
driver.save_screenshot("[Link]")

� LUNCH BREAK (12:30 PM - 2:00 PM)

Afternoon Session (2:00 PM - 5:30 PM)


Part 4: Git & GitHub Basics (75 minutes)

Why Git/GitHub for QA?

• Store your automation scripts


• Version control (track changes)
• Collaborate with team
• Showcase projects to employers
• MUST-HAVE skill on resume
Git Basics

What is Git? Version control system - tracks changes in your code

What is GitHub? Online platform to store Git repositories (like Google Drive for code)

Installing Git:

1. Go to: [Link]/downloads
2. Download for Windows
3. Install (default settings are fine)
4. Verify: Open CMD, type: git --version
Should show: git version 2.x.x

Git Fundamental Concepts:

Working Directory → Staging Area → Repository

1. WORKING DIRECTORY: Your local files


2. STAGING AREA: Files ready to commit
3. REPOSITORY: Permanent history

Commands:
git add → Moves to staging
git commit → Saves to repository
git push → Uploads to GitHub

Setting Up Git (One-time setup):

# Set your name


git config --global [Link] "Your Name"

# Set your email


git config --global [Link] "[Link]@[Link]"

# Verify
git config --list

Creating GitHub Account:

1. Go to: [Link]
2. Sign up (use professional email)
3. Choose free plan
4. Verify email
5. Create username (professional: firstname-lastname or firstnamelastname)
Examples: rahim-ahmed, rahimsqa, rahim-qa
Your First Git Repository:

Step-by-step:

# 1. Create project folder


mkdir selenium-automation-practice
cd selenium-automation-practice

# 2. Initialize Git
git init
# Output: Initialized empty Git repository

# 3. Create a README file


echo "# Selenium Automation Practice" > [Link]

# 4. Check status
git status
# Shows: [Link] is untracked

# 5. Add file to staging


git add [Link]

# 6. Commit (save snapshot)


git commit -m "Initial commit: Added README"

# 7. Create repository on GitHub:


# - Go to [Link]
# - Click "+" → New repository
# - Name: selenium-automation-practice
# - Public
# - DON'T initialize with README (we already have one)
# - Create repository

# 8. Connect local to GitHub


git remote add origin [Link]
[Link]

# 9. Push to GitHub
git branch -M main
git push -u origin main

# 10. Refresh GitHub page - your code is online! �

Essential Git Commands:

# Check status
git status

# Add files
git add [Link] # Single file
git add . # All files
# Commit changes
git commit -m "Your message here"

# Push to GitHub
git push

# Pull from GitHub (get latest)


git pull

# View history
git log

# Create branch
git branch feature-name
git checkout feature-name

# See changes
git diff

Git Workflow for Your Projects:

# Daily workflow:

# 1. Make changes to your code


# (write test scripts)

# 2. Check what changed


git status

# 3. Add changes
git add .

# 4. Commit with meaningful message


git commit -m "Added login test automation script"

# 5. Push to GitHub
git push

# Repeat daily!

Your Task (30 minutes):

Create Your Automation Portfolio Repository:

1. Create GitHub repository: "SQA-Automation-Portfolio"

2. Create folder structure:


SQA-Automation-Portfolio/
├── [Link]
├── Selenium-Scripts/
│ ├── google_search.py
│ ├── rokomari_search.py
│ └── facebook_login.py
├── API-Tests/
│ └── postman-collections/
└── Documentation/
├── [Link]
└── [Link]

3. Add all your scripts from today

4. Create good [Link]:

[Link] Template:

# SQA Automation Portfolio

## About Me
Junior SQA Engineer with hands-on experience in manual and automation
testing.

## Skills
- Manual Testing
- Test Case Design
- Bug Reporting (Jira)
- API Testing (Postman)
- Automation Testing (Selenium WebDriver - Python)
- Agile/Scrum methodology

## Projects

### 1. Web Automation Testing


**Tools:** Selenium WebDriver, Python

**Test Scenarios:**
- Google search automation
- E-commerce website testing ([Link])
- Form filling automation
- Login functionality testing

**Scripts:** [View Scripts](./Selenium-Scripts/)

### 2. API Testing


**Tools:** Postman

**Coverage:**
- RESTful API testing
- CRUD operations validation
- Response validation
- Status code verification

### 3. Manual Testing Projects


- E-commerce functional testing
- Mobile responsive testing
- Cross-browser testing

## Certifications
(Add when you complete any)

## Contact
- Email: [Link]@[Link]
- LinkedIn: [Your Profile]
- GitHub: [This Repository]

Part 5: Resume Building (90 minutes)

Resume Structure for Junior SQA:

1. Header (Name, Contact)


2. Professional Summary (2-3 lines)
3. Skills (Technical + Soft)
4. Education
5. Projects (MOST IMPORTANT!)
6. Certifications (if any)
7. Tools & Technologies

Resume Template for You:

═══════════════════════════════════════════════════════════
[YOUR FULL NAME]
Junior Software Quality Assurance Engineer
───────────────────────────────────────────────────────────
Phone: +880 1XXXXXXXXX | Email: [Link]@[Link]
LinkedIn: [Link]/in/yourprofile | GitHub: [Link]/yourusername
Location: Dhaka, Bangladesh
═══════════════════════════════════════════════════════════

PROFESSIONAL SUMMARY
───────────────────────────────────────────────────────────
Motivated Junior SQA Engineer with 2 years of Computer Science
education and hands-on experience in manual and automation testing.
Proficient in creating comprehensive test plans, executing test cases,
and identifying software defects. Experienced with Agile/Scrum
methodology, API testing, and test automation using Selenium WebDriver.
Seeking to contribute quality assurance expertise to a dynamic IT team.

TECHNICAL SKILLS
───────────────────────────────────────────────────────────
Testing Types:
• Functional Testing • Regression Testing
• API Testing • Mobile Testing
• Cross-Browser Testing • Responsive Testing
• Smoke & Sanity Testing • Black Box Testing

Automation:
• Selenium WebDriver (Python)
• Test Script Development
• Basic Page Object Model
Tools & Technologies:
• Bug Tracking: Jira, Bugzilla
• API Testing: Postman
• Version Control: Git, GitHub
• Databases: MySQL (Basic SQL queries)
• Test Management: Excel, Google Sheets
• Browsers: Chrome, Firefox, Edge, Safari
• OS: Windows, Android

Methodologies:
• Agile/Scrum • SDLC & STLC
• Test Case Design Techniques (Equivalence Partitioning,
Boundary Value Analysis, Decision Tables)

Soft Skills:
• Analytical Thinking • Attention to Detail
• Team Collaboration • Problem Solving
• Clear Communication • Quick Learning

EDUCATION
───────────────────────────────────────────────────────────
Bachelor of Science in Computer Science & Engineering
[Your University Name] | [City] | Expected: [Year]
Completed: 2 years (4 semesters)
Relevant Coursework: Software Engineering, Database Management,
Web Technologies, Programming

PROJECTS & PRACTICAL EXPERIENCE


───────────────────────────────────────────────────────────

1. E-COMMERCE FUNCTIONAL TESTING PROJECT


Platform: [Link] (Book Shopping Website)
Duration: January 2026

Responsibilities:
• Analyzed requirements and created comprehensive test plan
• Designed and documented 50+ test cases covering registration,
login, search, cart, and checkout modules
• Executed test cases and identified 12 defects (3 critical)
• Created Requirements Traceability Matrix (RTM)
• Logged and tracked bugs in Jira with detailed reproduction steps
• Prepared Test Summary Report with metrics and recommendations

Achievements:
• Achieved 100% requirements coverage
• Identified critical payment calculation bug before production
• Maintained 76% test pass rate

Deliverables: Test Plan, 50 Test Cases, RTM, Bug Reports (12),


Test Summary Report

GitHub: [Link to project documentation]

───────────────────────────────────────────────────────────

2. API TESTING PROJECT


Platform: Fake Store API, ReqRes API
Duration: January 2026

Responsibilities:
• Tested RESTful APIs for e-commerce operations
• Created 30+ API test cases for CRUD operations
• Validated request/response using Postman
• Automated API tests with Postman test scripts
• Verified status codes, response structure, and data integrity
• Performed negative testing with invalid data

Test Coverage:
• GET requests: Retrieve users, products, categories
• POST requests: Create user, add product
• PUT/PATCH requests: Update operations
• DELETE requests: Remove resources

Tools: Postman, Newman (CLI)

GitHub: [Link to Postman collections]

───────────────────────────────────────────────────────────

3. MOBILE RESPONSIVE TESTING


Platform: [Link] Mobile Website
Duration: January 2026

Responsibilities:
• Tested responsive design across multiple devices
• Verified touch interactions and gestures
• Tested portrait and landscape orientations
• Identified 5 mobile-specific UI issues
• Validated mobile-specific features (hamburger menu, sticky footer)

Test Coverage:
• Device sizes: iPhone SE, iPhone 12 Pro, iPad
• Interactions: Tap, swipe, pinch-zoom, long-press
• Browsers: Chrome Mobile, Safari Mobile

Deliverables: 15 Mobile Test Cases, Bug Reports

───────────────────────────────────────────────────────────

4. SELENIUM AUTOMATION PROJECT (In Progress)


Framework: Selenium WebDriver with Python
Duration: January 2026

Responsibilities:
• Automated web application testing using Selenium
• Developed test scripts for login, search, form filling
• Implemented various locator strategies (ID, XPath, CSS)
• Created reusable functions for common actions
• Version controlled scripts using Git/GitHub

Scripts Developed:
• Google search automation
• Form filling automation
• Multi-element handling
• Error handling implementation

GitHub: [Link to automation repository]

═══════════════════════════════════════════════════════════

CERTIFICATIONS & TRAINING


───────────────────────────────────────────────────────────
• [To be added: ISTQB Foundation Level - Planned]
• Self-paced learning: Software Testing, API Testing, Selenium

LANGUAGES
───────────────────────────────────────────────────────────
• Bengali: Native
• English: Fluent (Written & Spoken)

AVAILABILITY
───────────────────────────────────────────────────────────
Available for immediate joining (Internship or Full-time)

═══════════════════════════════════════════════════════════

Important Resume Tips:

DO's:
� Keep it 1-2 pages (as fresher: 1 page is fine)
� Use action verbs: Created, Executed, Identified, Tested, Automated
� Quantify achievements: "50+ test cases", "12 bugs", "76% pass rate"
� Include GitHub links
� Tailor for each job (modify based on job description)
� Proofread multiple times (NO typos!)
� Save as PDF: "YourName_SQA_Resume.pdf"

DON'Ts:
� Don't lie or exaggerate
� Don't use fancy fonts/colors (keep professional)
� Don't include photo (not required in Bangladesh IT)
� Don't mention age, religion, marital status
� Don't use first person (I, me, my)
� Don't include irrelevant hobbies
� Don't make it too long

Your Task (45 minutes):

Create YOUR Resume:

1. Use Google Docs or Microsoft Word


2. Fill in the template with YOUR information
3. Customize projects with YOUR actual work
4. Add YOUR skills
5. Save as PDF
6. Upload to Google Drive (keep multiple versions)

Evening Review (5:30 PM - 6:30 PM)


Complete Day 6 Checklist

Automation Testing:

• [ ] Understood manual vs automation


• [ ] Installed Python + Selenium
• [ ] Wrote first automation script
• [ ] Learned Selenium locators
• [ ] Practiced 5+ automation scripts
• [ ] Handled multiple elements
• [ ] Implemented error handling

Git & GitHub:

• [ ] Installed Git
• [ ] Created GitHub account
• [ ] Initialized Git repository
• [ ] Pushed code to GitHub
• [ ] Created portfolio repository
• [ ] Wrote professional README

Resume:

• [ ] Created resume from template


• [ ] Added all projects
• [ ] Listed all skills
• [ ] Saved as PDF
• [ ] Ready for review

Homework Tonight (7:00 PM - 8:00 PM)


1. Practice: Write 3 more Selenium scripts
2. Watch: "Selenium Python Tutorial" (Tech With Tim - YouTube)
3. Update: Push all scripts to GitHub
4. Polish: Review and improve resume
5. Prepare: Think about LinkedIn profile

� Share With Me After Day 6


1. One Selenium script you wrote (copy-paste code)
2. GitHub repository link for your portfolio
3. Resume (key sections or questions about it)
4. Challenges you faced with Selenium
5. Questions about automation or Git

Week 1 Complete! �
Congratulations on completing Week 1!

You've learned: � Manual Testing (SDLC, STLC, Test Cases)


� Black Box Techniques
� Bug Reporting & Jira
� Test Documentation
� SQL for Testers
� Agile/Scrum
� API Testing with Postman
� Mobile Testing
� Selenium Automation basics
� Git & GitHub
� Professional Resume

Deliverables Created: � Test Plan


� 50+ Test Cases
� RTM
� 10+ Bug Reports
� Test Summary Report
� Jira Project
� Postman Collections
� Selenium Scripts
� GitHub Portfolio
� Professional Resume
Day 7 Preview (Week 2 Begins!)
Tomorrow:

• LinkedIn Profile optimization


• Interview Preparation begins
• Common SQA Interview Questions (50+)
• Mock Interview Practice
• Job Search Strategy

Take a moment to appreciate your progress! You've covered A LOT in 6 days!

How are you feeling? Overwhelmed? Excited? Both?

Any specific areas you want to strengthen before we move to interview prep? �

Common questions

Powered by AI

Mobile testing of a website can present challenges such as ensuring responsiveness, dealing with various screen sizes, touch interactions, and potential performance issues. Best practices suggest testing on multiple devices and using tools like Chrome DevTools for mobile emulation. It's crucial to verify layout consistency, the visibility of elements, and the absence of horizontal scroll. For example, a test case for an iPhone 12 Pro should check the homepage layout to ensure images load properly and text is readable without zooming .

An effective Test Plan provides a structured approach to testing by clearly defining objectives, scope, test approach, environment, schedule, deliverables, entry and exit criteria, risks, and assumptions. It ensures that all team members are aligned and understand their responsibilities. By setting clear parameters for what is in scope and out of scope, the Test Plan helps prevent scope creep and ensures resource optimization. For example, the Test Plan for the Rokomari.com project limits in-scope activities to functionalities like user registration and login, enhancing focus and efficiency .

A professional software tester's resume should include sections that highlight educational background, relevant skills (e.g., API testing, manual and automation testing, Jira expertise), work experience, and completed projects. Additionally, it should list specific testing methodologies, such as Black Box testing or Agile/Scrum, and any software tools like Selenium or Postman used. The resume should be concise, leveraging bullet points, and reflect both technical capabilities and soft skills. Saving as PDF prevents formatting issues when shared electronically .

A junior software tester should strategically focus on building a strong resume and portfolio, applying to a variety of platforms such as BdJobs.com, LinkedIn, and directly to company websites. It's crucial to research top companies hiring entry-level testers and tailor applications to showcase relevant skills, such as developing test cases, bug reporting, and familiarity with testing tools. Additionally, sending at least 10 applications daily increases visibility and opportunity, while networking and preparing for interviews strengthens the application process .

Mock interviews and daily practice of technical and behavioral questions help candidates familiarize themselves with common interview scenarios, reduce anxiety, and improve communication skills. For software testers, daily practice of 20 technical and 10 behavioral questions reinforces knowledge, aids in formulating clear responses, and builds confidence. Mock interviews simulate the interview environment, allowing candidates to receive feedback and adjust their approach accordingly, improving their chances of success in real interviews .

Continuous learning is vital for software testers to keep up with technological advancements and evolving testing methodologies. It ensures testers remain proficient and adaptable, enhancing career growth and job performance. Effective strategies include following online courses, engaging with YouTube tutorials, and utilizing practice sites like Guru99 and DemoQA. Testers should also participate in mock interviews, work on portfolio projects, and stay updated with industry trends to maintain a competitive edge in the dynamic field of software testing .

Jira facilitates bug tracking and project management by offering a comprehensive toolset for managing issues, tasks, and projects efficiently. Its key features include issue types, status tracking, priority levels, and components which help in categorizing work and tracking progress. For example, testers can create detailed bug reports for defects like duplicate user registration, assign priorities, and monitor the issue's status from creation to resolution using Jira's workflow capabilities .

Quality Assurance (QA) is process-oriented, aimed at preventing defects by ensuring that quality processes are followed throughout development. It focuses on improving processes and implementing standards. Quality Control (QC) is product-oriented, focused on identifying defects in the final product. Testing is a subset of QC, involving executing the software to identify defects. For example, QA would involve following coding standards and conducting code reviews, while QC and testing involve activities like verifying if a login function works correctly .

Software testers ensure comprehensive coverage by using a Requirement Traceability Matrix (RTM), which maps each test case to specific requirements. This ensures that all functional requirements have corresponding test cases, verifying coverage and highlighting any potential gaps. For instance, in the Rokomari.com project, the RTM ensures 100% coverage by aligning test cases with requirements, such as user registration and login functionalities, ensuring that all elements of the application are tested according to client specifications .

Practicing Selenium WebDriver scripts enables software testers to automate repetitive testing tasks, increasing efficiency and accuracy. By learning Selenium locators and handling multiple web elements, testers can write more robust scripts that interact with the application's UI effectively. For instance, writing and running 5+ automation scripts helps in understanding error handling and improves script reliability, making it easier to catch issues early in the development lifecycle .

You might also like