Skip to main content

Command Palette

Search for a command to run...

Learing Path

Updated
•21 min read•View as Markdown

7-Day Core Java Detailed Learning Plan


Day 1: Java Basics & Operators

Key Topics

  1. Introduction to Java

    • What is Java? (Platform-independent, OOP, Secure, Robust, Portable)

    • Java Versions (SE, EE, ME)

    • Why Java is popular for Automation & Backend?

  2. Java Architecture

    • JDK (Java Development Kit) – for development

    • JRE (Java Runtime Environment) – for running Java applications

    • JVM (Java Virtual Machine) – converts bytecode into machine code (platform independent)

  3. First Java Program

    • Structure: class, main method, statements

    • Compilation (javac) & Execution (java)

  4. Data Types

    • Primitive (8 types): byte, short, int, long, float, double, char, boolean

    • Non-primitive: String, Arrays, Classes, Objects

  5. Variables & Constants

    • Declaration, Initialization, Scope

    • final keyword for constants

  6. Type Casting

    • Widening (Implicit) – smaller → larger (int → double)

    • Narrowing (Explicit) – larger → smaller (double → int)

  7. Operators

    • Arithmetic (+, -, *, /, %)

    • Relational (>, <, >=, <=, ==, !=)

    • Logical (&&, ||, !)

    • Bitwise (&, |, ^, ~)

    • Unary (++a, a++, --a, a--)

    • Ternary (condition ? value1 : value2)

Focus Points

  • Understand how JVM makes Java platform-independent.

  • Difference between primitive & non-primitive data types.

  • Importance of type casting in automation (handling numeric test data).

Coding Challenges (Easy → Hard)

  1. Print "Hello Java" 5 times.

  2. Swap two numbers using a temporary variable.

  3. Swap two numbers without using a temporary variable.

  4. Convert temperature from Celsius to Fahrenheit.

  5. Calculate area & perimeter of a rectangle.

  6. Find sum of digits of a number.

  7. Check if a number is even or odd.

  8. Convert double to int (type casting).

  9. Calculate simple interest.

  10. Find ASCII value of a character.

  11. Add two binary numbers (string-based).

  12. Convert character to uppercase & lowercase.

  13. Multiply two floating numbers entered by user.

  14. Find square & cube of a number using operators.

  15. Swap two strings without using a third variable.


Day 2: Control Flow (Decision & Loops)

Key Topics

  1. Decision Making

    • if, if-else, if-else-if ladder

    • switch-case (supports int, char, String)

  2. Loops

    • for, while, do-while

    • Enhanced for loop (for-each)

  3. Jump Statements

    • break – terminate loop

    • continue – skip current iteration

  4. Nested Loops

    • Used for patterns & multidimensional operations

Focus Points

  • Use if-else for login validation.

  • Apply switch for multiple browser selection in Selenium.

  • Learn differences: for vs while vs do-while.

Coding Challenges

  1. Find largest among three numbers.

  2. Check if a year is leap year.

  3. Print multiplication table of a number.

  4. Sum of first N natural numbers.

  5. Calculate factorial of a number using for loop.

  6. Reverse a number using while loop.

  7. Print Fibonacci series up to N terms.

  8. Count number of digits in a number.

  9. Find sum of even numbers between 1–100.

  10. Print numbers from 1–50 skipping multiples of 5.

  11. Find grade of a student using marks (switch).

  12. Print star pattern:

*
**
***
****
*****
  1. Print prime numbers between 1–100.

  2. Check if a number is Armstrong or not.

  3. Digital root: keep adding digits until single digit remains.


Day 3: Arrays & Strings

Key Topics

  1. Arrays

    • Declaration: int[] arr = new int[5];

    • Initialization: int[] arr = {1,2,3};

    • Accessing elements via index

    • Traversing using for & for-each

    • Multidimensional Arrays (2D arrays: int[][] matrix)

  2. Common Operations

    • Finding max, min, sum, average

    • Reversing an array

    • Sorting (using Arrays.sort())

  3. Strings

    • Immutable in Java

    • Methods: length(), charAt(), substring(), equals(), equalsIgnoreCase(), compareTo(), split(), trim(), replace()

  4. StringBuilder & StringBuffer

    • Mutable strings

    • Methods: append(), insert(), delete(), reverse()

