Masters in Software Testing
Master in Software Testing (MST) is a focused training course for Freshers as well as candidates who would like to shift to Software Testing Career. This course will enable candidate to understand Software Quality and perform hands-on exercises to get ready for Industry.
As every industry is moving towards automation, Software Testing professional is expected to understand and automate testing. This enables faster turn-around for Software testing cycle and faster time to market. This course covers Test Automation in detail, to make candidate work independently on Test Automation projects and help them to become a very good automation tester.
Therefore MST course is designed to get candidate ready as Completer Software Testing Professional, who can kick-start career and excel in profession.
At the end, we will give you a project which you need to complete with automation framework.
All our trainers are having minimum 10 years of experience in test automation. Click here to register for a demo session and our team will be happy to help.
Every session we conduct is a combination of theory and hands-on
All sessions are recorded which participants can keep with them for life time
Who can attend
Engineering graduates | Working professionals – manual Testers | Developers
course outline
Manual Testing
SQL queries
Basic Linux commands
JIRA
ISTQB Preparation (optional)
Core Java
Selenium
Git/GitHub
Jenkins
Project
Course description
Linux Commands
- Introduction to the Linux
- Basic Commands
- Redirection and Pipes
- Introduction to vi Editor
- Searching and Replacing Text
- Recalling and Editing Commands
- File Permissions and Access Control
- Processes
- More Basic Commands
SQL Queries
- SQL Basics
- SQL queries
- SQL integrity constraints – overview
- Joins
- Transaction control commands
Manual Testing - Basics
- Testing and Agile Testing
- DevOps and Testing
- Quality
- SDLC Models
- Testing Models
- Managing the process
- Test Levels
- Risk Management
- Requirement Analysis
Manual Testing - STLC
- Test Planning
- Test Development – Test Scenarios, Test Cases
- Reviews
- Test Execution
- Test Reports / Test Closure
- Test Metrics
- STLC and Agile with DevOps
- TDD and BDD
- Testing Role in DevOps
- Continuous Integration (CI) and Continuous Delivery (CD)
Manual Testing - Testing Types/ Techniques
Testing Types/ Techniques
- Static Testing
- Equivalence Partitioning
- BVA
- Exploratory Testing
- Error guessing
- Dynamic Testing
- Non Functional Test Types
Defect Management
- Defect Lifecycle
- Defect Logging
- Defect Tracking
- Severity and Priority
- Tools – QC/JIRA/Bugzilla
Manual Testing - Project
Manual Testing Project
- Requirement Analysis
- Creating Test Strategy and Test Cases
- Executing Test Cases
- Logging and Tracking Defects
- Doing root cause analysis for defects leaks
ISTQB Certification Preparation
- Sample Papers Evaluation/Feedback
- Evaluation 1 week Before Appearing for Exam
- Final Exam
JIRA
- Intro to Test Management
- Why and What about JIRA
- JIRA Concepts
- Features and Components of JIRA
- Types and workflows
- Conceptual examples
Java
- Introduction to Java
- How to install Java
- Basics of using Eclipse IDE
- Primitive Data types
- Operators
- String Methods
- Arrays
- Control Flows
- Objects and classes
- Static Classes and Methods
- Abstract Classes and Methods
- Inheritance
- Interfaces
- Exception Handling
- Collections
- Annotations
- File Handling
- DB connectivity
- Listeners
- Logging
- Properties files
- All the above concepts with hand-on examples in the class
Selenium
Automation Basics
- Fundamentals of test automation
- ROI in Automation
- Basics of automation framework
Introduction to selenium
- Story/History of Selenium
- What is Selenium and how it is used in the industry
- Features of Selenium
- Difference between Selenium and UFT
- DevOps and Test Automation
Selenium Components
- Selenium WebDriver
- Selenium GriD
Selenium - WebDriver Basics
- Introduction to WebDriver architecture
- Comparison with RC
- WebDriver configuration with Eclipse
- Opening and closing browser
- Writing Simple Tests
- Setup TestNG Eclipse plugin
- Annotations in TestNG
- Writing basic TestNG tests
- Assertions
- Chrome browser developer tools to locate elements
- Locating Techniques – with extensive practice on XPath and CSS selectors
Controlling Browsers
- Navigation
- Page Title, URL and Page source
- Cookie management
- Size and position
- Navigating to different windows, frames and alerts
Controlling Elements
- WebElement commands
- Handling textbox, links, buttons, dropdowns, multiselect, radiobuttons and checkboxes
- Handling webtables
- Mouse movements and keyboard events and uploading files
Browser Synchronization/Waits in Selenium
- Thread.sleep() – why should not be used
- Implicit Wait
- Explicit Wait
Complex Actions
- Mouse Hover
- Context/Right click
- Double Click
- Drag and Drop
- Building complex actions
Page Object Design Pattern (PODP)
- What is design pattern
- Need for PODP – reusability and maintainability
- Test speaks only domain
TestNG
- All Annotations in TestNG
- TestNG configuration
- Organize your tests in triple A (AAA) framework
- FIRST Principle of writing test cases
- SRP Principle (Single Responsibility Principle)
- Attributes of @Test
- Groups and Parameters
- Data Driven Test(DDT) Using TestNG
- Creating Suites
- Reports using TestNG and ReportNG
- Parallel Execution (DevOps context)
Selenium Grid
- What and When of Grid
- What is Hub and Node
- Designing test scripts for Grid
- DesiredCapabilities and RemoteWebDriver
- Creating grid of 10-15 machines/VMs/containers
- Running test scripts on Grid (parallel execution on at least 10 to 15 machines during training)
- Integration with CI-Key(DevOps)
Additional Topics on Test Automation Framework
- Build automation using Maven
- Logging
- Listeners
- BDD-Cucumber – Writing Selenium Tests
- Handling Browser Profiles
Git/GitHub
- Introduction to SCM
- Types of SCMs
- Creating repo(repositories)
- Adding files to repo
- Branches and Best practices
- Merging, Cloning, tagging
- Importance of .gitignore
- Working on Git Command Line
- GitHub account creation
- Uploading your project with GitHub using command line and Eclipse
- Integration with Jenkins using GitHub Webhooks
Jenkins
- What is CI and CD
- Manage Configuration
- Setup Build Jobs
- Plugins
- Scheduling Builds (Push/Pull)
- Configuring a Jenkins Pipeline for test execution
BDD/Cucumber
- What is BDD/TDD
- BDD with Agile
- Feature File – Gherkin
- Step Definitions
- Writing Tests
- Executing tests using Cucumber
Creating Test Automation Framework
What is Test Automation Framework
Why we should care
How to create a robust automation Framework
- Re-usability and maintainability is the key focus area
- Configurability
- Effective Usage of Design Patterns
- Test Data Management
- Exception Handling
- Debugging using Logs and Listeners
- Effective exception handling
- Principles of writing clean code
- Reporting Frameworks
- Integration with CI tools like Jenkins
- Use of version control
- Support for parallel execution – on-premise/cloud
- Utility functions/page objects
Test Automation Project
- Automate an e-commerce application
- Make decisions on frameworks based on requirements
- Design Test Data Management Strategy
- Design logging and listening strategy
- Design exception handling and reporting
- Design page objects for store and admin panel
- Write tests and execute them using TestNG
- Make scripts accept run-time parameters instead of hardcoding
- Create utility package to re-use (modular framework)
- Build Tests using Maven
- Allure Reporting Framework
- Integrate with Jenkins and GitHub