Oct 5, 2015

TestNG Interview Questions

TestNG Interview Questions

1) What is TestNG?
TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use.

2) What is TestNG in Selenium?
Using TestNG framework in Selenium we can,

> Generate Detailed (HTML) Test Reports.

> Group Test cases.

> Parallel Test execution.

> Parameterize Tests

> Execute multiple classes / programs using XML file etc...

3) How to install TestNG in Eclipse?
In Eclipse IDE,

Help menu -> Install New Software -> Click Add

> Enter name as "TestNG"

> Enter url as: "http://beust.com/eclipse/"

> Select "TestNG"

> Next > Next > accept the Agreement > finish

4) Give a TestNG Program example?

public class TestNGexample {

public void verifyTitle() {
WebDriver driver = new FirefoxDriver();
String Actual = driver.getTitle();
Assert.assertEquals(Actual, "Gmail");

> main method is not required for TestNG programs.

> TestNG program contains methods that contain @ annotations.

> If we don't write @Test Annotation then the method won't be executed.

5) What are the important TestNG Annotations?
Important TestNG Annotations are:

@Test - Annotation for every Test (Method)

@BeforeMethod - pre-condition for every test case in a program.
@AfterMethod - Post condition for every test case in a program.

@BeforeClass - pre condition for all test cases in a program/class
@AfterClass - post condition for all test cases in a program/class

@BeforeTest - pre condition for all test cases in multiple classes/programs
@AfterTest - post condition for all test cases in multiple classes / programs

6) How to create multiple Test cases in a program/class?
public class TestNGexample {

public void testA () {
Assert.assertEquals("Gmail", "Gmail");

public void testC() {
Assert.assertEquals("Gmail", "Gmail");

public void testB() {
Assert.assertEquals("abc", "abc");

As per TestNG program:

Execution Flow:

If you want to control the Test execution flow then use "priority" Attribute.


@Test (priority = number")


public class TestNGexample {

@Test (priority=1)   
public void testA () {
Assert.assertEquals("Gmail", "Gmail");

@Test (priority=2)       
public void testC() {
Assert.assertEquals("Gmail", "Gmail");

public void testB() {
Assert.assertEquals("abc", "abc");

7) How to execute multiple program or classes?
Using XML file we can execute multiple Java programs or classes at a time.

8) How to create XML file?
Create XML file

Select Java Project and Right click

> New
> Other
> Enter XML and Select XML file
> Enter File Name
> Finish

9) Give an example for executing multiple programs or classes?
XML File
<?xml version="1.0" encoding="UTF-8"?>
<suite name = "Ecommerce suite">
<test name ="Sanity Tests">
<class name="javaExamples.Class1"/>
<class name="javaExamples.Class2"/>

Class 1:

public class Class1 {
    public void login(){
    System.out.println("Login Successful");
    public void logout(){
    System.out.println("Logout Successful");
    @Test (priority=1)
    public void search(){
    System.out.println("Search Successful");
    public void advancedSearch(){
    System.out.println("Advanced Search Successful");
    public void buyProducts(){
    System.out.println("Buying Products Successful");
Class 2:

public class Class2 {
    public void login(){
    System.out.println("Login Successful");
    public void logout(){
    System.out.println("Logout Successful");
    public void accountSummary(){
    System.out.println("Account Summary Successful");
    public void fundTransfer(){
    System.out.println("Fund Transfer Successful");
    public void billPayment(){
    System.out.println("Bill Payment Successful");
10) Give an example for parallel Test execution?
XML File

<suite name = "Parallel Test suite" parallel = "classes" thread-count = "2">
<test name = "Sanity Test">

<class name = "seleniumTests.Class1"/>
<class name = "seleniumTests.Class2"/>

parallel = "methods": TestNG will run all the methods in separate threads.
parallel = "classes" : TestNG will run all the methods in the same class in the same thread.
parallel = "tests" : TestNG will run all the methods in the same <test> tag in the same thread.
Class 1

public class Class1 {
    public void login(){
    System.out.println("Login Successful");
    public void logout(){
    System.out.println("Logout Successful");
    @Test (priority = 1)
    public void search(){
    System.out.println("Search Successful");
    @Test (priority = 2)
    public void advancedSearch(){
    System.out.println("Advanced Search Successful");
    @Test (priority = 3)
    public void buyProducts(){
    System.out.println("Buying Products Successful");
    @Test (priority = 4)
    public void testCase(){
    System.out.println("Test Case in "+getClass().getSimpleName()
    + " With Thread id: " + Thread.currentThread().getId());
Class 2

public class Class2 {
    public void login(){
    System.out.println("Login Successful");
    public void logout(){
    System.out.println("Logout Successful");
    @Test (priority = 1)
    public void accountSummary(){
    System.out.println("Account Summary Successful");
    @Test (priority = 2)
    public void fundTransfer(){
    System.out.println("Fund Transfer Successful");
    @Test (priority = 3)
    public void billPayment(){
    System.out.println("Bill Payment Successful");
    @Test (priority = 4)
    public void testCase(){
    System.out.println("Test Case in "+getClass().getSimpleName()
    + " With Thread id: " + Thread.currentThread().getId());
11) Give an Example for grouping Test cases?
XML File

<suite name ="suite">
<test name ="test">

<include name = "sanity"/>

<class name = "seleniumTests.GroupTests"/>
<class name = "seleniumTests.GroupTests2"/>

Java Program/Class file

@BeforeTest (groups ={"sanity","regression"})
    public void login(){
    System.out.println("Login Successful");
    @AfterTest (groups ={"sanity","regression"})
    public void logout(){
    System.out.println("Logout Successful");
    @Test (groups ={"sanity"})
    public void search(){
    System.out.println("Search Successful");
    @Test (groups ={"sanity","regression"})
    public void advancedSearch(){
    System.out.println("Advanced Search Successful");
    @Test (groups ={"sanity", "regression"})
    public void buyProducts(){
    System.out.println("Buying Products Successful");
    @Test (groups ={"regression"})
    public void abcd(){
    System.out.println("Abcd Successful");
    @Test (groups ={"regression"})
    public void xyza(){
    System.out.println("Xyza Successful");
    @Test (groups ={"regression"})
    public void asdf(){
    System.out.println("Asdf Successful");
12) Give an example for Data Driven Testing?
If you want work with excel, then download third party jar files

Ex: jxl

public class DataDriven {
    @Test (dataProvider="testdata")
    public void Addition(String val1, String val2, String val3){
        int a = Integer.parseInt(val1);
        int b = Integer.parseInt(val2);
        int c = Integer.parseInt(val3);
        int result = a + b + c;
    public Object [] [] readExcel() throws BiffException, IOException {
        File f = new File("C:/Users/gcreddy/Desktop/Input.xls");
        Workbook w = Workbook.getWorkbook(f);
        Sheet s = w.getSheet(0);
        int rows = s.getRows();
        int columns = s.getColumns();
        String Inputdata [] [] = new String [rows] [columns];
        for (int i = 0; i<rows; i++){
            for (int j = 0; j<columns; j++){
                Cell c = s.getCell(j, i);
                Inputdata [i] [j] = c.getContents();
        return Inputdata;

Sep 27, 2015

Selenium Project

Functional Test Automation using Selenium

I) Project Info:
Domain: Ecommerce

Sub-Domain: B2C (Business to Customer)

Application: Online Shopping

Type of the Application: Public web Application

Application Environment: LAMP (Linux, Apache, MySQL, PHP)

Project Description: Online shopping portal, Vendors sell their products through this web portal, and Customers purchase products.

Stake holder of the project
i) Portal developer

ii) Vendors /Manufacturers

iii) Customers

iv) Payment Gateway service providers etc...
Application Interfaces:
i) Admin Interface / Server side Interface

ii) User Interface / Client side Interface
i) Admin Interface / Server side Interface


www.gcrit.com -Web domain
build3 -folder


www.tupaki.com -Web domain

english-Sub domain

User name: admin

password: admin@123

Features to be tested in admin Interface:
i) Admin Login

ii) Create /Edit /Delete Manufacturers

iii) Create /Edit /Delete Products

iv) Create /Edit /Delete Currencies

v) Product Report

vi) Customer Report etc...
II) User Interface/Client side Interface



Features to be Tested in Client side Interface

i) Customer Registration

ii) Customer Login

iii) Buy products etc...
II) Pre-requisites to create Automated Test cases
i) Test Requirement

Ex: Verify Gmail Login
ii) Test Steps / Navigation


1) Launch the Browser and navigate to www.gmail.com.

2) Enter Email

3) Click next

4) Enter password

5) Click Sign In
iii) Verification point/s

Ex: Check the existance of User gmail page.

iv) Input Data


Email: gcrindia

Password: abcd123
v) Error Handling

Close the Browser
vi) Add Comments
III) Selenium Test Cases
1) Admin Login

a) Launch the Browser and navigate to www.gcrit.com/build3/admin/

b) Enter User Name

c) Enter Password

d) Click Login Button
Verification Point:

Check the existence of Logoff Link, if exists then pass otherwise fail.


public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
if (driver.findElement(By.linkText("Logoff")).isDisplayed()){
System.out.println("Login Successful");
System.out.println("Login Failed");

Write exception for failed scenario
2) Customer Registration

a) Launch the Browser and navigate to www.gcrit.com/build3/

b) Click "create an account" link

c) Enter customer details

d) Click "Continue" button
Verification point:

Capture confirmation message and compare with expected.


WebDriver driver = new FirefoxDriver();
driver.findElement(By.linkText("create an account")).click();
driver.findElement(By.name("lastname")).sendKeys("xyz asd");

driver.findElement(By.name("street_address")).sendKeys("abcd asdf");
Select dropDown = new Select(driver.findElement(By.name("country")));

String confirmationMessage = driver.findElement(By.xpath(".//*[@id='bodyContent']/h1")).getText();

if (confirmationMessage.equals("Your Account Has Been Created!")){
System.out.println("Customer Registration Successful");
else {
System.out.println("Customer Registration Failed");   
3) Customer Login

a) Launch the Browser and navigate to www.gcrit.com/build3/

b) Click "login" link

c) Enter Email Address