Focus Points

  • Understand why strings are immutable.

  • When to use StringBuilder for dynamic XPaths in Selenium.

  • Learn how arrays store test data for automation.

Coding Challenges

  1. Declare and print array elements.

  2. Find largest & smallest number in an array.

  3. Calculate sum & average of array elements.

  4. Reverse an array.

  5. Find duplicate elements in an array.

  6. Merge two arrays.

  7. Check if array is sorted (ascending).

  8. Rotate array by K positions.

  9. Count vowels & consonants in a string.

  10. Reverse a string without using reverse().

  11. Check if a string is palindrome.

  12. Find frequency of each character in a string.

  13. Remove all white spaces from a string.

  14. Check if two strings are anagrams.

  15. Find the longest word in a sentence.


Day 4: Methods & OOP Basics

Key Topics

  1. Methods

    • Syntax: returnType methodName(parameters) { ... }

    • Return types: void, int, String, etc.

    • Parameters: with & without arguments

    • Method Overloading – same name, different parameters

  2. Recursion

    • Method calling itself

    • Example: factorial, Fibonacci

  3. Classes & Objects

    • Class: Blueprint

    • Object: Instance of class

    • Accessing members: objectName.methodName()

  4. Constructors

    • Default & Parameterized

    • Constructor Overloading

    • this keyword to differentiate between instance & local variables

Focus Points

  • Create reusable methods for Selenium automation (launch browser, login).

  • Understand constructor vs method differences.

  • Practice recursion with factorial/Fibonacci.

Coding Challenges

  1. Method to calculate factorial.

  2. Method to check prime number.

  3. Method to find max of 3 numbers.

  4. Method overloading: add(int,int), add(double,double).

  5. Recursive Fibonacci method.

  6. Create class Student with display method.

  7. BankAccount class with deposit & withdraw.

  8. Constructor to initialize employee details.

  9. Demonstrate pass-by-value.

  10. Reverse a string using recursion.

  11. Method to calculate area (circle, rectangle, triangle).

  12. Calculator class with multiple operations.

  13. Swap two numbers using objects.

  14. Print object hashcode.

  15. Class with static & non-static methods.


Day 5: Advanced OOP (Inheritance, Polymorphism, Encapsulation, Abstraction)

Key Topics

  1. Inheritance

    • Single, Multilevel, Hierarchical

    • extends keyword

    • super keyword (call parent constructor/method)

  2. Polymorphism

    • Compile-time (Method Overloading)

    • Runtime (Method Overriding)

  3. Encapsulation

    • Private variables + public getters & setters
  4. Abstraction

    • Abstract Class: abstract class

    • Interfaces: multiple inheritance

  5. Static & Final

    • static variables & methods

    • final variable (constant), final method (cannot override), final class (cannot extend)

Focus Points

  • How inheritance helps in Page Object Model (POM) for Selenium.

  • Why polymorphism is used for WebDriver drivers (ChromeDriver, FirefoxDriver).

  • Understand interface vs abstract class in frameworks.

Coding Challenges

  1. Inherit class Car from Vehicle.

  2. Override sound() method in Dog & Cat classes.

  3. Demonstrate method overloading & overriding.

  4. Encapsulate Student marks using private variables.

  5. Abstract class Shape → Rectangle, Circle.

  6. Interface Payment with classes UPI & Card.

  7. Static variable counter for number of objects created.

  8. Final class demonstration.

  9. Use super keyword to call parent constructor.

  10. Runtime polymorphism with WebDriver-like classes.

  11. Multiple inheritance using interface.

  12. Class with static block & constructor – observe execution order.

  13. Interface-based calculator with multiple classes.

  14. Animal class hierarchy using polymorphism.

  15. Demonstrate this keyword in constructor chaining.


