CURRICULUM
Manual Testing Curriculum
Software Testing Overview
Introduction to Software Testing
Objectives of Testing
Software Development Process
Project vs. Product
Error / Fault / Failure
Why Software has defects?
Most common defects
Cost of fixing defects
What is Verification & Validation
Difference between QA & QC
Principles of Testing
Early Testing
Exhaustive Testing Impossible
Defect Clustering
Testing is Context Dependant
Testing Should Show Presence of Defects
Absence of Error is a Fallacy
Software Development Life Cycle (SDLC)
SDLC Phases
SDLC Models
Waterfall Model
V Model
Agile Model
Software Testing Methodologies
Static Testing
White Box Testing
Black Box Testing
Gray Box Testing
Static Testing Techniques
Reviews
Walkthroughs
White Box Testing
Unit Testing
Integration Testing
Black Box Testing
System Testing
User Acceptance Testing (UAT)
Alpha Testing
Beta Testing
System Testing and Types of System Testing
Smoke / Sanity Testing
Formal Testing
Priority Based/Risk Based Testing
Ad-hoc Testing
Re-Testing and Regression Testing
End-to-End Testing
Exploratory Testing
Benchmark Testing
Monkey Testing
UI Testing
Usability Testing
Security Testing
Performance Testing
Load Testing
Stress Testing
Compatibility Testing
Installation Testing
Globalization Testing
Localization Testing
Recovery Testing
Software Testing Life Cycle (STLC)
Test Planning
Test Strategy
Test Plan
Test Analysis
Analyzing Functional Requirements
Preparing Requirement Clarification
Test Preparation
Identifying & documenting Test Scenarios
Test Case Design Techniques
ECP
BVA
Decision Table Testing
State Transition Testing
Use case Testing
Preparing Test Cases
Preparing Test Data
Preparing RTM
Test Execution
Build Release Process
Executing Testcases
Defect / Bug Life Cycle
Defect Management
What is defect?
Defect Classification
Defect Severity & Defect Priority
Defect Report Template
Defect Reporting & Defect Tracking
Test Closure
Criteria for Test Closure
Status Reports (Daily and Weekly)
Test Summary Reports
Agile Testing
Database Testing
Selenium Automation Curriculum
Java Essentials for Selenium
Java Programming Basics
Why Java for Selenium
Installing Java
Installing Eclipse
First Eclipse Project
First Java program
Concept of class file
Datatypes in Java
String class and functions
Practical Examples on Strings handling
Conditional Statements
If…else…
Switchcase
Practical Examples with conditions
Loops
While Loop
For Loop
Practical Examples with loops
Arrays
Single Dimensional Arrays
Two Dimensional arrays
Practical usage of arrays in Selenium
Operators
What are Functions?
Function Input Parameters
Function Return Types
Object Oriented Programming in Java
Local Variables
Global Variables
Static and Non-Static Variables
Static and Non-Static Functions
Creating Objects in Java
Meaning of static
Why is main method static?
Object and Object References
Call by reference and Value
Overloading and Overriding Functions
Access Modifiers – Public/Private/ Protected
Constructors
Interface
Usage of Objects in Selenium
Inheritance
Usage of Inheritance in Selenium
Creating Packages
Accessing Classes across Packages
Exception Handling
Exception handing with try catch block
Importance of exception handling
Exception and Error
Throwable Class
Final and Finally
Throw and Throws
Different Types of Exceptions
Need of exception handling in Selenium framework
Automating Excel file Operations
Creating/Opening XLS Files
Reading/Writing Microsoft XLS Files
Counting Rows and Columns
Practical Examples
Automating Text File Operations
Creating/Opening Text Files
Reading/Writing Text Files
Practical Examples
Selenium
Introduction
What is Selenium?
Who developed Selenium?
Selenium Components
WebDriver Introduction
Introduction to WebDriver & Comparison with Selenium RC
Installing Selenium WebDriver
Architecture of selenium Webdriver
Creating your First Script in Webdriver
Launching AUT and Inspecting properties of Elements
Launching AUT in FireFox
Launching AUT in InternetExplorer
Launching AUT in Chrome
Launching AUT in Safari
Inspecting properties of Elements on different Browsers
Installing FireBug and FirePath
Creating FireFox Profile
Automating Operations on various Elements
Browser
TextBox
ListBox
Links
Check Box
Radio Button
HTML Tables
Calendars
Automating Keyboard and Mouse Events
Action Class
KeyBoard Events
Drag & Drop Actions
Mouse Hover Action
RightClick, Double Click & Tool Tip
Handling multiple Windows
getwindowHandle()
getwindowHandles()
Switching between windows
Handling elements present in different windows
Handling Alerts
accept()
dismiss()
getText()
sendKeys()
Handling Frames
What is iFrame?
Locating Frames
Switching between Frames
Handling Frames
Handling Ajax Components
Handling Ajax Components
Creating Customize XPath/CSS Selectors
What is XPath
When to Use XPath
Absolute XPath/Relative XPath
Specifying conditions with XPath
CSS Selectors
Customizing CSS Selector
Synchronization
ImplicitWait
WebDriverWait
FluentWait
PageLoadTimeout
What is TestNG?
Advantages of TestNG over JUnit
Why do we need TestNG in Selenium?
Installing TestNG in Eclipse
Creating a New TestNG Test File
Test annotation
Running the Test
Checking reports created by TestNG
Generating HTML Reports
Annotations used in TestNG
Validating Tests with Assertions
Creating multiple Tests
Prioritizing Tests
Parameterizing Tests with dataProvider
TestNG dataProvider with Excel
Creating and Running Test Suites with TestNG.xml
Parallel Test Execution with TestNG
Cross Browser Testing using TestNG
Automation Test Frameworks
Keyword Driven Framework
Data Driven Framework
Page Object Model (POM) & Page Factory in Selenium
What is POM
Why POM?
Advantages of POM
Creating POM Tests
What is Page Factory?
Creating Tests with Page Factory
Database Testing using Selenium
JDBC (Java Database Connectivity)
Driver Manager
Driver
Connection
Statement
ResultSet
SQLException
Connecting to DataBases
Sending SQL Queries to Database
Processing Results
Real-time examples of Database Testing with Selenium
AutoIT
Installing AutoIT
Components of AutoIT
Using FinderTool
AutoIT commands
Creating Scripts in AutoIT
Creating executable files
Running AutoIT Scripts from Selenium
Selenium GRID
What is Selenium Grid?
When to Use Selenium Grid?
What is a Hub and Node?
How to Install and Use Grid 2.0?
Designing Test Scripts That Can Run on the Grid
Using the DesiredCapabilites Object
Using the RemoteWebDriver Object
Running a Sample Test Case on the Grid
Sequential and Parallel Test Execution
Running Tests on different Operating Systems
Running Tests on different Browsers
Maven & Jenkins
MAVEN
What is Maven and Why Maven?
Installing/Configuring Maven
Creating Maven Project
Importing Maven Project into Eclipse
What is POM.xml?
Adding Dependencies to POM.xml
JENKINS
Installing/Configuring Jenkins
Scheduling Test Execution in Jenkins
Auto mail configuration in Jenkins
What is continues integration?
Continues integration with JENKINS
GIT
Downloading and Installing GIT
Installing GIT and GITHUB plug-ins for JENKINS
Configuring SSH host keys for GIT and JENKINS
GIT Bash commands
Uploading project to GIT