d) Enter Password

e) Click SignIn Button

WebDriver driver = new FirefoxDriver();
String s = driver.findElement(By.xpath(".//*[@id='tdb4']/span")).getText();
if (s.contains("Log Off")){
System.out.println("Login Successful");
else {
System.out.println("Login Failed");

Sep 20, 2015

Java Videos

Java Step by Step Videos

(Overview of Java Tutorial explains History of Java, Features of Java and Usages of Java Programming language. Java Object Oriented Programming System features.)
(Java environment setup tutorial explains that how to download and Install Java software for Windows operating environment, Write and execute Java programs from Command prompt, Download and extract eclipse IDE, write and execute a Java program using Eclipse IDE.)
(Java Syntax Video Tutorial explains Java syntax rules and Java program structure. Writing Java comments, Java variables declaration, writing Java Conditional and Loop blocks and Java method blocks. Writing a Sample Java program using Eclipse IDE.)

4) Comments in Java

5) Java Data Types

6) Java Modifiers

7) Java Variables

8) Operators in Java

9) Java Conditional Statements

10) Java Loop Statements

11) String handling in Java

12) Java Arrays 

13) Java Built-in Methods 
(Built in Methods in Java tutorial explains Java String methods, Number methods, Array Methods, and Java Character Methods.
Access Java Built in Methods by importing java packages/classes.)