Day 6: Exception Handling & Wrapper Classes

Key Topics

  1. Exception Handling

    • try, catch, finally

    • throw & throws

    • Checked vs Unchecked exceptions

    • Multiple catch blocks

    • Custom Exceptions

  2. Wrapper Classes

    • Convert primitive to object (Integer, Double, etc.)

    • Autoboxing (int → Integer)

    • Unboxing (Integer → int)

Focus Points

  • Handle NoSuchElementException in Selenium using try-catch.

  • Convert test data string → int for validations.

  • Create custom exceptions for invalid test cases.

Coding Challenges

  1. Handle divide by zero exception.

  2. Handle array index out of bounds.

  3. Handle null pointer exception.

  4. Create custom exception InvalidAgeException.

  5. Throw exception for negative input.

  6. Demonstrate try-with-resources (file reading).

  7. Nested try-catch example.

  8. Convert string to integer using Integer.parseInt().

  9. Autoboxing example (int → Integer).

  10. Unboxing example (Integer → int).

  11. Multiple catch block example.

  12. Rethrow an exception.

  13. Method that throws checked exception.

  14. Handle NumberFormatException.

  15. Custom login failure exception.


Day 7: Collections Framework & Final Revision

Key Topics

  1. Collections Framework

    • List (ArrayList, LinkedList)

    • Set (HashSet, TreeSet)

    • Map (HashMap, LinkedHashMap)

    • Iterating: for-each, Iterator

  2. Packages & Access Modifiers

    • public, private, protected, default
  3. Java Memory

    • Stack vs Heap memory

    • Garbage Collection

  4. Mini Project (Automation Related)

    • Login Automation with multiple credentials using List/Map

Focus Points

  • Store web elements in List<WebElement>.

  • Remove duplicate links using Set.

  • Maintain credentials using Map.

Coding Challenges

  1. Store 5 names in ArrayList & print.

  2. Remove duplicates from a list using HashSet.

  3. Store student details (name, marks) in HashMap.

  4. Iterate over ArrayList using Iterator.

  5. Sort list in ascending & descending order.

  6. Find frequency of words using HashMap.

  7. Convert ArrayList to Array & vice versa.

  8. Merge two ArrayLists.

  9. Check if element exists in HashSet.

  10. Copy one HashMap to another.

  11. Create List of integers & remove all even numbers.

  12. Implement LinkedList for storing cities.

  13. Use TreeSet to store unique sorted elements.

  14. Use HashMap for login credentials validation.

  15. Mini Project: ATM Simulator or Student Management using List & Map.

\============================================================================Selenium 3-Day Plan (with Coding Challenges)


Day 1: Selenium Basics & WebDriver

Topics in Detail

  • Introduction to Selenium:

    • What is Selenium? Why Selenium? Components (Selenium IDE, WebDriver, Grid)

    • Supported Browsers & Languages

  • Setup:

    • Download & configure Selenium WebDriver (ChromeDriver/GeckoDriver)

    • Add Selenium JARs or Maven dependency

  • WebDriver Basics:

    • Launch Browser

    • Navigate to URL (get(), navigate().to())

    • Close & Quit

    • Get Page Title, URL, and Source

  • Locators in Detail:

    • id, name, className, tagName, linkText, partialLinkText, xpath, cssSelector

    • Types of XPath (absolute & relative)

    • XPath functions: contains(), starts-with(), text(), and/or, indexing

  • WebElement Basics:

    • click(), sendKeys(), getText(), getAttribute(), isDisplayed(), isEnabled(), isSelected()

Coding Challenges (Easy → Hard)

  1. Launch Chrome browser & open Google.

  2. Get page title & print it.

  3. Navigate to a webpage & refresh it.

  4. Open browser, go to Gmail, print current URL.

  5. Close vs Quit – demonstrate difference.

  6. Locate element using ID & enter text.

  7. Click a link using partialLinkText.

  8. Find element using CSS selector.

  9. Extract text of a heading using getText().

  10. Verify element is displayed & enabled.

  11. Write XPath for dynamic element (using contains()).

  12. Enter username/password and click login.

  13. Handle search box and get suggestion list.

  14. Write relative XPath for nested elements.

  15. Automate Wikipedia search and extract heading.


