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
Free Tutorials and Courses
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
Test Pyramid
Tutorials
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
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
- WebdrivreIO - 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?
SuperTest
Playwright
Cypress
GraphQL
Mobile Testing
- Guide to Mobile Testing
- Mobile App Testing Guide
- Mobile Automation Testing Tools
- 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
- 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
- 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
- Testing Flutter apps
- APPIUM For Android & iOS Mobile Apps Testing In Flutter
- Automating Flutter Apps with Appium Flutter Driver using Appium Java Client
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
- 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
- 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
GitHub Actions
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