14) Java User defined Methods

15) Input and Output operations

(Java Input and Output tutorial explains displaying output on the console. Reading Input using Scanner class and validating the Input data.) 

16) File handling in Java

17) Working with Databases

18) Exception handling in Java

(Exception Handling in Java Tutorial explains Common scenarios where exceptions may occur, Types of Exceptions and handling exceptions in Java using try, catch blocks.
Arithmetic exception, Null pointer exception,  Number format exception and Array index out of bounds exceptions in Java.)

19) Java Inheritance

(Java Inheritance tutorial explains Types of Inheritance in Java, Reusing Java class members, Creating object and accessing Java Class members (Variables and Methods). Single inheritance, multi level inheritance in java, Inheriting Java classes using "extends" keyword.)
20) Java Polymorphism

21) Java Abstraction

22) Java Encapsulation

Sep 16, 2015

Sep 8, 2015

Java Environment Setup for Selenium

Java Environment Setup
Java Environment Setup for Selenium

History of Java
Java was developed nearly 20 years back, launched in 1995 by Sun MicroSystems now acquired by Oracle Corporation.

Features of Java 
Java is a class-based object-oriented programming language which is
Platform independent – that is it can be used on any Operating System like Windows, Unix/Linux, and Macintosh etc (intended to “write once, run anywhere”  - meaning that compiled Java code(bytecode) can be run on any platform without recompilation)
Open source (free software) – that is under GNU General Public License