Day 2: Selenium Intermediate (Actions, Waits, Select, Alerts)

Topics in Detail

  • Browser Navigation Commands:

    • navigate().back(), navigate().forward(), navigate().refresh()
  • Waits:

    • Implicit Wait

    • Explicit Wait (WebDriverWait, ExpectedConditions)

    • Fluent Wait

  • Actions Class (Mouse & Keyboard):

    • moveToElement(), clickAndHold(), contextClick(), doubleClick(), dragAndDrop(), sendKeys(Keys.ENTER)
  • Select Class (Dropdowns):

    • selectByVisibleText(), selectByValue(), selectByIndex()

    • Get all options & select multiple

  • Alerts & Pop-ups:

    • alert.accept(), alert.dismiss(), alert.getText(), alert.sendKeys()
  • Checkboxes & Radio Buttons

  • Frames & iFrames

Coding Challenges

  1. Open browser and navigate between 3 websites.

  2. Implement implicit wait for element loading.

  3. Implement explicit wait for button to become clickable.

  4. Perform mouse hover using Actions class.

  5. Right-click (context click) on an element.

  6. Drag and drop element.

  7. Handle single-select dropdown.

  8. Handle multi-select dropdown & print all selected options.

  9. Select last option from dropdown dynamically.

  10. Handle simple alert (accept it).

  11. Handle confirmation alert (dismiss it).

  12. Handle prompt alert (enter text & accept).

  13. Switch to iframe and click button inside it.

  14. Handle multiple checkboxes.

  15. Automate slider movement using Actions class.


Day 3: Selenium Advanced (Windows, Screenshots, TestNG, Framework)

Topics in Detail

  • Handling Multiple Windows/Tabs:

    • getWindowHandle(), getWindowHandles()

    • Switch between windows

  • Taking Screenshots:

    • TakesScreenshot interface
  • Handling Tables:

    • Read web tables (rows & columns)
  • JavaScriptExecutor:

    • Scroll, click hidden elements, get inner text
  • TestNG Basics (Integration with Selenium):

    • TestNG annotations: @Test, @BeforeMethod, @AfterMethod, @BeforeClass, @AfterClass

    • Assertions (Assert.assertEquals(), Assert.assertTrue())

    • TestNG XML – suite, groups, parallel execution

  • Page Object Model (POM) Introduction

  • Mini Project:

    • Login → Navigate → Perform action → Logout

Coding Challenges

  1. Open two tabs & switch between them.

  2. Capture screenshot of homepage.

  3. Scroll down to footer using JavaScriptExecutor.

  4. Scroll into view of specific element.

  5. Extract all rows from a table.

  6. Print all links from a webpage.

  7. Highlight element using JavaScriptExecutor.

  8. Handle hidden element (force click with JS).

  9. Create a simple TestNG test (open Google).

  10. Validate page title using TestNG assertion.

  11. Group two test cases in TestNG.

  12. Run tests in parallel using TestNG XML.

  13. Implement basic POM for login page.

  14. Automate login & logout using TestNG.

  15. Mini project: Automate demo eCommerce site – search product, add to cart, and capture screenshot.

\============================================================================

3-Day API Testing Plan (Postman + Rest Assured)


Day 1: API & Postman Basics

Topics in Detail

  • What is API?

    • REST vs SOAP

    • JSON vs XML

    • HTTP Methods (GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD)

  • REST API Basics:

    • Request & Response structure

    • Status Codes (1xx, 2xx, 3xx, 4xx, 5xx)

    • Headers, Body, Params, Authentication (Basic, Bearer, OAuth)

  • Postman Basics:

    • Installation & Setup

    • Creating Collections & Requests

    • Using Query Params & Path Params

    • Sending GET & POST requests

    • Using Environment Variables

    • Postman Tests (Assertions using JavaScript)

