I have been into Software Testing role since last 14+ years, however I must tell you that my most of the time was spent in manual testing the applications. When I got into this role, specifically it was the time when there used to be a lot of desktop applications. I started my career in 2008, being a Commerce graduate and not knowing the basic alphabets of engineering, initially it was very difficult to understand what programming, testing, releases was all about! Thanks to all my mentors and guides, they helped me a lot to understand those basic concepts about testing and how the actual process works.
I have been asked by many about my career transformation journey from Manual Testing to a Test Automation Engineer, hence I thought of creating this repository which has the learning path I followed to become a Test Automation Engineer.
- Check out links to my LinkedIn Profile, Medium blogs and other social media sites on LinkTree
- QA Roadmap by Anas Fitiani
- DevOps Roadmap by Milan Milanovic
- Threat Modelling Roadmap by Hysn Technologies Inc
Java
- Java Programming Course by Angie Jones
- Beginners Book - Java Tutorials
- Learn Java Online
- Learn Java - Codecademy
- Java Best Practices
- Java problems for practice - w3resources
- Java Problems for practice - Codingbat
- Java Programming examples - Geeks for Geeks
- Java Programming examples - Programiz
- Java Programming examples - CodeAbbey
- CodeGym
- SoloLearn
- Java Design Patterns - Refactoring Guru
- Java Design Patterns - Github
- Introduction to Computer Science using Java
- W3Schools
- Head First Design Patterns
- Clean Code
- Refactoring
JavaScript
TypeScript
- Learn TypeScript from Scratch
- TypeScript Course for Beginners
- Learn TypeScript - The Ultimate Beginners Guide
- TypeScript Cash Course with Matt Pocock
- TypeScript Tutorial
- LearnTypeScript.dev
- TypeScriptLang.org
- TotalTypeScript
- TypeScript Full Tutorial by The Net Ninja
- TypeScript Beginner's Course by Sam Pigott
- TypeScript Online Tests - Tutorials Teacher
- TypeScript Tutorial in VSCode
- TypeScript
- Awesome TypeScript
- Awesome TypeScript projects
- TypeScript Tips
- A curated list of awesome TypeScript resources
Python
- Learn Python
- Python Programming course on FreeCodeCamp
- Getting Started with Python - Python.org
- Python for Beginners
- Introduction to Python
- Python Tutorial - Test Automation University
- Awesome Python
- Awesome Python Books
- Python Tutorial - W3Schools
- Python Programming - Programiz
- Learn Python - Kaggle.com
- Python Full Course - Bro Code
Data Structures & Algorithms
Other Learning Materials
Free Programming Books
KISS
OOPS
Free Tutorials and Courses
- Software Testing Help
- Test Automation University
- LambdaTest Learning Hub
- Guru99.com
- Software Testing Material
- Free Code Camp
- Postman Learning Centre
- BlazeMeter University
- Automation Testing for Beginner's - Ultimate Guide
- Setting a Foundation for Successful Test Automation
- Beyond Bugs: Exploring the Depths of Software Testing
- Practical Guide on Continuous Integration for automation tests
- Best Examples of Functional Test Cases
- Best Practices for Test Automation Framework
- Parallel Execution of Tests using Selenium Grid 4 with Docker Compose
Software Testing/Test Automation/Blogs and Guides
- Marting Fowler's Blog
- Angie Jone's Blog
- Corina Pip's Blog
- Filip hrics's Blog
- Alan Richardson's Blog
- Mohammad Faisal Khatri's Blog
- Jason Swett's Blog(Has a good collection of blogs related to ruby rails testing, docker and other testing stuff)
- Test Guild by Joe Colantonio
- Dan Ashby's Blog
- Google Testing Blog
- TestProject's Blog
- LambdaTest Blog
- LambdaTest Learning Hub
- pCloudy Blog
- VTest Software Corp Blog
- BrowserStack Blog
- Software Testing News
- OnTestAutomation
- Articles by Lisa Crispin
- Wasiq Bhamla's Blog
- How they test?
YouTube Channels
Software Testing Books
- Software Testing Books
- Free Software Testing books
- Software Testing : A Craftsman's approach
- Agile Testing by Lisa Crispin
- The art of software testing
- Complete Guide to Test Automation -Arnon Axelrod
- Experiences of Test Automation: Case Studies of Software Test Automation
- Software Quality Engineering: Testing, Quality Assurance, and Quantifable Improvement
Test Pyramid
Free Tutorials
- Source Control for Test Automation with Git
- Git & GitHub FreeCodeCamp Playlist
- Git for Professionals Tutorial - Tools & Concepts for Mastering Version Control with Git
- Advanced Git Tutorial - Interactive Rebase, Cherry-Picking, Reflog, Submodules and more
- Git Branches Tutorial
- Learn Git Branching
- GitHub Skills
- Learn Git with Bitbucket Cloud
- Learn Enough Git to Be Dangerous - Michael Hartl
- Git cheat sheet download
Selenium WebDriver
- Selenium WebDriver Documentation
- Selenium Locator Strategies
- Selenium WebDriver with Java
- Selenium 4 in Java
- Selenium WebDriver with Python
- Selenium with JavaScript
- From Scripting to Framework with Selenium and C#
- Codeless Test automation with Selenium IDE
- Intro to Selenium WebDriver with .NET Core
- Selenium WebDriver with Ruby
- Free Selenium WebDriver Course
- Seleniumeasy.com
- Selenium WebDriver example code
- Selenium Tutorial - SoftwareTestingMaterial
- Selenium Tutorial - SoftwareTestingHelp
- Selenium 4 WebDriver Hierarchy
- How to handl dynamic dropdowns in Selenium
- How To Automate Shadow DOM In Selenium WebDriver
- Writing Selenium Web Automation tests in Fluent way!
- End to End Testing using Selenium WebDriver and Java
- Blogs related to Selenium WebDriver by LambdaTest
- Understanding CSS Selectors in Selenium
- Everything you need to know about the Selenium IDE: Tutorial
- Executing Parallel Test Sessions with TestNG and Selenium WebDriver
- Parallel Execution of Tests using Selenium Grid 4 with Docker Compose
- Selenium Manager in Selenium 4.11.0: New Features and Improvements
Playwright
- Playwright Documentation - Nodejs
- Playwright Documentation - Java
- Playwright Documentation - Python
- Playwright Documentation - .NET
- Playwright - YouTube
- Playwright Locators
- Playwright with JavaScript
- What is Microsoft Playwright JS?
- Testing Modern Web Apps with Playwright | OD110
- An End To End Playwright Testing with TypeScript
- Playwright Tutorial: Getting Started With Playwright Framework
- Playwright - Github
- Playing with Playwright
- Interactive website to learn playwright
Cypress
WebDriverIO
- WebdriverIO
- WebDriverIO - YouTube
- UI Automation with WebdriverIO v7
- Automated Visual Testing with WebdriverIO
- WebApp Testing with WebdriverIO - Crash Course
- WebDriverIo v8 Must Know Features with Christian Bromann
- WebDriverIO and Extended Debugging with Christian Bromann
- WebDriverIO Wednesdays with Kevin
- WebdriverIO - Github
Capybara
Introduction to API Testing
Postman
- Postman Learning Center
- 15 days of Postman for Testers
- Postman Beginner's Course - API Testing
- Postman API Crash Course - Clever Programmer
- Postman end to end Tutorials Saravanan Seenivasan
- API Testing Videos by Dimpy Adhikary - DTestHive
- API Test Automation with Postman
- Exploring Service APIs through Test Automation
- newman
- Postman blogs
- Using Postman Environment Variables & Auth Tokens
- API Testing using Postman
Rest Assured
- rest-assured.io
- Rest Assured Usage Guide
- Automating your API tests with REST Assured
- A Guide to REST-assured
- End to End API Testing using rest-assured
- How to perform API testing with REST Assured
- James Willett - Rest Assured blogs
- Rest Assured Example code
- REST API Automation From Scratch
- Rest Assured Tutorial
- Creating data driven API tests with REST Assured and TestNG
- How to perform JSON Schema Validation using Rest-Assured?
- Using REST-assured to Test OAuth 2.0 flow Examples
SuperTest
Playwright
Cypress
GraphQL
gRPC
Tutorials
- What is Contract Testing?
- Contract Testing For Microservices IS A MUST
- Introduction to Consumer Contract Testing
- A Comprehensive Guide to Contract Testing APIs in a Service Oriented Architecture
- Pact.io - Documentation
- Contract Testing Tutorial
- Contract Testing - PactumJS
- Consumer Driven Contract Testing [Webinar Recording]
- Contract Testing for Node.js Microservices with Pact
- How to Simplify UI Tests with Bi-Directional Contract Testing
- Pact.io - Community videos and articles
- How to Use Pact to Contract Test your Event-Driven System
- Event Driven Architecture: How to Perform Contract Testing in Kafka/PubSub
Mobile Testing
- Guide to Mobile Testing
- Mobile App Testing Guide
- Mobile Automation Testing Tools
- How to install Android Studio on Windows 10
- What is an Android Emulator? How to Start and use it?
- Emulator vs Simulator For Mobile Testing: Differences & Setup
- Mobile App Testing Tutorials (A Complete Guide With 30+ Tutorials)
- Mobile App Testing Tutorial: A Comprehensive Guide With Examples and Best Practices
- Mobile Application Testing using Automation frameworks
Appium
- Appium Conference
- Appium.io
- Appium Desired Capabilities
- Appium 2.0 Documentation
- Beginner’s Guide to Appium 2.0
- Appium Inspector
- Appium Desktop
- Setting up Appium on MAC for automating iOS App
- BEGINNERS GUIDE TO APPIUM AUTOMATION WITH JAVA FOR ANDROID APPS
- Inspecting elements of an app using Appium Inspector and BrowserStack!
- Mobile Automation with Appium in Java
- Mobile Automation with Appium in JavaScript
- Automated Mobile App Testing using Appium and Python
- Appium Version 2.0 Fundamentals
- Getting started with Appium 2.0: Your beginner’s guide
- How To Identify Locators In Appium [With Examples]
- Automated App testing using Appium with TestNG
- How To Test React Native Apps On iOS And Android
- Complete Tutorial On Appium Parallel Testing [With Examples]
- How to start Appium Server Programmatically?
- Appium 2.0 Plugins
- Appium Gestures Plugin
- Build your own Appium 2.0 Driver by Srinivasan Sekar & Sai Krishna #SeConf 2022
Flutter
- How to Test Flutter Apps? How is it Different From Testing Native Apps?
- Automating Tests for Flutter Apps
- Flutter Testing Guide for Beginners - Part 1: Unit Tests & Setup
- Flutter Testing Guide for Beginners – Part 2: Widget & Integration Tests
- Automated Flutter App Testing
- Testing Flutter apps
- Automating Flutter Apps with Appium Flutter Driver using Appium Java Client
- Appium Flutter Finder Java
- CommonFinders Class Flutter
- Appium Flutter Driver
- Flutter App Test Automation poc | Appium Flutter Driver| Flutter Finder
- Automated Flutter App Testing - Testingbot
- Appium Flutter Driver - A Use Case Demo by Atmaram Naik
WebdriverIO
Tutorials
- OWASP Top 10
- ZAProxy
- Security Testing Guide
- Security Testing Tutorial
- OWASP Web Security Testing Guide
- Web Application Security Testing Guide
- Security Testing
- OWASP Mobile Security
- Hacksplaining
- OWASP Top 10 Vulnerabilities
- OWASP Top 10 2021
- OWASP Top 10 tools and tactics
- awesome-security
- awesome web security
- awesome Hacking
- awesome web hacking
- awesome mobile security
- awesome-appsec
- awesome-api-security
- Threat Modelling
- What is Threat Modelling and How does it work?
- What is CVE?
Penetration Testing
- Penetration testing guide
- Pentesterlabs
- The Beginner’s Guide to API Hacking - DANA EPP'S BLOG
- Hacking APIs: Workshop - Corey Ball
- MalAPI by mrd0x
- What is DAST?
- What is RAST?
- What is SAST
- What is IAST
- Difference between DAST,SAST, IAST and RAST
- SAST, DAST and IAST
- CyberSecurity - Codeacademy
- Collection of Penetration Testing resources
- Penetration Testing Full Course - FreeCodeCamp.org
YouTube Channels
- OWASP Foundation
- OWASP Top 10 2021 - The List and How You Should Use It
- 2021 OWASP Top Ten Overview - F5 DevCentral
- API hacking for the Actually Pretty Inexperienced hacker with Katie Paxton-Fear
- OWASP Devslop
- A Starters Guide to Pentesting with OWASP
- Actionable Security Testing Tips on the TestGuild Security Testing
Security Testing Tools
Performance Testing Tutorials
- A Complete Performance Testing Guide With Examples
- What is Performance Testing?
- Master Performance Testing
- Performance Testing vs. Load Testing vs. Stress Testing
- What is Throughput in Performance Testing?
- Load Testing Best Practices
- Tools and Techniques for Performance and Load Testing
- awesome-performance-testing
- 15 Top Load Testing Tools Open Source MUST KNOW in 2021
- 15 BEST Performance Testing Tools (Load Testing Tools) In 2023
- Performance Testing Tools: Types, Use & More
K6
Gatling
JMeter
Google Lighthouse
YouTube Channels
Learning Materials
- What is MetaVerse? | VR, AR, MR and XR
- AR/VR Testing Tutorial – How To Perform AR/VR Testing
- All You Need To Know About Augmented Reality Testing
- Arium — An Automation framework for Unity/XR
- How to Test Voice Recognition in 4 Steps With Perfecto
- Audio Capture From iOS Simulators and Real Devices
- How To Do Virtual Augmented Reality Testing
- Visual Testing of AR, VR, and MR in Research Focused Product Delivery
Automation Tools/Frameworks
Learning Materials
Learning Materials
SQL/MySQL Tutorials
- SQL Tutorial - SQLTutorial.org
- SQL Tutorial - W3Schools
- SQL Tutorial - SQLZoo.net
- SQL Tutorial - Tutorialspoint
- SQL Tutorial - Javatpoint
- SQL Tutorial - Programiz
- SQL Tutorial - Full Database Course for Beginners
- SQL Cheat Sheet
- Visualize your SQL queries
- MySQL tutorial
- MySQL Tutorial - W3Schools
- MySQL Tutorial - Tutorialspoint
- Learn to use MySQL Database - FreeCodeCamp.org
- MySQL Workbench
MongoDB Tutorials
DynamoDB Tutorials
Postgres Tutorials
Database Testing
Learning Materials
- Free Devops Books
- Lets-DevOps/awesome-learning
- What is CI/CD?
- What is CI/CD Pipeline?
- annfelix/DEVOPS-WORLD
- Continuous Integration Patterns and Anti-Patterns
- Learn How to Set Up a CI/CD Pipeline From Scratch
- How to use Docker for Automation Testing?
- Test Automation in DevOps
- Continuous Testing with Azure DevOps
- Scaling tests with Docker
- Whole Team Approach to Continuous Testing
Blogs
YouTube Channels
Jenkins
- Jenkins Tutorials
- Jenkins Tutorial For Beginners: 21+ Practical Guides
- Jekins Beginners Tutorials
- Jenkins CI Tutorials
- Testing with Jenkins
- Jenkins Tutorial
- Jenkins YouTube Channel
- Selenium Continuous Integration with Jenkins
- What is Jenkins and How does it work?
- What is Jenkins? How to Use Jenkins for CI/CD and Testing
- Jenkins Tutorial for Beginners: A Comprehensive Guide With Examples and Best Practices
- Jenkins Full Course in 4 Hours | Jenkins Tutorial For Beginners
- ssbostan/jenkins-tutorial
Docker
- Docker
- Play with Docker
- Learn Docker Online
- Docker Curriculum
- Learning Docker
- veggiemonk/awesome-docker
- The Ultimate Guide to End to End Tests with Selenium and Docker
- Docker full Course
- Training - Play with Docker
- Docker Tutorial for Beginners by Mosh
- Docker Labs
- Docker Tutorial for Beginners | Docker Full Course
- Docker Tutorial for Beginners - A Full DevOps Course on How to Run Applications in Containers
- Docker Containers and Kubernetes Fundamentals – Full Hands-On Course
- Docker Tutorial for Beginners [FULL COURSE in 3 Hours]
- Parallel Execution of Tests using Selenium Grid 4 with Docker Compose
- Introduction to Docker Compose
- Docker Compose Documentation
- docker/compose
- Docker Tutorial for Beginners – Introduction & Getting Started
GitHub Actions
- GitHub Actions Documentation
- GitHub Actions Guide
- Automate your workflow from idea to production
- How to setup GitHub Actions for NodeJS project?
- GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker
- How to setup Github Actions for Java with Maven project?
- GitHub Actions for testing - Test Automation University
Learning Materials
- Awesome TDD
- TestDrivenDevelopment - Martin Fowler
- TDD Is The Best Design Technique - Dave Farley
- The 3 Types of Unit Test in TDD • Dave Farley • GOTO 2022
- Test Driven Development vs Behavior Driven Development • Dave Farley • GOTO 2022
- TDD | Dave Farley's Blog
- Test Driven Development - Dave Farley
- Test Driven Development is the best thing that has happened to software design
- TDD Quick Guide
Learning Materials
- What is BDD?
- BDD - A Complete Tutorial
- Beginners guide to BDD
- Cucumber Installation
- Cucumber Guides
- Cucumber Documentation
- Cucumber blogs
- Gherkin syntax
- Cucumber with Java
- Cucumber with JavaScript
- BDD with Pytest
- Cypress Cucumber - Step by Step Guide
- Cucumber.js for BDD: An Introductory Tutorial With Examples
- Cucumber Testing
- Cucumber Tutorial
- Behaviour Driven Development: Tips for writing better feature files
- Serenity Dojo TV
- Serenity Core
- The Cucumber for Java Book
- Cucumber books
- BDD Community
- IntelliJ Cucumber Support
Learning Materials
- Awesome Agile
- What is Agile?
- Agile in a nutshell
- Agile Software blogs by Mike Cohn
- Agile Software Guide - Martin Fowler
- What is Scrum?
- Agile 101
- Agile Manifesto
- Agile Methodology Tutorial for Beginners
- Planning Poker
- Agile Retrospectives
- Agile Retrospective Meetings
- Agile Sprint planning
- 7 Lessons Agile Can Teach Us about Leadership
- DZone Agile blogs
- Agile Testing - LambdaTest Learning Hub
- Agilemania's blogs