Selenium Online Training Videos

Video 1 – Introduction to Selenium, Software Test Life Cycle.

I) Introduction to Selenium

1) What is Selenium?
2) History of the Selenium Project
3) Selenium Components / Selenium’s Tool Suite
4) Platforms supported by Selenium
5) Selenium License
6) Advantages’ of Selenium
7) Disadvantages of Selenium
8) Testing Frameworks and Other Tools used in Selenium
9) Selenium vs. UFT / QTP
10) Selenium Environment Setup

II) Software Test Life Cycle

Phases of Software Test Process / Software Test Life Cycle

1) Requirements Analysis
2) Test Planning
3) Test Design
4) Test Environment Setup
5) Test Execution
6) Test Closure


Conducting Software Testing

1) Manual Testing
2) Automated Testing / Test Automation

Levels of Testing
1) Unit Testing
2) Integration Testing
3) System Testing
4) Acceptance Testing

Types of Testing
Functional Testing
Non Functional Testing
Structural Testing
Change Related Testing (Re & Regression Testing)

Ways of Testing: Automated Testing / Test Automation
Test Level: System Testing
Test Type: Functional Testing
Test Tool: Selenium

Note: In System Testing Level we conduct Functional Testing using Selenium

1) What is Selenium?

  • Selenium is used for Functional & Regression Testing
  • Selenium is Open source software to automate web browsers
  • Selenium supports various Browsers to write and execute Test Scripts
    Google Chrome,
    Mozilla Firefox,
    MS Internet Explorer/ MS Edge
    Opera
    Safari
    etc….
  • Selenium supports various programming languages to write Programs (Test Scripts)
    Java,
    Python,
    C#.NET,
    Perl,
    Ruby,
    PHP
  • Selenium supports various operating environment
    MS Windows,
    Linux,
    Macintosh etc…

Note:
1) Selenium IDE doesn’t support any Programming
2) Selenium IDE supports Mozilla Firefox and Chrome browsers only
3) Selenium Grid is only for Test Execution
4) Selenium RC is out dated and it was removed from Selenium latest version/s


2) History of the Selenium Project

  • Selenium was first launched in 2004
  • In 2006, Selenium WebDriver was launched at Google
  • In 2008, the whole Selenium team decided to merge Selenium
  • WebDriver with Selenium RC in order to form a powerful tool called Selenium 2.0

Selenium 1.0
(Selenium IDE + Selenium RC + Selenium Grid)

Selenium 1.0 + Selenium WebDriver = Selenium 2.0

Selenium 2.0
(Selenium IDE + Selenium RC + Selenium WebDriver + Selenium Grid)

Selenium 3.0 (October 2016)
(Selenium IDE + Selenium WebDriver + Selenium Grid)

Note: Selenium Team removed Selenium RC from Selenium 3.0


3) Selenium Components / Selenium’s Tool Suite


Selenium IDE
Selenium RC
Selenium WebDriver
Selenium Grid

a) Selenium IDE (Integrated Development Environment) Features:

  • It is a browser plug-in (Firefox and Chrome) and prototype tool
  • It is used to create and execute Test cases using Firefox or Chrome browsers
  • User can Record the Test Scripts or type Test scripts
  • User can edit Test scripts (Add/Update/delete)
  • User can create Test Suites
  • User can debug Test Cases and Add Comments

Note: Selenium IDE Test Cases can be created using Element Locators and Selenese Commands

Drawbacks of Selenium IDE:

  • It doesn’t support Programming to enhance test cases, so it is not suitable for complex test design
  • It doesn’t support Parameterization/Data Driven Testing
    (Parameterization – passing parameters (variables or arguments) instead of constant (fixed) values)
  • No centralized maintenance of Objects/Elements
  • It doesn’t generate detailed Test Reports summary only

b) Selenium RC -Out Dated

c) Selenium WebDriver

  • Selenium WebDriver doesn’t have IDE and having Programming Interface only
  • Selenium IDE has IDE but no Programming interface, Selenium WebDriver: No IDE, only Programming Interface and UFT/QTP: has both IDE as well as Programming Interface
  • Selenium WebDriver is used to create and execute Test cases/Test scripts
  • Using Element Locators and WebDriver API Commands we can create Test scripts
  • Selenium WebDriver supports various Operating environments, Browsers and programming languages
  • Selenium WebDriver supports Batch Testing, Data Driven Testing, Cross Browser Testing and Database testing

Drawbacks of Selenium WebDriver:

  • Selenium WebDriver has no IDE, so it takes more time and efforts to create Test Scripts
  • No built in Object Repository
    (*using POM we can create object repositories)
  • No built-in Result Reporting facility
    (* using Programming features or using Testing Framework Assert methods)
  • No other Test Tool integration for Test management
  • Difficult to configure Test Environment when it compares to other tools like UFT

d) Selenium Grid:

  • Selenium Grid is only for Test Execution and it doesn’t Support Test Design
  • Selenium Grid supports Parallel Testing
    (it can execute Test scripts against different browsers and machines (computers)

4) Platforms supported by Selenium

Selenium works with various Operating systems, browsers, programming languages and Testing Frameworks

a) Operating Systems

MS Windows
Linux
Macintosh etc…

b) Application Environment