Hands-on Tasks (Easy → Medium)

  1. Install Postman & make your first GET request to reqres.in.

  2. Get list of users (GET /api/users?page=2).

  3. Send POST request to create a user (POST /api/users).

  4. Validate status code (200, 201).

  5. Extract response body in Postman.

  6. Add environment variable (base URL).

  7. Use Pre-request script to set dynamic variable (timestamp).

  8. Send PUT request to update user.

  9. Send DELETE request to remove user.

  10. Add test to check if response contains id.

  11. Validate response time < 500ms.

  12. Chain requests using variables.

  13. Save response as environment variable.

  14. Export Postman collection.

  15. Import collection & run in Collection Runner.


Day 2: Rest Assured Basics (Java)

Topics in Detail

  • What is Rest Assured? Why use it with Java?

  • Setup:

    • Add Maven dependency for Rest Assured

    • Install Java + IDE (IntelliJ/Eclipse)

  • Rest Assured Basics:

    • Request Specification

    • GET, POST, PUT, DELETE requests

    • given(), when(), then()

  • Validations:

    • Status Code

    • Response Body

    • Headers

  • Path & Query Parameters

  • JSON Handling:

    • JsonPath class

    • Extract specific fields

    • Deserialize JSON to Java (POJO)

Coding Challenges (Easy → Hard)

  1. Set up Rest Assured Maven project.

  2. Perform a GET request to /api/users?page=2.

  3. Validate status code = 200.

  4. Validate response header Content-Type = application/json.

  5. Extract user email from JSON.

  6. Send POST request to create user.

  7. Validate response contains id.

  8. Update user details with PUT.

  9. Delete user & verify status = 204.

  10. Send request with query parameters.

  11. Send request with path parameters.

  12. Parse JSON array response.

  13. Deserialize JSON to Java Object.

  14. Send request with custom headers.

  15. Validate response schema using JSON schema validation.


Day 3: Advanced API Testing (Automation + Framework)

Topics in Detail

  • Authentication:

    • Basic Auth

    • Bearer Token

    • OAuth2

  • Request & Response Logging

  • Chaining API Calls

  • Data-Driven API Testing:

    • Use TestNG DataProviders

    • Externalize test data (Excel/JSON)

  • Advanced Validations:

    • JSONPath & Hamcrest Matchers

    • Response time validation

  • Framework Setup:

    • Maven + TestNG + Rest Assured integration

    • TestNG reports

    • Reusable Utility classes

  • Mini Project:

    • Automate CRUD operations for User API

    • Validate using assertions

    • Generate TestNG report

Coding Challenges

  1. Authenticate API using Basic Auth.

  2. Send Bearer token in header.

  3. Chain: Create user → Get user → Update user → Delete user.

  4. Log request & response.

  5. Validate multiple JSON fields using Hamcrest matchers.

  6. Validate response time < 1s.

  7. Create reusable method for GET & POST.

  8. Data-driven POST request (create multiple users).

  9. Use JSON file as request body.

  10. Handle failed request & log error.

  11. Automate 5 API endpoints of a demo app.

  12. Integrate with TestNG (parallel execution).

  13. Generate Allure report.

  14. Create POJO class for User API.

  15. Build a mini framework (BaseClass, Utils, Tests).

\============================================================================

3-Day Plan: Git + GitHub + Maven + Jenkins


Day 1: Git & GitHub (Version Control Mastery)

Topics in Detail

  • What is Git & Why use it?

    • Version Control (Centralized vs Distributed)

    • Git vs GitHub vs GitLab vs Bitbucket

  • Git Installation & Configuration:

    • Install Git

    • Configure username & email (git config)

  • Basic Git Commands:

    • git init

    • git clone

    • git status

    • git add

    • git commit

    • git log

  • Branching & Merging:

    • Create branch (git branch feature-x)

    • Switch branch (git checkout feature-x)

    • Merge (git merge)

    • Resolve merge conflicts

  • GitHub Basics:

    • Create repository

    • Push code to GitHub

    • Pull & Fetch

    • Fork & Pull Requests

    • .gitignore

  • GitHub Collaboration:

    • Issues & Pull Requests

    • Branch protection rules

