Software Testing
Manual Testing
1. Introduction to Software Testing
● What is Software Testing?
● Importance of Software Testing
● Software Development Life Cycle (SDLC)
● Software Testing Life Cycle (STLC)
● Verification vs. Validation
2. Types of SDLC
● Waterfall model
● V-Model
● Agile Methodology
3. Types of Testing
● Functional Testing
○ Unit Testing
○ Integration Testing
○ System Testing
○ User Acceptance Testing (UAT)
● Non-Functional Testing
○ Performance Testing
○ Security Testing
○ Usability Testing
○ Compatibility Testing
○ Load Testing
○ Stress Testing
● Regression Testing
● Smoke Testing & Sanity Testing
● Exploratory Testing
● Ad-hoc Testing
4. Testing Methodologies
● Black Box Testing
● White Box Testing
● Grey Box Testing
5. Test Documentation
● Test Plan
● Test Case Design
● Test Scenario
● Test Data Preparation
● Test Summary Report
6. Defect Management
● What is a Defect?
● Defect Life Cycle
● Severity vs. Priority
● Defect Reporting and Tracking
7. Agile and Testing
● Agile Testing Process
● Scrum & Kanban Framework
● Test-Driven Development (TDD)
● Behavior-Driven Development (BDD)
8. Test Management Tools
● JIRA
● TestRail
9. API Testing (Basic Concepts)
● What is API Testing?
● Understanding REST & SOAP
● Using Postman for API Testing
Core Java
1. Introduction to Java
● Features of Java
● JDK, JRE, and JVM
● Java Compilation Process
● Differences between JDK 8, 11, 17, etc.
2. Basics of Java
● Data Types and Variables
● Operators and Expressions
● Control Statements (if-else, switch)
● Loops (for, while, do-while)
3. Object-Oriented Programming (OOPs)
● Class and Object
● Constructor and Constructor Overloading
● Inheritance (Single, Multilevel, Hierarchical, Multiple via Interface)
● Method Overloading & Method Overriding
● Abstraction (Abstract Class & Interface)
● Encapsulation
● Polymorphism
● ‘super’ and ‘this’ Keyword
4. Java Strings
● String, StringBuilder, and StringBuffer
● String Methods
5. Java Collections Framework (JCF)
● List (ArrayList, LinkedList, Vector, Stack)
● Set (HashSet, LinkedHashSet, TreeSet)
● Map (HashMap, LinkedHashMap, TreeMap)
● Iterators & Streams in Collections
6. Exception Handling
● try, catch, finally
● throw vs throws
● Checked vs Unchecked Exceptions
7. Multithreading & Concurrency
● Thread Class and Runnable Interface
● Thread Lifecycle
● Synchronization (Locks, Volatile, Atomic Variables)
8. Input/Output (I/O) in Java
● File Handling (FileReader, FileWriter, BufferedReader)
● Serialization & Deserialization
9. Functional Programming in Java
● Lambda Expressions
● Method References
● Functional Interfaces (Predicate, Consumer, Supplier, Function)
● Streams API (map, filter, collect, forEach)
● Optional Class
10. Java 8+ Features
● Default & Static Methods in Interface
● Streams API
● New Date and Time API (LocalDate, LocalTime, LocalDateTime)
Automation Testing
1. Introduction to Selenium
● What is Selenium?
● Features of Selenium
● Advantages and Limitations of Selenium
● Selenium Components (Selenium IDE, WebDriver, Grid)
2. Selenium WebDriver Basics
● Architecture of WebDriver
● Setting up Selenium with Java
● Installing WebDriver (Chrome, Firefox, Edge, etc.)
● Launching Browsers in Selenium
3. Locators in Selenium
● ID
● Name
● Class Name
● Tag Name
● Link Text & Partial Link Text
● CSS Selector
● XPath (Absolute & Relative)
4. WebElement and WebDriver Methods
● sendKeys(), click(), getText(), getAttribute()
● isDisplayed(), isEnabled(), isSelected()
● getTitle(), getCurrentURL(), getPageSource()
● navigate().to(), navigate().back(), navigate().forward()
5. Handling Web Elements
● Handling Text Boxes, Buttons, Checkboxes, and Radio Buttons
● Handling Dropdowns (Select Class)
● Handling Alerts (JavaScript Pop-ups)
● Handling Frames & iFrames
● Handling Browser Windows & Tabs
● Handling Web Tables
6. Handling Dynamic Elements
● Implicit and Explicit Waits
● Fluent Wait
● WebDriverWait
● Expected Conditions
7. Actions Class in Selenium
● Mouse Hover
● Drag & Drop
● Right Click (Context Click)
● Double Click
● Keyboard Actions (sendKeys, KeyUp, KeyDown)
8. JavaScript Executor in Selenium
● Scrolling the Page
● Clicking Hidden Elements
● Getting & Setting Values
9. Capturing Screenshots
● Full Page Screenshot
● Element-Specific Screenshot
10. Test Framework Integration
● Selenium with TestNG
○ TestNG Annotations (@Test, @BeforeMethod, @AfterMethod, etc.)
○ Parallel Test Execution
○ Data-Driven Testing (DataProvider)
● Selenium with JUnit
● Assertions in TestNG & JUnit
11. Page Object Model (POM) and Page Factory
● Why POM?
● Creating Page Classes
● Using @FindBy Annotation
●
12. Handling Captcha & Authentication Pop-ups
● AutoIT for Windows Authentication
● Bypassing Captcha Techniques
13. Continuous Integration with Selenium
● Selenium with Jenkins
● Running Selenium Tests in CI/CD Pipeline