Java Environment Setup
Download Java from either java.com site or oracle.com site.

First we have to download Java-JDK (Java Development Kit) and install it.

• In JDK we Java compiler command is available.
• From command line prompt also we can execute java programs.
• If we want to write and execute java programs, first we have to set up java environment.
• We can use any editor (note pad, etc.) for writing java programs but for executing we require java environment.

Steps to download Java
• From oracle.com select ‘Downloads’ and click on Java SE
• Now in the Java SE page click on the logo
• Select "Accept License Agreement"
• Next select operating environment or operating system

If you have Windows 32-bit OS  then select Windows x86 or if it is 64-bit OS then select Windows x64.

• Click on the download link and download
• After installation, we get ‘Java’ folder in ‘C:\Program Files’ folder

Set Environment Variable Path (Path Variable)
• Environment variable path is set in order to access Java software from any directory.

To set environment variable path in MS Windows 7/10

• Select ‘My computer’ and right click
• Select ‘Properties’
• Select ‘Advanced system settings’
• Select ‘Environment Variables’
• Select path variable

• Enter JDK Bin directory path.
• Paste it in the space given for variable value.
• Click Ok-ok-ok.

Note: How to get JDK Bin directory path?

• After selecting system variables,we have to select path variables and click on edit button.
• Then a window appears as edit system variables.
• Here we have to take JDKBin directory path

• Select My computer >c drive>program files>java>jdk>bin

• Copy the path from address bar.

Verifying the Java Environment setup
• Launch command prompt
• Type java (it provides details).

Steps to verify
• Select ‘run’, type ‘cmd’ to get command prompt.
• From any directory type java in command prompt, it provides java details.
• From any directory type javac (java compiler), it provides java compiler details.

Writing, Compiling & Executing Java Programs from Command line
• In computer programming, we have 3 steps for writing and execution of programs
• Writing, Compiling (compilation means converting high level language into machine level language) & Execution

Step:1 writing Java program
• Open ‘notepad’ and write your first Java Program as following

         public class Sample{
         public  static void main (String [] args) {
         System. out. println (“Hello Java”);
         System. out. println (“Hello Selenium”);
  Syntax  1.class Name (class Name should start with capital letter)
  2.main method (Java program execution starts from main method)
  3.display statement 1(every statement should end with semicolon)
  4.display statement 2(every statement should end with semicolon)
• Save the program as Sample.java (save it on ‘desktop’ or any folder which is easy to access)
***Note: Java is case sensitive

Step:2 compiling java program
• First select command prompt and change to program file directory (‘desktop’ or any folder where you have saved the Sample.java program , type javac program name and run.
• Go to command prompt . c:\......>
• Change program file directory. c:\......>Cd Desktop
• Type c:\......\Desktop>javac Sample.java
• Click on Enter

Compilation is done and we get the class file on ‘desktop’ or any folder where you have saved the Sample.java program

Step:3 Execute or run the java program
Now execute the program by typing java and program name on command prompt
• Type c:\......\desktop>java Sample.java
• Click on Enter
• Output is generated as below on console

Hello Java
Hello Selenium

Exit from command prompt type c:\.....\desktop>exit.


• The program file name and class name should be the same as it is syntax rule.
• Whenever we edit/modify the program, it is to be compiled again
• Once the program is compiled you can run/execute  multiple times
In Test Automation using selenium, we use an Integrated Development Environment like eclipse IDE, not notepad or command  line for ease and speed.

Eclipse IDE (Integrated development environment)

Eclipse IDE it is a platform to create and execute  programs  like Java, Pearl, Python, Ruby, PHP etc

• Eclipse IDE is open source (Eclipse public license)
• It provides Editor, help for syntax errors ,context help, auto compilation, de-bugging facility etc

Downloading  & Launching Eclipse IDE
• Go to google search page, type eclipse IDE download
• Click on eclipse downloads
• Download eclipse IDE for Java EE or eclipse IDE for Java developers
• Extract the zip file to a folder where we find eclipse.exe file, clicking the.exe file will launch the eclipse IDE(No need to install)

Sequence for creating Java program in Eclipse IDE
> Create Java project
>Create a package(under Java Project)
>Create Classes , Interfaces(under package)

Steps for creating Java program in Eclipse IDE
• Navigation path for creating New Java Project:

 Click on File->New->Java Project

Type Project name - eg ‘Sample’ and click on Finish

• Navigation path for creating New Package under created Java Project:

 Right Click on created Java project ‘Sample’, select New & click on Package

Type Package name – eg ‘selenium Testing’ and click on Finish

• Navigation path for creating New Class under created Java Package:
Right Click on created Java Package ‘selenium Testing’, select New & click on Class

Type Class name – eg ‘JavaProgram’ and click on Finish

Writing & Executing the Java Program using Eclipse IDE
Click on the ‘JavaProgram’ & write the Java Program in the Editor( in the Right)
& Click on the Run to Execute the ‘JavaProgram’

Output is generated as below

Hello Java
Hello Selenium

Navigation for Editor Settings in Eclipse (Change Font size etc...)

Editor Text Fonts

Window(Menu)->Preferences->General->Appearance->Colors and Fonts->Java->Java Editor Text Font->Edit

Output Console FontsWindow(Menu)->Preferences->General->Appearance->Colors and Fonts->Debug->Console Fonts->Edit

Sep 3, 2015

Selenium Step by Step Videos

Selenium Step by Step Videos

Module I: Selenium Introduction

1) Overview of Test Automation

2) Overview of Selenium

3) Selenium Test Process