Hands-on Challenges

  1. Install Git & configure user name/email.

  2. Create a new Git repo locally.

  3. Add files & commit changes.

  4. Push code to GitHub.

  5. Clone an existing repo from GitHub.

  6. Create a new branch & switch to it.

  7. Make changes & merge branch into main.

  8. Resolve a simple merge conflict.

  9. Add .gitignore to ignore .class files.

  10. Revert last commit.

  11. Undo staged changes.

  12. View commit history (git log, git reflog).

  13. Create pull request on GitHub.

  14. Fork a repository & submit changes.

  15. Delete a branch after merge.


Day 2: Maven (Build & Dependency Management)

Topics in Detail

  • What is Maven?

    • Build automation & dependency management tool

    • Maven vs Gradle vs Ant

  • Maven Setup:

    • Install Maven

    • Configure M2_HOME & PATH

  • Project Structure:

    • pom.xml

    • src/main/java & src/test/java

  • Maven Lifecycle:

    • clean, compile, test, package, install, deploy
  • Dependencies:

    • Adding Selenium/TestNG/RestAssured dependencies

    • Repositories (Central vs Local)

  • Plugins:

    • Surefire Plugin

    • Compiler Plugin

  • Maven Goals:

    • mvn clean install

    • mvn test

    • mvn package

  • Profiles & Properties

Hands-on Challenges

  1. Install Maven & configure environment variables.

  2. Create Maven project (mvn archetype:generate).

  3. Add Selenium & TestNG dependencies in pom.xml.

  4. Build project (mvn clean compile).

  5. Run tests using mvn test.

  6. Package project into a .jar file.

  7. Add surefire plugin & generate reports.

  8. Create custom profile (dev/prod).

  9. Exclude a dependency (transitive).

  10. Install .jar in local repository.

  11. Check dependency tree (mvn dependency:tree).

  12. Add property in pom.xml & use it.

  13. Fail build intentionally & fix it.

  14. Integrate with a Selenium project.

  15. Automate build + test + package in one command.


Day 3: Jenkins (CI/CD Automation)

Topics in Detail

  • What is Jenkins?

    • Continuous Integration & Continuous Delivery

    • Jenkins vs GitHub Actions vs GitLab CI

  • Jenkins Installation:

  • Jenkins Setup:

    • Create new job (Freestyle project)

    • Configure JDK & Maven in Jenkins

  • Build Pipeline Basics:

    • SCM integration (Git)

    • Build triggers (manual, poll SCM, webhook)

    • Post-build actions (email notification, archive artifacts)

  • Pipeline as Code:

    • Declarative Pipeline

    • Scripted Pipeline

    • Jenkinsfile

  • Integrations:

    • Run Maven build via Jenkins

    • Integrate Selenium tests

    • Email & Slack notifications

Hands-on Challenges

  1. Install Jenkins & start it locally.

  2. Configure JDK & Maven in Jenkins.

  3. Create freestyle job to print "Hello Jenkins".

  4. Integrate GitHub repo in Jenkins job.

  5. Configure Poll SCM (H/2 * * * *).

  6. Build project after Git push (webhook).

  7. Run Maven build from Jenkins (mvn clean install).

  8. Generate HTML TestNG report in Jenkins.

  9. Archive build artifacts.

  10. Add email notification post build.

  11. Create a simple pipeline using Jenkinsfile.

  12. Add parameters to Jenkins job (e.g., ENV).

  13. Build on specific branch only.

  14. Automate Selenium project execution in Jenkins.

  15. Create a CI pipeline: Pull code → Build → Test → Report.

\============================================================================

3-Day Manual Testing + Agile Testing Plan


Day 1: Manual Testing Fundamentals

