Software Testing Tools (MANUAL + SELENIUM)
Plot #204, 2nd Floor, Above Bank of India ,Opp Mythri
vihar ,Ameerpet,Hyderabad.500016.Email:[email protected]
Website:www.qedgetech.com.Ph:9154112233 . 040-64644491 / 92.
MANUAL TESTING
About The Course
Manual Testing course will cover software testing concepts, SDLC, STLC, Agile Testing, Effective Testing methods, QA Process , TestCase writing, TestCase Execution, Defect Reporting , Defect Management and Test Management tools like ALM/Quality Center.
Course Objectives
After the completion of the Manual Testing course, you will be able to:
1. Understand fundamental concepts in software testing, including software testing objectives, processes, test strategies and testing techniques.
2. Understand the software testing processes and manual testing processes like Unit testing, Integration testing, system testing, re-testing, regression testing and system integration testing and UAT etc.,
3. Learn to plan a testing projects, design test cases and data, conduct testing operations, manage defects and generate test report.
4. Learn to conduct UI Testing, Usability Testing, Load Testing, Performance Testing, Security Testing and Compatibility Testing etc.,
5. Learn Defect Reporting process and Defect management process.6. Learn implementing Testing Process using tools like ALM(Quality Center) and JIRA.
Who can join this course?
This is a foundation course for any Fresh Graduates, Students and working professionals who want to learn and gain knowledge on software testing.
Pre-requisites
There is no technical and no programming knowledge required for this course, minimal knowledge on software applications is enough.
Project Work
Towards the end of the Course, you will learn working on a live project.
2
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• Testing then … and Testing now…• What is Verification & Validation• Difference between QA & QC• Role of a Tester
Principles of Testing
• Early Testing• Exhaustive Testing Impossible• Defect Clustering• Pesticide Paradox• 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- RAD Model- Prototype Model- Spiral Model- Agile Model
Software Testing Methodologies
• Static Testing• White Box Testing• Black Box Testing• Gray Box Testing
3
Static Testing Techniques
• Reviews • Types of Reviews• Inspections & Audits• 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
4
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
5
Agile Testing Overview of DataBase Testing
ALM (Quality Center)Overview of Test Management
QC Tool Architecture
QC Site Administration
Creating Domain Creating Project Creating Users Mapping User to QC Project
QC User Modules
Defining Test Requirements Writing TestCases in QC Mapping TestCases to Requirements Exporting TestCases from Excel to QC Create Test Sets Executing TestCases Defect Reporting & Defect Tracking Analyzing Reports & Graphs
Project Testing WorkShop
SELENIUM/WEBDRIVER
6
About The Course
Selenium is used for automating Web Application Testing. Selenium is open source tool, hence many companies preferring Selenium to cut down project maintenance cost which increased demand for Selenium Testers.
In this course you will experience to work with Modularity Framework, Data Driven Framework, Keyword Driven Framework and Hybrid Framework. Selenium IDE, Selenium WebDriver, Selenium-Grid, TestNG, MAVEN,Jenkins is covered during the course. You will learn to perform tests on multiple machines simultaneously running on different Operating Systems and Cross Browser Testing with Selenium.
Course Objectives
After the completion of ‘Testing with Selenium WebDriver’ Course, you should be able to :
Understand Selenium Architecture and its components Record and importing tests with Selenium IDE Identifying elements using Locatorse.g by link, by text, by id, by css, by xpath etc. Understand Selenium WebDriver/ Selenium 2.0 Automating Textbox,DropdownList,Link,Checkbox,RadioButtons,Tables,Calender, Keyboard and mouse operations Handling Alerts and Multiple windows Validate page content using Selenium WebDriver API Write Test cases using TestNG Creating Reusable automation Tests Generating Customized Test Results Use WebDriver advanced features e.g. taking screenshots, handling cookies and
managing Exceptions Create Data driven, Keyword driven and Hybrid test frameworks Perform Cross browser testing with Mozilla Firefox, Google Chrome, Safari and
Opera Perform distributed testing using Selenium GRID Automate windows applications with AutoIt Scheduling Tests with Jenkins
7
Who can join this course?
Professionals from any domain can join the course as it does not require hard core programming knowledge. Selenium is a new and booming Technology in Software Industry that is widely accepted across all the industries. People with basic knowledge of Object Oriented Programming can easily take up this course.
Pre-requisites
The pre-requisite for this course is basic knowledge of Core Java. We provide a complimentary course "Java Essentials for Testing With Selenium WebDriver" to all the participants who enrol for Selenium course.
Project Work
Towards the end of the course you will be working on a Project where we will be automating a Web Application to cover all the possible cases of interaction with application. Project will be Keyword Driven so that it should work as per user instructions. Test cases will be executed multiple times using Data Driven approach. Project will handle Textboxes, Links, Checkbox, Radio button, submit button, reset button, URL, Page Title, synchronization between pages when navigating from one page to another, taking screenshots of application for each of the validation of – verbose, textbox value, dynamic links, handling of dialog and alert box, fetching data from application. We will build this Project using Eclipse and Selenium WebDriver.
Why learn Selenium?
Selenium is an open source tool and covers all the scenarios what licensed tool like QTP, IBM RFT or other available tools in market can do. Performance, execution speed and browser interaction of Selenium is too fast than any other automation tool. Unattended execution can be achieved using Selenium Framework. Selenium supports different operating systems along with support for different programming languages and browsers, these features makes the Selenium ahead of any other Automation tool.
8
Curriculum
Java Essentials for Testing With Selenium WebDriver
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
o Practical Examples on Strings handling Conditional Statements
o If…else…o Switchcaseo Practical Examples with conditions
Loopso While Loopo For Loopo Practical Examples with loops
Arrays o Single Dimensional Arrayso Two Dimensional arrayso Practical usage of arrays in Selenium
Operators What are Functions? Function Input Parameters Function Return Types
Object Oriented Programming
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/Default/Protected Constructors Interface Usage of Objects in Selenium Inheritance Usage of Inheritance in Selenium
9
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 Filling BG/Font Colours Practical Examples
Automating Text File Operations
Creating/Opening Text Files Reading/Writing Text Files Practical Examples
Automating Database Operations
Connecting to Databaseso MySQLo Oracleo SQL Server
Sending SQL Queries to Database Process the Results Practical Examples
10
Selenium Introduction
Introduction to Selenium and its Components
What is Selenium? Who developed Selenium? Selenium Components
Selenium IDE
Installing Selenium IDE Creating your First Selenium IDE script How to use Locators in Selenium IDE How to enhance a script using Selenium IDE Creating and Running Tests Creating and Running Test Suite
Selenium WebDriver
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
11
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
12
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
1. ImplicitWait2. WebDriverWait3. FluentWait4. PageLoadTimeout
TestNG
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
13
Modular Driven Framework Keyword Driven Framework Data Driven Framework Hybrid 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
14
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
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
LOG4J
15
LOG4J
Introduction about Logging Logging problems without Log4J How to solve Logging problem with Log4J What is Layout? Different types of Layouts in Log4J What is Appender? Different types of Appenders
16