4) Java for Selenium (Overview)

Module II: Java for Selenium

A) Java Fundamentals 

1) Java Introduction

2) Java Environment Setup

3) Java Program Structure / Java Syntax

4) Comments in Java

5) Java Data Types

6) Java Modifiers

7) Java Variables

8) Operators in Java

9) Java Conditional Statements

10) Java Loop Statements

11) String Handling in Java

12) Java Arrays

13) Java User defined Methods

14) Java Built-in Methods

15) IO operations in Java

16) File Handling in Java

17) Exception Handling in Java

B) Java Object Oriented Programming System

18) Java - Inheritance

19) Java - Polymorphism

20) Java - Abstraction

21) Java - Encapsulation

22) Java Interfaces

Module III: Selenium WebDriver

1) Overview of Selenium WebDriver

2) Selenium WebDriver Environment Setup

3) Element Locators in Selenium

4) Selenium WebDriver Methods

5) Handle Elements Part-1

6) Handle Elements Part-2

7) Write Selenium Test Cases

8) Cross Browser Testing

9) Synchronization

10) Enhancing Selenium Test cases

Module IV: TestNG for Selenium

1) Overview of TestNG

2) Install TestNG and Write TestNG Program   

3) Create and Execute Multiple Test Cases      

4) Execute Multiple Programs using XML

5) Grouping Test Cases       

6) Data Driven Testing

7) Parallel Test Execution

Module V: Selenium IDE

1) Overview of Selenium IDE

2) Selenium IDE Download and Install

3) Record and Run Test Cases

4) Create Test cases manually

5) Enhance Test Cases

Module VI: Selenium Grid

1) Overview of Selenium Grid   

2) Configure the Nodes   

3) Parallel Test Execution

Selenium Project

Aug 31, 2015

Test Automation Tutorial

Overview of Test Automation

1)    Drawbacks of Manual Testing

•    Manual Testing requires more time or more resources
    (Human resources and Environmental Resources), some times both.

•    Performance testing is impractical in manual testing
    (Organizing thousands of machines and human users is not possible).

•    Less Accuracy (Human Users may make mistakes)

•    Executing same tests again and again is time taking process as well as Tedious.

•    Verifying GUI Objects Size differences and Color combinations are not easy
     in Manual Testing.

•    Not Suitable for Large scale projects and time bounded projects.

•    Batch Testing is not possible, for each and every test execution Human
     user interaction is mandatory.

•    Manual Test Case scope is very limited (Human user can concentrate on one or
     two verification points only), if it is Automated test, scope is unlimited
    (Tool is software It can concentrate on multiple verification points at a time).

•    Comparing large amount of data is impractical (If we want compare Thousands of
     Records, it is not possible, but Test Tool can compare thousands of records).

•    Checking relevance of search of operation is difficult

•    Processing change requests during software maintenance takes more time.

2)    Advantages of Test Automation

a)    Fast:
Automated tests are significantly faster than human users.

Test Tools are faster in Test execution than human users, In Software Testing
two important tasks,

i)    Test Design    ii)    Test Execution  Or Test Run

In case of Test design Test Tools are not faster, for Test Design human user
interaction is mandatory. Test Tools provide IDE (Integrated Environment) for
designing Tests.

In case of Test Execution Test Tools are faster than human users, Tool can execute series of Tests quickly without user interaction.
Anyhow Test Design one time activity but Test execution multiple times, so defiantly we can save Time.

b)    Reliable
Tests perform precisely the same operations each time they are run, thereby eliminating human error.
Human Users may make mistakes, if you provide proper logic Test Tool can provide correct output every time.

c)    Repeatable
We can test how the application reacts after repeated execution of the same operations.
We can execute same operations (Data Driven Testing) using multiple sets of Test Data. If it is manual Test Testing, takes more time.

Why we need to execute same operations multiple times?

For positive and Negative Testing we perform Data Driven Testing.

d)    Programmable
We can program sophisticated tests that bring out hidden information.
We can apply programming features to our tests (Ex: Flow control statements, Functions etc…) We can insert multiple verification points in an Automated Test, Test Tool is software it can concentrate on multiple verification points at a time, but in Manual testing human user can concentrate on one or two verification points at a time, So  Automated Test scope is very high than Manual Test case.

e)    Comprehensive
We can build a suite of tests (Batch Testing) that covers every feature in our Application.
Software Test Tools support Batch Testing (Executing Series of Tests), we can create test batches, without human user interaction Tools can execute test batches, if it is manual testing, each and every test case execution user interaction is mandatory.

f)    Reusable
We can reuse tests on different versions of an application, even if the user interface changes.
Ex: Sanity Tests, Regression Tests

3)    Disadvantages of Test Automation

a) 100% test automation is impractical, generally we try to automate maximum test

b) All types of testing is not possible (Ex: Usability Testing)

c) More Efforts required at initial stage of Test Automation.

d) Not suitable dynamically changing UI designs

e) Debugging issues

f) Tools may have their own defects, so we may not get desired benefits.

g)    Lack of knowledge

h)    Environment limitations (In UFT, if you want test Java Application Java Add in required, SAP Application SAP Add in required, UFT is not providing Add ins for All Environments.)
If it is manual testing no Environment limitations, irrespective of the Application Environment you can apply manual testing methods.
4) Types of Test Tools

a) Business classification

i) Vendor Tools
Companies develop test tools for commercial use, license is required to use and get technical support.

HP- UFT, LoadRunner, QC/ALM etc…

IBM-Rational- Rational Robot, RFT, RPT, QA Director

Micro Focus-SilkTest, Silk Performer

ii) Open Source Tools

Source code available on NET anybody can download and use.

Ex: Selenium, Jmeter, Bugzilla, QAwebload etc…

iii) In-House Tools

Some companies develop test tools for their internal use / Private use.
b) Technical Classification
i) Functional & Regression Test tools
QTP, RFT, Selenium etc...

ii) Performance/Load/Stress Tools

 LR, RPT,Silk Performer JMeter etc

iii) Test management Tools

QC, QA Director etc...

iv) Defect Management Tools

Bugzilla, zera, Issue Tracker, PR-Tracker etc.

v) Security Test tools

vi) Unit Test tools Etc...
5) Overview of Functional Testing
Verifying a component or systems functionality with respect to Functional

Coverage of Functional Testing

a) Input Domain Coverage
Verifying weather the system (Application under Test) is accepting valid inputs
or not? And preventing invalid inputs or not?

b) Output Domain Coverage 

Verifying weather the System is providing correct Outputs or not, based on input and process

c) Database Testing
    Verifying the Data Integrity,

    Data Manipulations (Add, Edit, delete),       

    Data Processing,       

    Data Comparisons,       

    Data Back-up and Recovery Operations Etc...

d) Error handling
Verifying how the system is handling user unauthorized/invalid operations and providing error and help messages.

e) Order of functionalities
Verifying weather the System is providing correct order of functionalities or not?

Aug 18, 2015

Selenium Brochure

Selenium Brochure 

1) Test Automation and Selenium Basics   

    • Overview on Test Automation
    • ATLM (Automated Test Life Cycle Methodology)     
    • Selenium Test Process    
    • Overview on Selenium   
    • Selenium Suite of Tools     
    • Overview of Java for Selenium

2) Java for Selenium

    • Why Java for Selenium
    • Overview of Java
    • Java Environment Setup   
    • Comments in Java     
    • Java Data Types     
    • Java Modifiers     
    • Java Variables   
    • Java Operators   
    • String Handling in Java    
    • Java Conditional Statements     
    • Java Loop Statements     
    • Arrays in Java     
    • Java Built in Methods     
    • Java User defined Methods   
    • File and IO operations in Java   
    • Exception Handling in Java   
    • Inheritance   
    • Abstraction   
    • Polymorphism   
    • Encapsulation

3) Selenium WebDriver   

    • Selenium WebDriver Environment Setup   
    • Write 1st Selenium Test Case   
    • Element Locators in Selenium     
    • WebDriver Methods   
    • Handle Elements in WebDriver    
    • Write Test Cases   
    • Cross Browser Testing     
    • Enhancing WebDriver Test Cases 

4) Selenium IDE       

    • Selenium IDE Download and Install   
    • Overview of Selenium IDE
    • Drawbacks of Selenium IDE
    • Record and Run Test Cases, Execute Test suites.   
    • Enhance Test Cases

5) TestNG Framework Implementation

    • Overview of JUnit
    • Overview of TestNG
    • Install TestNG in Eclipse
    • TestNG Annotations
    • TestNG Attributes   
    • Create Multiple Test cases   
    • Executing one or more Programs using XML file   
    • Grouping Test Cases   
    • Data Driven Testing using DataProvider Annotation   
    • Parallel Test execution

6) Selenium Grid

    • Overview of Selenium Grid
    • Configure the Nodes
    • Parallel Test Execution

Selenium Tutorials

Selenium Tutorials

Selenium Brochure
(Selenium learning objectives for Software Testers.)
Selenium Downloads 
(Download and Install Selenium Tools and other Plug ins.)
Selenium Quick Reference
(Overview of Selenium WebDriver, Java for selenium, Selenium IDE, Selenium Grid and TestNG Framework.)
Selenium Step by Step Videos
(Selenium Video Tutorials cover Selenium IDE, Selenium Webdriver, Java for selenium and TestNG Framework Implementation.)
Selenium Tutorial for Beginners
(Fundamentals of Selenium: Overview of Selenium, History of selenium Project, selenium License, Selenium Vs UFT, Configure Selenium etc...
Selenium IDE Tutorial
(Download & Install Selenium IDE, Record and Run Test Cases, Debug Test cases, Insert steps and Insert Comments.)
Selenium WebDriver Tutorial
(Creating and Executing Selenium Test cases using Element Locators and WebDriver methods.
Overview of Selenium WebDriver
(Selenium WebDriver introduction and Webdriver Environment setup.)
Handling Elements in Selenium WebDriver
(Handling Browser, Link, Edit box, Button, Radio button, Text Area, HTML table, Frame, Check box objects.)
Selenium Cross Browser Testing
(Executing Test cases using Mozilla Firefox, Google Chrome and Internet Explorer Browsers.)
Selenium WebDriver Test Case Examples
(Creating Test cases using Element Locators and WebDriver Methods.)
Selenium Versus UFT (Formerly QTP)
(Differences between Selenium and HP Unified Functional Testing.)
TestNG Tutorial
(TestNG Framework implementation, grouping tests, Parallel test execution and generating html test reports.)
Selenium Interview Questions
(Interview Questions and Answers on Selenium.)
Selenium Sample Resume

Aug 5, 2015

Testing Tools

Software Test Tools

Software Test tool is Software used to automate Software Test process.

I) Functional and Regression Test Tools

1) HP UFT (Formerly QTP)