Topics in Detail

  • What is Software Testing?

    • Importance of Testing

    • QA vs QC vs Testing

  • Types of Testing:

    • Manual vs Automation

    • Functional vs Non-Functional

  • SDLC & STLC

  • Testing Levels:

    • Unit, Integration, System, UAT
  • Testing Types:

    • Smoke, Sanity, Regression, Retesting
  • Test Case Design:

    • Test Scenario vs Test Case vs Test Script

    • Test Case Template

    • Traceability Matrix (RTM)

  • Bug Life Cycle:

    • New → Open → Fixed → Retest → Closed

    • Priority vs Severity

  • Static Testing (Reviews, Walkthroughs)

  • Testing Techniques:

    • Black Box: Equivalence Partitioning, Boundary Value Analysis

    • White Box: Statement, Decision, Condition coverage

Hands-on Tasks

  1. Identify 10 test cases for a login page.

  2. Write test scenarios for a calculator app.

  3. Classify defects: priority vs severity.

  4. Create sample RTM for a sign-up feature.

  5. Analyze bug report & explain life cycle.

  6. Differentiate smoke vs sanity with examples.

  7. Identify functional vs non-functional tests.

  8. Perform boundary value analysis for age field (18–60).

  9. Create checklist for eCommerce checkout.

  10. Explain negative testing with 3 examples.

  11. Prepare test plan outline.

  12. Write acceptance criteria for a feature.

  13. Conduct static review for a requirement.

  14. Explain exploratory testing steps.

  15. List possible defects in a social media post module.


Day 2: Agile Testing Basics

Topics in Detail

  • What is Agile?

    • Agile Manifesto & Principles

    • Agile vs Waterfall

  • Agile Methodologies:

    • Scrum, Kanban, XP
  • Scrum Framework:

    • Roles: Product Owner, Scrum Master, Development Team

    • Events: Sprint, Daily Stand-up, Sprint Planning, Sprint Review, Retrospective

    • Artifacts: Product Backlog, Sprint Backlog, Increment

  • Agile Testing Concepts:

    • Continuous Testing

    • Test Early, Test Often

    • Shift Left Testing

  • Agile Test Planning:

    • User Stories & Acceptance Criteria

    • Definition of Done (DoD)

  • Defect Handling in Agile:

    • Bug Triage in Sprints

    • Regression Testing in Agile

Hands-on Tasks

  1. Create a user story for login functionality.

  2. Write acceptance criteria using Gherkin (Given-When-Then).

  3. Identify sprint test activities.

  4. Create a sample sprint backlog for a to-do app.

  5. Participate in mock daily stand-up (3 questions).

  6. Define “Definition of Done” for a feature.

  7. Classify tasks: story vs bug vs spike.

  8. List 5 agile testing challenges.

  9. Map test cases to user stories.

  10. Plan regression testing in a 2-week sprint.

  11. Identify roles in Scrum team.

  12. Simulate bug triage process.

  13. Plan exploratory testing session.

  14. Estimate testing effort using story points.

  15. Write 3 sample retrospective notes (Start/Stop/Continue).


Day 3: Advanced Manual & Agile Practices

Topics in Detail

  • Test Documentation in Agile:

    • Lightweight Test Cases

    • Checklist-Based Testing

    • Mind Maps

  • Continuous Integration & Continuous Delivery (CI/CD) basics

  • Defect Management Tools:

    • JIRA basics (creating story, bug, subtask)

    • Linking test cases to user stories

  • Risk-Based Testing

  • Agile Metrics:

    • Velocity

    • Burndown Chart

    • Defect Leakage

  • Real-time Agile Testing:

    • Pair Testing

    • Automation Integration with Agile

  • UAT (User Acceptance Testing)

  • Agile Testing Interview Questions

Hands-on Tasks

  1. Create a lightweight test checklist for sign-up feature.

  2. Design a mind map for shopping cart testing.

  3. Create a JIRA bug with proper fields.

  4. Link bug to user story in JIRA (sample workflow).

  5. Prepare UAT test cases for a payment module.

  6. Identify risks in an eCommerce release.

  7. Plan regression suite selection.

  8. Create burndown chart (sample data).

  9. Prioritize backlog items using MoSCoW.

  10. Suggest automation candidates for regression.

  11. Write sample release note for testers.

  12. Conduct mock sprint review demo.

  13. List top 10 Agile testing interview questions.

  14. Plan test data for login & payment.

  15. Final mini-project: Plan testing for a 2-week sprint (create user stories, test cases, and a basic regression plan).

\============================================================================

Complete Framework Creation Plan (7 Steps)

This plan can be executed in 7 steps (or 7 days), but you can compress it into 3–4 days for fast-track.


Step 1: Project Setup & Environment

Objectives

  • Set up the project structure using Maven.

  • Add required dependencies (Selenium, TestNG, WebDriverManager, Log4j, ExtentReports).

Activities

  1. Create Maven Project (mvn archetype:generate or via IDE).

  2. Create src/main/java and src/test/java packages.

  3. Add dependencies in pom.xml:

    • Selenium

    • TestNG

    • WebDriverManager

    • Logging (Log4j or SLF4J)

    • Reporting (Extent Reports/Allure)

  4. Configure Git repository for version control.


Step 2: Base Setup (Driver & Config Management)

Objectives

  • Create a Base Class to initialize WebDriver.

  • Externalize configuration (URL, browser, credentials).

Activities

  1. Create BaseTest.java:

    • Setup & teardown methods (@BeforeMethod, @AfterMethod).

    • Browser factory (Chrome, Firefox, Edge).

  2. Add config.properties for environment details.

  3. Add utility class for reading properties (ConfigReader).


Step 3: Utilities & Helpers

Objectives

  • Add reusable utilities for common tasks.

Activities

  1. Create utility classes:

    • WaitUtils (Explicit/Fluent Waits)

    • ActionUtils (mouse hover, drag & drop)

    • ScreenshotUtils

    • ExcelUtils or JSON reader for test data

  2. Add constants class (Constants.java).


Step 4: Page Object Model (POM) Implementation

Objectives

  • Implement Page Object Model for better maintainability.

Activities

  1. Create package: pages

  2. Create separate classes for each page:

    • LoginPage

    • DashboardPage

    • ProductPage

  3. Add elements using @FindBy (PageFactory).

  4. Write methods (login, search, add to cart, etc.).


Step 5: TestNG Integration & Test Scripts

Objectives

  • Write TestNG test cases using POM.

  • Implement Assertions & Groups.

Activities

  1. Create tests package.

  2. Write sample tests (Login Test, Product Search Test).

  3. Add TestNG annotations:

    • @BeforeSuite, @BeforeMethod, @AfterMethod

    • @Test(groups = {"smoke","regression"})

  4. Create testng.xml:

    • Parallel execution

    • Include/exclude tests


Step 6: Reporting, Logging & CI/CD

Objectives

  • Add reports, logs, and CI integration.

Activities

  1. Integrate Extent Reports or Allure.

  2. Add Log4j for logging.

  3. Configure mvn clean test for CI builds.

  4. Set up Jenkins job:

    • Pull code from GitHub

    • Run tests via Maven

    • Generate reports

    • Send email/slack notification


Step 7: Final Enhancements & Scalability

Objectives

  • Make framework scalable, reusable & CI-ready.

Activities

  1. Add Data-Driven Testing:

    • Excel, JSON, or DB integration
  2. Implement Retry Logic (TestNG IRetryAnalyzer).

  3. Add cross-browser support (Grid or Docker-Selenium).

  4. Optimize waits & parallel execution.

  5. Document framework (README.md or Wiki).


Deliverables after Framework Creation

  • Reusable Automation Framework (Java + Selenium + TestNG + Maven)

  • Configurable (config.properties)

  • POM-based design

  • Logging & Reporting

  • Integrated with Jenkins CI/CD

  • Ready for regression, smoke, and data-driven testing

\============================================================================