CUI (* It doesn’t support)
GUI – Desktop (* It doesn’t support)
GUI – Web (It Supports)

c) Browsers

Google Chrome
Mozilla Firefox
MS Internet Explorer / MS Edge
Opera
Safari
etc…

d) Programming Languages

Java
Python
C#.Net
Perl
PHP
Ruby

e) Testing Frameworks

Java – JUnit or TestNG
C#.Net – NUnit
PHP: Behat + mink
Python: unittest, pyunit, py.test
Ruby: RSpecc, Test::Unit


5) Selenium License

  • Selenium is an Open Source Software, anybody can download and with free of cost
  • Selenium Projects were released under Apache 2.0 license

a) Anybody can download and use Selenium with free of cost
b) Anybody can modify the source code and use, and distribute to others
c) Selling modified code is not allowed


6) Advantages of Selenium

a) It is an Open Source Software
b) It supports various Operating systems
c) It supports various Programming languages
d) It supports various browser environments
e) It supports parallel testing
f) It uses less hardware resources
Etc…


7) Disadvantages of Selenium

a) It supports only web based applications
b) No reliable technical support from anybody
c) No other tool integration for Test Management
d) No built-in Object Repository
e) No built-in Result Report facility
f) Difficult to configure Test Environment
g) Less support for Image based Testing
h) It takes time and efforts to create Test cases
etc….


8) Testing Frameworks and Other Tools used in Selenium

a) Eclipse IDE – Editor for writing and executing programs
b) Java – To write Test Scripts and enhance Test Scripts
c) Selenium WebDriver Java language binding – to write Test Steps
d) Testing Framework (TestNG)- prioritizing Test Cases, Grouping Test Cases, Executing Test batches, Parallel Testing and generate Test Reports
e) Maven – Easily setup Test Environment and easy Maintenance of the Environment
f) Jenkins – Continuous Integration (integrating Testing process with development process)
etc….


9) Selenium vs. UFT / QTP

10) Selenium Environment Setup

Choose Selenium Tools and Others for Test Automation,
(Eclipse IDE, Java, Selenium WebDriver, TestNG Testing Framework, Maven, Jenkins etc…)

Steps:
a) Download Eclipse IDE and extract
b) Download and Install Java (JDK) Software
c) Set Java Environment variable path
d) Download Selenium WebDriver java language binding from www.seleniumhq.org and add WebDriver jar files to Java Project in Eclipse IDE
e) Download and Install TestNG from Eclipse IDE
f) Download Browser driver/s (Instantiate browser driver/s in Test Scripts

selenium tutorial
Selenium Step by Step Tutorial

II) Software Test Life Cycle

Phases of Software Test Process / Software Test Life Cycle

1) Requirements Analysis
2) Test Planning
3) Test Design
4) Test Environment Setup
5) Test Execution
6) Test Closure

Software Testing and Othe Job Roles:

1) Test Manager / Test Lead:
(Requirement Analysis, Risk Analysis, Create RTM Doc, Team formation, Test Plan Documentation, Configuration Management, Define Test Environment, Test Monitoring, Guidance and Test Control)

2) Tester/s:
(Understanding Requirements, Derive Test Scenarios, Test Case Documentation, Collect Test Data, Update RTM, Test Execution, Defect Reporting & Tracking, Confirmation Testing and Closing defects…)

3) Business Analyst:
(Clarifications on Requirements, Communicates with Client/s, developers and Testers)

4) Developers:
(Tracking Defects, Fixing Defects etc…)

5) Technical Support People:
(Test environment Setup and maintenance etc…)

6) SME:
(Provides Domain knowledge)

7) Project Management:
(Coordinate all project teams)

Etc…


1) Requirements Analysis:

  • Risk Analysis
  • Segregate Test Requirements
  • Create RTM Document

2) Test Planning:

  • Test Strategy Implementation
  • Test Estimations (Scope, resources, time, budget)
  • Team Formation
  • Test Plan Documentation
  • Configuration Management planning
  • Define Test Environment Setup
  • Etc….

3) Test Design

  • Understanding Test Requirements
  • Derive Test scenarios
  • Document Test Cases
  • Collect Test data etc…

4) Test Environment Setup

  • Prepare Test Environment Checklist and Test Data
  • Test Environment Setup
  • Verify Test Environment
  • Conduct Smoke Tests

5) Test Execution:

  • Comprehensive Testing
  • Reporting Defects
  • Tracking Defects
  • Select Test cases for Re & Regression Testing cycle 1
  • Sanity Testing
  • Execute Re & Regression Test cases
  • Reporting defects
  • Tracking defects
  • Select Test cases for Re & Regression Testing cycle 2
  • Sanity Testing
  • Execute Re & Regression Test cases
  • Reporting defects
  • Tracking defects
  • .
  • .
  • Final Regression

6) Test Cycle Closure:

  • Evaluate the exit Criteria
  • Collect all artifacts
  • Prepare Test Summary Report
  • Send Test deliverables to customer
  • Improvement suggestion for Future Projects

Performance Testing
Load Testing, Stress Testing, Spike Testing and Endurance Testing all are subsets of performance Testing

Functional Testing vs. Database Testing
Database Testing is a subset of Functional Testing, but not only part Functional Testing.


Follow me on social media: