software testing course · 2020-02-04 · >setting up eclipse to run selenium programs...

35
Software Testing Course By ABC for Technology and Training Course Content > Core Java > HTML > Manual Testing > Automation Testing > ETL Testing > SQL

Upload: others

Post on 02-Jun-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Software Testing Course

By ABC for Technology and

Training Course Content

> Core Java > HTML

> Manual Testing > Automation Testing

> ETL Testing > SQL

Page 2: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 2 of 35

Core Java

Java Basics

History of programming languages

Differences between Binary level programming

Assembly level programming,

High level Programming

Object Oriented Programming

Versions of java and Features of each version

Advantages of java over other languages

WORA (Write once run anywhere)

Platform independent

Freely downloadable software for JDK

Types of memory available in computer

Loading and linking concepts

Types of software Architecture

Standalone architecture

Two tier architecture

Three tier architecture

Machine dependent and independent features

Page 3: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 3 of 35

Working mechanism of JDK and JVM

Architecture of JVM

Object Orientation

What is Object Orientation?

Advantages of Object Orientation

Properties(data) and Behaviors(methods) of Object

Java as object oriented language

Classes and Objects

main() method

Calling main() method

Working of main() method

Differences between classes and objects

Object creation in Java

Working of new operator

UML notation of class

Guesser game examples using object orientation

methodology

Bank application example using object orientation

methodology

Page 4: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 4 of 35

Naming conventions in Java

Data Types in Java

Different real world data types

Different datatypes supported by Java

Differences between real world types and Java data

types

Memory allocation for different data types in Java

Format(Memory representation) of different types

Difference between ASCII and unicode format

Object representation in memory

Different segments on RAM and their details

Programming examples on data types

Working of Loops and Types of loops

Types and Initialization of loops

Condition check in loops

Printing the loop body

Incrementation in the loop

Page 5: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 5 of 35

Condition check in the loop

Working of break, working of continue

Programming examples on loops

Types of Assignment

Assignment operators

Value type assignment

Reference type assignment

Programming examples on types of assignment

Types of variables in Java

Instance Variables

Local variable, Static variables

Memory allocation of all these variables

Stack and Heap concepts

Programming examples on types of variables

Arrays in Java

Basics of Arrays

Creation of arrays in Java

Page 6: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 6 of 35

Types of arrays in Java

Concepts of Jagged arrays in Java

Printing the values in the array using loops

Programming examples on arrays

Strings in Java

What are Strings in Java?

Creation of Strings in Java?

Different ways of creating String variables in Java

Immutatable concepts of Strings

Memory allocation of Strings

Constant pool and non constant pool concepts of

strings

String comparison in Java and its types

In built methods if string class given by Java

Mutable strings in Java

StringBuffer and StringBuilder class

Differences between StringBuffer and StringBuilder

Equals(), compareTo(), toString() method

Page 7: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 7 of 35

Programming examples on mutable Strings and

immutable Strings

Methods in Java

Types of methods

Methods accepting no input and generating no output

Methods accepting input and generating no output

Methods accepting no input and generating output

Method accepting input and generating output

Method overloading and its advantages

Programming examples on types of methods

Class members in Java

Static- Data, Method members, Blocks

Non Static- Data, Method members, Blocks

Need for Static and Non static block

Programming examples on members of class

Constructors in Java

Page 8: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 8 of 35

Constructor basics in Java

Object state initialization using Constructors,

Constructor working mechanism,

Constructor overloading

Types of Constructor in Java

Parameterized Constructor

Non Parameterized Constructor

Constructor chaining in Java

Programming examples on Constructors

Inheritance

Inheritance working principle in java

Code re-usability Using inheritance

UML notation of inheritance

Extends keyword in Java

Types of inheritance- Single, Multi Level, Hierarchial,

Multiple

Diamond shape inheritance

Why multiple and Diamond shape inheritance is not

supported in Java?

Constructor chainging revisited

Page 9: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 9 of 35

Super keyword

Object construction in inheritance

Method Overriding

this keyword

Advantages of using this keyword in Java

Parent reference to Child Object in Java

Up casting examples

Down-casting examples

Final modifier

has-a relationship

Difference between as-a and has-a relationship

Aggregation and composition

Difference between Aggregation and composition

Programming examples on is-a and has-a relationship

Abstract Classes

Abstract keyword for class

Difference between concrete method and abstract

method

Page 10: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 10 of 35

Difference between concrete class abstract class

Dynamic polymorphism using abstract classes

Programming examples on abstract class

Interfaces

What is an interface?

Creating an interface in Java

UML notation for interfaces

Inheritance using implements keyword

Difference between extends and implements keyword

Multiple inheritance using interfaces

Marker interface in Java

Programming examples on interfaces

Packages

Package definition

Package creation

Access Specifiers

private, public, protected, and default keyword

Programming examples on Packages

Page 11: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 11 of 35

Exception Handling

Definition and the situations of occurrences

Exceptions and Errors

Ducking and re-throwing

Hierarchy of Exception classes

Types of Exceptions, Handling Exceptions block and

importance

Propagation of un-handled Exceptions

try, catch, throws, finally keyword

Custom Exceptions and creating custom Exceptions

Exceptions in inheritance

Programming examples

Threads and Multi-threading

Definition

Multi-tasking types

Instantiation of threads

Life Cycle of a thread: Thread states and transactions

Page 12: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 12 of 35

Starting a thread

Joining a thread

Naming a thread, Thread priority

Garbage collection

Sleeping of a thread and importance

Thread priorities and yielding

Thread class and Runnable Interfaces

Creation of Threads using Thread class and Runnable

interfaces

Synchronizing codes on threads

Synchronized methods

Synchronized blocks

Inter thread communication

Dead locks in threads

Programming examples on Threads

Generics and Collections

Collection definitions

Hierarchy of collections

Page 13: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 13 of 35

Collection Interface

Collection class

List interfaces

Various classes under Collection

in-built methods of all the above classes using

Collection Framework for sorting:

a.Comparable interface

b. Comparator interface

Advantages of Comparator over comparable

Overriding hashCode() and equals()

Wrapper classes

Byte, Short, Integer, Long, Float, Double, Character,

Boolean

Auto Boxing and unboxing

Auto unboxing and boxing

Programming examples on collections

Page 14: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 14 of 35

HTML Content

Introduction

Basic tags

Formatted Text

Class and Id

Multi media

Lists

Links

Iframes

Tables

Border, Margin and padding

Buffers

Forms

Gradient, Bg image and Canvas

Animation and Transition

Page 15: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 15 of 35

Manual testing

Introduction

• Software ad application

• Types of the applications

>Standalone applications

>Client-Server applications

>Web applications

• Types of Software companies

>Product based

>Service based

• Testing and its importance

• Software quality

Software Life Cycles & Processes

1.SDLC (Software Development life cycle)

• Requirements and analysis

• Feasibility study

• Design

• Coding

Page 16: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 16 of 35

• Testing

• Installation and Maintenance Phase

1.1.SDLC Models

• Waterfall

• Spiral

• Prototype

• V&V

• Agile(Scrum Approach)

2. STLC (Software Testing Life Cycle)

• Requirement Analysis

• Test Planning

• Test case development

• Test Environment setup

• Test Execution

• Test Cycle closure

2.1.Entry and Exit Criteria

3. Agile

Agile Model and Methodologies

Scrum methodology

Page 17: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 17 of 35

Advantages

Testing Methodology

1.Black Box Testing

1.1.Types of Black Box Testing

1.1.1. Functional testing

>Integration Testing

Incremental Integration Testing

Non-Incremental Integration Testing

> System Testing

> User Acceptance Testing

Alpha Testing

Beta Testing

>Smoke Testing

>Sanity Testing

>Unit Testing

>Regression Testing

>End to End Testing

1.1.2. Non-functional testing

> Performance Testing

Load Testing

Page 18: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 18 of 35

Stress Testing

Soak Testing (Endurance Testing)

Spike Testing

> UI Testing (Graphical User Interface)

> Design Testing-Visual and Layout

> Usability Testing

> Security Testing

> Portability/Compatibility Testing

1.2.Black Box Testing Techniques 0r Test Case Design Techniques

• Boundary Value Analysis

• Equivalence Partitioning

• Error Guessing

• Decision Table

• State Transition

2. Whitebox Testing

2.1.Types of White Box Testing

• Unit Testing

Page 19: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 19 of 35

• Statement Testing

• Loop Testing

• Path Testing

• Condition Testing

• Memory Point of view

• Performance Point of view

2.2.White Box Testing Tools

(JUnit and TestNG- Selenium)

2.3.Advantages and Disadvantages of White Box Testing

3. Gray Box Testing

Types of Testing

>Smoke Testing and Sanity Testing

• Concept, examples and Differences

>Globalization Testing

• Internationalization Testing (I18N)

• Localization Testing (L10N)

>Regression Testing

Page 20: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 20 of 35

>Re-testing

>Static and Dynamic Testing

• Concept, examples and Differences

>Installation Testing

>Configuration Testing

>Compatibility Testing

>Usability Testing

> Exploratory Testing

>Security Testing

>Ad-hoc Testing

>Recovery Testing

>Reliability Testing

>Port Testing

> Mutation Testing

>Responsive Testing

Test Development

>Use case reviews & requirement document review to write

Test Scenarios and Test Cases.

>Types of Test Cases Templates of Testing Documents

Page 21: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 21 of 35

>Test Plan & Contents of Test Plan

>Test Case Design Techniques

Test Execution

>Execution Process

>End-to-End Scenario execution

>Test Execution Report

Bug Tracking and Reporting

>Types of Bugs

>Identifying and reporting bugs

>Bug Lifecycle

>Classical Bug Reporting

>Bug Tracking Tool

• Jira

• Mantis

• Bugzilla

Test Closure Activity

>Test Execution Stop Criteria

Page 22: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 22 of 35

>Test Summary Report

Real Time Process Awareness with Terminologies

>Quality Assurance

>Quality Control

>Inspection

>Audit

>Build release process

>Test Bed

>Common Repository Management

>Patch

>Respin

>Defective Product Change Request

>Impact Analysis

>Defect Age

>Templates

Test Metrics

>Importance of Test metrics

Page 23: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 23 of 35

>Different types of Test metrics

Project

>Testing a real-time Application

> Requirement study

> Preparing Test Plan Document

> Writing Test Scenarios and Test Cases using Test Design

Techniques

>Requirement Traceability Matrix Document

>Test Case Review

> Test Case Execution

> Defect Tracking

>Test execution Report

>Retrospect Meeting

Automation Testing-Selenium

Page 24: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 24 of 35

1. History of Selenium

>Selenium core

>Selenium IDE

Knowledge of Selenium IDE

Using Selenium IDE for Generating Scripts

Using Selenium IDE for Generating Test Suite

Running test script and Test suite

>Selenium WebDriver

>Selenium Grid

Selenium WebDriver

>Introduction to WebDriver

>Setting up Eclipse to run Selenium programs

>Knowledge on jars and driver software

>Steps to load driver software

Selenium Basic Programs

>Basic Introduction of creating packages in java

>Launching Chrome Browser, Firefox Browser and IE

Browser

Introduction to Inbuilt Methods of WebDriver Interface

Page 25: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 25 of 35

> get()

> getTitle()

> getCurrentUrl()

> getPageSource()

> close() & quit()

> findElement()

> findElements()

> Polymorphism and Non-Polymorphism in Selenium

Locators in Selenium

Basic Locators

• Id

• Name

• ClassName

• TagName

• LinkText

• PartialLinkText

Advanced Locators

• Css Selector

Page 26: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 26 of 35

• Xpath

>Types of Xpath

Absolute Xpath

Relative Xpath

> Xpath with attributes

> Locating element using text()

> Locating element using forward and

backward traversing

> Locating element using contains()

Handling WebElements

> Text box

> Buttons

> Radio buttons

> Combo-box (drop down)

> Check box

> Handling links

Synchronization in Selenium

> Implicit wait

Page 27: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 27 of 35

> Explicit wait

> Fluent wait

Boolean Methods

> isSelected()

> isVisible()

> isEnabled()

> isDisplayed()

Handling popups

> Alert box popup

> Confirm box popup

> Prompt box popup

Handling Frames

> Single Frames

> Multiple Frames

Events

> Keyboard events

> Mouse events

Handling Tables

> Handling tables using xpath

Page 28: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 28 of 35

FRAMEWORKS

1. Data Driven Framework

1.1. Using properties file

1.2. Apache POI (read and write to excel sheet)

2. Keyword Driven Framework

2.1. Using properties file

3. Hybrid Driven Framework

3.1. Using properties file, Using Excel sheet

4. Page Object Model

4.1. Identifying the Objects of application through object

orientation

4.2. Using MVC Architecture

5. Page Factory Model

5.1. Basic Knowledge of annotations

5.1. Identifying the objects of application through object

orientation

5.3. Accessing the element through locations(annotations)

5.4. Performing the action through annotations

Page 29: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 29 of 35

6. Test Driven Development (TDD)

6.1. Junit 5

Junit Architecture

Junit plug with eclipse

JUnit Annotations

JUnit Classes

JUnit Execution procedure

JUnit Assert Class

JUnit Test Cases Class

JUnit TestResult Class

JUnit Test Suite Class

6.2. TestNG

TestNg Annotations

Simple project using TestNG framework

Handling exceptions in TestNG Framework

Generating reports using TestNG

Sending the Test Result through xml

Various attributes of Test Annotation

Priorities

Page 30: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 30 of 35

Crossbrowser-Testing

Dataproviders

Parameterisation

7. Behavior Driven Development (BDD)

1. Cucumber Framework

• Cucumber Implementation

i. Creating First Feature File

ii. Creating First Step Definition File

iii. Executing First Feature File with CucumberOptions

and junit

iv. Running Cucumber Automation with Maven

• Generating Basic Cucumber HTML and json Report

• Cucumber Options:

i. Feature and Glue

ii. Monochrome and Dryrun

• Cucumber Options:

i. Format and Strict

ii. Tags

8.AutoIT

Handing uploading and downloading of files

Source Code Management Tools

1. Maven Framework

Installation

Configuration and Execution of project

Page 31: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 31 of 35

2. GitHub

Creating a new remotre repository and uploading

the project to repository

3. Jenkins

Installation

Configuration and running the build automatically

Tools

For Automation - Selenium

For Performance - Jmeter and LoadRunner

For ETL Testing - Informatica

For unit testing – Junit, TestNG

For Continuous Integration-Jira

For Bug Tracking - JIRA, Mantis

ETL Testing Content

Introduction

Page 32: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 32 of 35

ETL

Data Ware House

DWH architecture

Types of data bases

Difference between data mart & data ware house

Features of OLTP systems

Normalization & De-normalization Applications

Differences between OLTP & OLAP systems

Contents

Data modeling

ETL testing

Introduction to ETL testing

Overview of ETL operations

Test strategies for ETL testing

Strategies in detail

Informatica power center

TOAD

Transformations

Page 33: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 33 of 35

--Aggregator transformation

--Filter transformation

--Expression transformation

--Router transformation

--Look up transformation

--Joiner transformation

--Sorter transformation

--Sequence generator transformation

--Straight full transformation

Log file

Test scenarios

STM document

SCD

--Type 1 SCD

--Type 2 SCD

Differences between primary & Surrogate key

Data base testing vs Date Ware House testing

Job dependency testing

Page 34: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 34 of 35

Tidal scheduling tool

Active & Passive transformation

SQL content

Introduction

ER diagram

Data Types

Basic Queries

Operators as Symbols

Column Aliases in SQL

Concatenation Operation in SQL

Getting description of Table in Oracle

Relational Operators in SQL

Operators as Keywords

Between and Operators

In Operators

Like Operators

Is Null Operators

Logical Operators

Page 35: Software Testing Course · 2020-02-04 · >Setting up Eclipse to run Selenium programs >Knowledge on jars and driver software >Steps to load driver software Selenium Basic Programs

Page 35 of 35

Functions in SQL

The Group by Clause

The Having Clause

The Order by Clause

Joins

DCL, TCL, DML

Data definition Language Statements

Set Operators

Normalization

Views

Index

Triggers