> UFT - Unified Functional Test Tool from HP is used to automate Functional and Regression Test cases of Desktop and Web Applications.

> It supports MS Windows operating environment only, doesn't support UNIX operating environment.

> VBScript is used for enhancing tests in UFT.

> UFT has IDE and Programming interface to create and execute Tests.

> UFT has an integrated MS Access database engine to support Database Testing.

> UFT is an Object based Test tool, based on software objects it supports test automation, but for Database testing no front-end object is required.

> UFT has 2 types of license, one is Seat license another is Concurrent license.

> UFT can integrate with ALM/QC for Test Management.

2) Selenium

> Selenium is a suite of tools to automate Web browsers, supports only web based applications.

> Selenium supports Functional and Regression Test automation of Web Applications.

> It is Open source software, released under Apache 2.0 License. Anybody can download and use with free of cost.

> Selenium Supports various programming languages(Java, C#, PHP, Perl, Python and Ruby) for enhancing test cases, we can use any one of the supporting language.

> Selenium supports various browsers (IE, Mozilla Firefox, Google Chrome, Safari etc..)

> Selenium supports various Operating environments (MS Windows, UNIX and Macintosh etc...)

> Selenium supports JUnit and TestNG frameworks for gouping test cases and genarating test reports

3) IBM RFT (Rational Functional Tester)

> RFT provides automated testing capabilities for functional, regression, GUI, and data-driven testing.

> RFT supports a range of applications, such as web-based, .Net, Java, Siebel, SAP, terminal emulator-based applications, PowerBuilder, Ajax, Adobe Flex, Dojo Toolkit, GEF, Adobe PDF documents, zSeries, iSeries, and pSeries.

> RFT supports Windows and Linux operating environments.

> Rational Functional Tester's object-oriented technology is used to identify various objects by their internal object properties and not by their screen coordinates.

4) SilkTest

> SilkTest supports industry standard languages like VB.NET, C# and Java, or you can use Silk Test’s own 4Test.

> SilkTest supports Visual Studio and Eclipse IDEs and is easy to integrate with unit testing and acceptance testing tools.

> SilkTest supports cross browser testing.

> SilkTest was originally developed by Segue Software which was acquired by Borland in 2006. Borland was acquired by Micro Focus International in 2009.

5) TestComplete

> TestComplete is a functional automated testing tool developed by SmartBear.

> TestComplete supports Python, VBScript, JScript, DelphiScript, C++Script, and C#Script to create tests.

> TestComplete supports Desktop, Web and Mobile applications test automation.

> TestComplete supports Distributed Testing, It can run several automated tests across separate workstations or virtual machines.

II) Performance Test Tools

1) HP LoadRunner

> HP LoadRunner is Performance Test tool and supports MS Windows and Linux (Load Generator only) operating environments.

> LoadRunner is a Protocol based test tool.

2) JMeter
> JMeter is an Open Source testing software.

> JMeter is a Java desktop application with a graphical interface, It can run on any environment that accepts a Java virtual machine, for example − Windows, Linux, Mac, etc.

3) SilkPerformer
> SilkPerformer is a software performance testing tool across web, mobile and enterprise applications.

III) Test Management Tools

1) HP ALM 

> HP ALM (Application Life Cycle Management Tool) supports various phases of the software development life cycle.

> ALM is a web based tool used to manage the application life cycle right from project planning, requirements gathering, until testing and deployment.

> ALM doesn't have any programming interface, It is only for documentation and generating reports.

> ALM can be used for all types of Software applications.

> HP ALM can be integrated with UFT (formerly QTP) and LoadRunner.

> ALM can be accessed by all Developers, Testers,  Business Analysts, Project Managers, and Product Owners.

2) Jira 

> Jira is a project management and issue tracking tool by Atlassian, Inc., and It is platform independent.

> Jira is written in Java, and It is Open source software.

> We can access JIRA cloud site via a mobile device. You have to just use the URL of the JIRA cloud site in your mobile web browser.

IV) Defect Management Tools

1) Bugzilla

> Bugzilla is a Web based defect management tool.

> Bugzilla is an open source bug tracking system, It is written in Perl and uses MYSQL database.

2) Mantis

> Mantis defect / issue tracking system is written in PHP, and works on various databases including MySQL, MS SQL, PostgreSQL.