Quality Assurance with QTP
Course number: CGIQAQTP40
This Quality Assurance with QTP course will cover both manual and automation testing topics to enable you to optimize your test automation strategies and methodology. In this course you will learn how to perform software testing in all phases of the software development life cycle and automation of any web-based application using Selenium and TestComplete. The course also includes topics on Continuous Testing in DevOps, Mobile App Testing using Appium, and Performance Testing using JMeter, along with programming courses such as Python Scripting, SQL Essentials, and Java Essentials.
Course Details:
This course will cover the following:
- Software Testing Fundamentals
- Selenium Training
- Manual Testing
- Continuous Testing in DevOps
- Mobile App Testing Using Appium
- Automation Testing using TestComplete
- Performance Testing using JMeter
Target Audience
- Anyone who aspires to transition into IT or technology jobs
- System analysts, administrators, BI and ETL professionals
- IT professionals, software developers, testers, QA engineers
Certification
Software Quality Engineer Certification - CSQE from ISTQB
Exam
CSQE Exam from ISTQB
Accreditation
Post class completion, students can appear for the CSQE exam.
Course Content
- Introduction to software testing
- Understand different testing types– unit, integration, system, sanity, smoke, interface, regression, acceptance
- Define functional and non-functional testing
- Overview of Software Development Life Cycle
- UI vs API testing
- Manual vs Automation testing
- Overview of writing test cases for UI and API
Module 1: Java Basics Refresher
- Why Java?
- Need for Java
- Platform Independence in Java
- Explain Java Program Structure and Naming Convention
- Java Data Types and Variables and Output Statement
- Basic Operators in Java
- Features of Java
- Keywords and Syntax
- Classes and Objects
- Conditional Statements
- Iterative Statements
- Comments in Java
- Access Specifiers
- Java Methods
- Constructors
- What is Object Oriented Programming?
- OOPs Concepts
Module 2: Arrays and Collection Framework in Java
- Arrays
- Strings
- Packages
- Blocks in Java
- Exceptional Handling in Java
- What are Collections?
- Collections
- Interfaces in Java
- Map Interface in Java
Module 3: Introduction to Automation Testing and Selenium
- Test Automation Fundamentals
- Types of Applications (Desktop, Web, Mobile, and Hybrid)
- Software Testing Methods (Manual and Test Automation)
- Test Automation Types (Unit Testing, API Testing, and GUI Testing)
- Test Automation Frameworks
- Test Automation Tools
- Test Automation Process
- Components of Selenium Suite
- Types of Testing
- Selenium vs. Other Testing Tools
- Introduction to Selenium
- Features of Selenium
- Selenium IDE
- Integration of Selenium with Other Tools
Module 4: Selenium WebDriver and Locators
- Introduction to Selenium WebDriver
- Evolution of Selenium WebDriver
- Advantages of Selenium WebDriver
- Selenium WebDriver Architecture
- Introduction to Web Elements
- Locating Web Elements Using Various Locators (ID, Name, Class Name, Tag Name, Link Text, Partial Link Text, CSS Selector, and XPath)
- Introduction to XPath
- Types of XPath
- XPath Functions and Customizations
- What are CSS Selectors?
- Locating Web Elements Using CSS Selectors
- Selenium Commands in WebDriver
- Interacting with Web Elements
Module 5: Interacting with waits in Selenium and TestNG Framework
- Types of Waits in Selenium
- Introduction to TestNG
- Installing TestNG Plug-In in Eclipse
- Annotations
- Grouping
- Sequencing
- Parameterization
- Parallel/Cross Browser Testing
- Introduction to Reports
Module 6: Handling Alerts and Modal Dialog Box in Selenium
- What are Alerts?
- Types of Alerts
- Handling Alerts in Selenium WebDriver
- What is a Modal Dialog Box?
- Handling Modal Dialog Box Using Selenium WebDriver
- Handling Multiple Windows and Multiple Tabs Using Selenium WebDriver
- Scrolling on a Web Page Using Selenium WebDriver
- Verifying Tooltip Using Selenium WebDriver
Module 7: Selenium Grid and Robot Class
- Introduction to Selenium Grid
- Deploy a Grid
- Introduction to Robot Class
- Methods under Robot Class (Keypress, Key Release, Mouse Press, Mouse Release, and Mouse Move)
- Implementation of the Robot Class
- Advantages and Disadvantages of the Robot Class
- Selenium Robot Framework for Page Crawling and Data Extraction
Module 8: Selenium IDE and Page Object Model
- What is Selenium IDE?
- Features of Selenium IDE
- Selenium IDE Interface
- Selenese in Selenium IDE
- Why Page Object Model (POM)?
- What is Page Factory?
- Implementing POM Using Selenium WebDriver
- Implementing POM with Page Factory
Module 9: Automation Frameworks – I
- Introduction to Selenium Frameworks
- Types of Selenium Frameworks
- Introduction to Data-Driven Test Framework
- Advantages and Disadvantages of Data-Driven Test Framework
- Best Practices of Data-Driven Testing
- Apache POI
- Data Providers
Module 10: Automation Frameworks – II
- Introduction to Keyword-Driven Test Framework
- Uses of Keyword-Driven Test Framework
- Keyword-Driven Framework Components
- Advantages and Limitations of Keyword-Driven Testing
- Implement Keyword-Driven Framework
- Introduction to Hybrid Driven Test Framework
- Advantages and Limitations of Hybrid Test Framework
- Implementing Hybrid Test Framework
- Use of Log4j
- Use of Listeners
- Introduction to Jenkins
- Configuring Jenkins to Invoke Selenium Tests
Module 11: IFrames, Actions Class, and Dropdowns
- What is an IFrame?
- Identifying an IFrame
- Switching to IFrames Using Selenium WebDriver
- Select Class in Selenium WebDriver
- Methods Under Select Class
- Handling Dropdowns and Multiple Select Operations Using Select Class
- Methods for Handling Keyboard and Mouse-Based Interactions
- Testing Drag and Drop and Mouse Hover Functionality Using Actions Class
Module 12: BDD Framework with Cucumber
- Agile Testing
- Behavior Driven Development (BDD)
- Advantages and Limitations of BDD
- Cucumber Fundamentals—About Cucumber
- Gherkin Syntax in Cucumber
- Step Definition for Cucumber Feature File
- Advantages of Cucumber
- Implementing BDD Framework Using Cucumber
Module 1: Introduction to Software Testing Life Cycle
- History of Testing
- What is Testing
- Why Testing is required
- What is a Defect
- Testing principles
- Quality Assurance and Quality control
- Scope of Testing
- When Should Testing Occur
- Testing Constraints
- Roles of the Software Tester
- Overview on SDLC
- Different Life Cycle Models
- Overview on STLC
- AGILE Testing, etc.
Module 2: Test Planning
- Test Strategy
- Test Planning
- Customization of the Test Process
- Overview on Budgeting
- Scheduling
- Configuration Management
- Risk Management
Module 3: Test Design
- Test Strategy
- Test Planning
- Customization of the Test Process
- Overview on Budgeting
- Scheduling
- Configuration Management
- Risk Management
Module 4: Test Techniques
- Static Techniques: Importance of reviews in STLC Review Activities Roles and
- Responsibilities during Review
- Dynamic Techniques: Specification-Based or Black-Box Techniques, Boundary Value Analysis, Decision Table Testing, Equivalence Partitioning
- Experience-based techniques: Error Guessing, Exploratory Testing
Module 5: Levels & Types of Testing Topics
- Levels of Testing: Unit Testing, Integration Testing, System Testing, User Acceptance Testing
- Types of Testing: Regression Testing, Smoke Testing, Database Testing, Load Testing, Performance Testing, Compatibility Testing, Security Testing, Volume Testing, Stress Testing, Usability Testing, Internationalization Testing, Localization Testing
Module 6: Test Execution
- Overview on Build and Release
- Release Notes
- Pre QA-Checklist
- Entry and Exit Criteria
- Test Execution
Module 7: Defect Management
- Defect Prevention
- Defect Discovery
- Defect Life Cycle
- Severity and Priority
- Overview on RCA
- Hands on Identify and Log Defects
Module 8: Reporting & Team Collaboration
- Test Status Reports
- Test Closure Reports
- Tester and Developer
- Team Collaboration
- Client Interaction
- Onshore/Offshore Model
- Mitigate Current Challenges
Module 9: Metrics & Measurement
- Overview on Metrics & Measurements
- Benefits of Test Metrics
- Metrics Life Cycle
- Types of Test Metrics
Module 10: Testing Tools & FAQs Topics
- Why Automation
- Overview of different Automation Tools – QTP and Selenium
- Overview on Quality Center
Module 1: Overview of DevOps
- Why DevOps?
- What is DevOps?
- DevOps Market Trends
- DevOps Engineer Skills
- DevOps Delivery Pipeline
- DevOps Ecosystem
Module 2: Version Control with Git
- What is Version Control?
- What is Git?
- Why Git for Your Organization
- Install Git
- Working with Remote Repositories
- Branching and Merging in Git
- Git Workflows
- Git Cheat Sheet
Module 3: Continuous Integration with Jenkins
- What is CI?
- Why CI is Required
- Introduction to Jenkins (with architecture)
- Introduction to Maven
- Jenkins Management
- Building a Delivery Pipeline
- Implementation of Jenkins
Module 4: Continuous Testing with Selenium
- Introduction to Selenium
- Why Selenium?
- Selenium – Webdriver
- Creating Test Cases in Selenium WebDriver (waits)
- What is X-Path and Why Use It?
- Handling different controls on a Webpage
- Framework in Selenium
- Selenium integration with Jenkins
- Implementation of Selenium
Module 1: Introduction to Mobile Testing
- Define Mobile Automation Testing
- Different Mobile Platforms
- Types of Mobile Testing Tours
- Approaches to Mobile Testing
- Levels of Mobile Testing
- Lifecycle for Mobile Testing
- Automation Frameworks
Module 2: Introduction to Appium
- Introduction to Appium and Appium Architecture.
- Overview of various Appium versions
- Appium Installation and Configuration
- Appium UIAutomatorviewer usage
- Commonly used ADB commands
- Starting the Appium server with advanced options
- First simple code in Appium with Java
- Understanding Appium Inspector to Find Locators
- Automate an app on a virtual Android device
Module 3: Automating the Application Management Actions and Synchronization
- Synchronize the tests with implicit, explicit and fluent wait.
- Automate app management such as installing, uninstalling, reset, closing the app and putting the app in background
- Implementing assertions in Appium scripts.
- Appium interactions to push, pull file and folders
- Appium Test with TestNG
Module 4: Automating the Gestures and Key Events Handling using Appium
- Automate gestures on Android app such as touch Action, scroll, tapping, long press, swiping and orientation
- Automating mouse hovering like move to, double click, button down, button up, etc.
- Automating spinners, switch button, seek bar
- Automate android key events
- Automate drag and drop, pinch and zoom, alert gestures
Module 5: Network Management and Performance Analysis using Appium
- Read the notifications from the notification bar
- Automating networking configurations such as to toggle airplane mode, toggle data, toggle Wi-Fi
- Automating the app interactions such as lock and unlock and rotate the android phone
- Get the performance data of an android app
Module 6: Automating Hybrid and Native Apps
- Hybrid and Native app features
- Desired capabilities for native and hybrid apps
- Activity Lifecycle Testing for Native App
- Switching between the views, invoking activities via Intents, killing activities
- Steps to automate a hybrid app using Java
- Steps to automate a native android app using Java
Module 1: Introduction to TestComplete & Basics of VBScript
- Why Automation testing
- Explain the various automation tools in the market
- Comparison with TestComplete with other tools in the market
- Why TestComplete
- What are the various types of testing possible with TestComplete (Web, Desktop Application, WebServices, Mobile App)
- What is TestExecute
- Features of TestExecute
- How to Install TestComplete
- How to Install TestExecute
- Tutorial on concepts used in VBScript.
Module 2: Recording, Playback of Desktop & Web Applications
- TestComplete Editor
- How to create a project in VBScript in TestComplete
- How to record and playback a web application
- How to record and playback a desktop application
- Different ways of recording
- Namemapping
- Features of keyword test
- How to convert keyword test to scripts.
Module 3: Android App Testing, Web Services Testing & Database Testing using TestComplete
- How to launch, record and playback Android Apps
- Generating scripts for mobile App
- Testing of WebServices using TestComplete
- Integration of SOAP UI
- Database testing basics using TestComplete.
Module 4: Framework Description in TestComplete
- Types of frameworks
- Event handling in TestComplete
- Functional Decomposition
- Data Driven framework
- Keyword Driven framework
- Hybrid framework.
Module 5: Checkpoints Debugging
- Property Checkpoints
- Object Checkpoints
- Table Checkpoints
- Database table Checkpoints
- File Comparison Checkpoints
- Region Checkpoint
- Web comparison checkpoint
- Web accessibility checkpoint
- How to debug.
Module 6: Project
- To create a project
- To create Scripts
- Organize scripts to framework
- To traverse an application functionally
- To add checkpoints
- Store test run results
Module 1: Introduction to Performance Testing
- Introduction to Non-Functional testing
- Need for Non-Functional testing.
- Types of Non-Functional testing
- Introduction to Performance Testing
- Performance Testing components
Module 2: Performance Testing using JMeter
- JMeter: The preferred tool for Performance Testing
- Introduction to Apache JMeter
- Elements of JMeter
- Performance testing using JMeter
- Assertions, controllers, and processors in JMeter
- JMeter best practices
Module 3: Stress and Load Testing using JMeter
- What is Load testing?
- Need for Load testing
- Objectives of Load testing
- How to perform Load testing using JMeter
- What is Stress testing?
- Need for Stress testing
- Purpose of Stress testing
- How to perform Stress testing using JMeter
Module 4: Scalability and Security Testing
- Introduction to Scalability testing
- Why do we need Scalability testing?
- Scalability test attributes
- Steps to test the Scalability of an application using JMeter
- Introduction to Security testing
- Why do we need Security testing?
- Types of Security testing
- Methodologies used for Security testing
Module 5: Integration of JMeter with Selenium
- Introduction to Selenium Webdriver
- Selenium Webdriver plugin in JMeter
- Creating test scripts using Selenium
- Adding scripts using Selenium Webdriver Sampler
- Running and validating test scripts