A curated list of awesome online courses & tutorials on software testing, test automation and more.
- Automation in Testing
- Blazemeter University
- Codecademy
- Cucumber School
- edX
- JetBrains Academy
- LinkedIn Learning
- Ministry of Testing Dojo
- Oracle University
- Pluralsight
- Test Automation University from Applitools
Free access 🆓
Free access free:
- JMeter™ Intro
- JMeter™ Pro
- The Complete Taurus Course
- Master BlazeMeter Performance Testing
- BlazeMeter Infrastructure Management
- Introduction to BlazeMeter Mock Services
Paid subscription đź’°
Free access 🆓
Free to audit 🆓, verified certificate 💰
- Methods and techniques to test and verify software, MicroMasters, 2020
- Automated Software Testing: Model and State-based Testing
- Automated Software Testing: Unit Testing, Coverage Criteria and Design for Testability
Free courses on programming 🆓
Paid subscription đź’°
- Programming Foundations: Software Testing/QA, 2019
- Agile Testing, 2018
- Software Testing: Exploratory Testing, 2019
- Software Testing: Tools, 2019
- Software Testing Foundations: Test Management, 2020
- Software Testing Foundations: Test Planning, 2020
- Software Testing Tips Weekly
- Nail Your Software Tester Interview, 2020
- Programming Foundations: Test-Driven Development, 2019
- UX Foundations: Usability Testing, 2015
- Software Testing Foundations: Bug Writing and Management. 2020
- Software Testing Foundations: Testing throughout the SDLC, 2020
- Learning Selenium, 2018
- Selenium Essential Training, 2018
- Advanced Selenium: Support Classes, 2019
- Advanced Selenium: 3 Synchronization Strategies, 2020
- Advanced Selenium: Automation Frameworks, 2019
- Advanced Selenium: Page Objects and GUI Automation, 2020
- Robot Framework Test Automation: Level 1 (Selenium), 2018
- Robot Framework Test Automation: Level 2, 2018
- Robot Framework Test Automation: Jenkins CI and Git Version Control, 2018
- Robot Framework Test Automation: Sauce Labs, 2018
- Software Testing: Planning Tests for Mobile, 2019
- Mobile Testing with Appium, 2019
- Advanced Appium, 2019
- Unit Testing for iOS Developers, 2018
- Automated Testing in Xcode, 2018
- iOS App Development: Test-Driven Development, 2018
- Android Espresso Essential Training, 2018
- Advanced Android Espresso Testing, 2018
- Effective Android Testing for Mobile Developers, 2017
- API Testing Foundations, 2018
- API Testing and Validation, 2017
- API Test Automation with SoapUI, 2019
- Introducing Postman, 2019
- Postman Essential Training, 2020
- Performance Testing Foundations, 2019
- JMeter: Performance and Load Testing, 2019
- Advanced JMeter, 2020
- Java: Testing with JUnit, 2016
- Spring: Test-Driven Development with JUnit, 2017
- Practical Test-Driven Development for Java Programmers, 2018
- Learning JUnit 5, 2018
- Unit Testing in Python, 2020
- Python Automation and Testing, 2018
- Unit Testing and Test Driven Development in Python, 2018
- React: Testing and Debugging, 2017
- Angular Testing and Debugging, 2018
- Test-Driven Infrastructure with Chef, 2018
- Security Testing Essential Training, 2019
- Penetration Testing Essential Training, 2017
- DevSecOps: Automated Security Testing, 2018
- Security Testing: Vulnerability Management with Nessus, 2019
- Online Application Security Testing Essential Training, 2019
- Offline Application Security Testing Essential Training, 2019
- Android App Penetration Testing, 2019
- Penetration Testing: Advanced Web Testing, 2018
- Penetration Testing: Advanced Kali Linux, 2019
- Penetration Testing: Advanced Tunneling and Exfiltration, 2018
- Penetration Testing: Advanced Enumeration, 2018
- DevOps Foundations: Continuous Delivery/Continuous Integration, 2017
- Continuous Integration: Tools, 2020
- Learning Jenkins, 2018
- Jenkins Essential Training, 2018
Free 🆓 and Paid 💰
- Essentials - Introduction to Software Development and Testing
- Introduction To Modern Testing
- Optimising Manual Test Scripts For An Agile Environment
Free courses on Java 🆓
- Java Explorer New!
Paid Subscription đź’°
- Automated Testing: End to End, 2013
- Test First Development - Part 1, 2010
- Test First Development - Part 2, 2010
- Test-driven Development: The Big Picture, 2017
- Automated Testing for Fraidy Cats Like Me, 2013
- What Is TDD and Why It Is Not Unit Testing: Executive Briefing, 2019
- Testing Automation: The Big Picture, 2017
- Coding Dojo: Test Driven Development, 2013
- Fundamentals of Test Automation in Java, 2020 New!
- Advanced Unit Testing
- Unit Testing in Scala
- Patterns for Pragmatic Unit Testing
- Building a Pragmatic Unit Test Suite
- Better Unit Test Assertions with Shouldly
- Unit Testing with JUnit 5 and Kotlin
- Improving Unit Tests with Fluent Assertions
- Writing Highly Maintainable Unit Tests
- Unit Testing for Game Development in Unity
- C++ Unit Testing Fundamentals Using Catch2
- Automated Tests with PHPUnit
- TDD as a Design Tool
- Introduction to WireMock
- Introduction to Testing in Java
- Implementing a Test Pyramid Strategy in Java
- Test-Driven Development Practices in Java
- Mutation Testing in Java with Pitest
- Unit Testing Legacy Code in Java
- Getting Started with TestNG
- Getting Started with Mockito
- Getting Started with EasyMock
- JUnit 5 Fundamentals
- Getting Started Unit Testing with JUnit 5
- JUnit 5 Testing: Android Unidirectional Data Flow with LiveData
- TDD with Spring and JUnit 5
- Effective Automated Testing with Spring
- Introduction to Spring Cloud Contract
- Migrating from the JUnit 4 to the JUnit 5 Testing Platform
- Testing Windows PowerShell with Pester
- Test Driven Development in C#
- Testing .NET Code with xUnit.net 2
- Automated Testing in ASP.NET With SpecsFor and SpecsFor.Mvc
- Approval Tests for .NET
- More Expressive Testing in .NET with MSpec
- Introduction to .NET Testing with NUnit 3
- Basics of Unit Testing for C# Developers
- Introduction to Property-based Testing with F#
- Automating UI Tests for WPF Applications
- Testing .NET Code in Visual Studio 2019
- Automated Testing with MSTest V2
- Effective C# Unit Testing for Enterprise Applications
- Better .NET Unit Tests with AutoFixture: Get Started
- Testing .NET Code with xUnit.net: Getting Started
- Mocking in .NET Core Unit Tests with Moq: Getting Started
- Automated ASP.NET MVC Testing: End to End
- Mocking with Moq and NUnit
- Unit Testing with Python
- Unit Testing with pytest
- Scraping Dynamic Web Pages with Python and Selenium
- Testing Django Applications
- Testing JavaScript with Jasmine and TypeScript
- Testing Clientside JavaScript
- Seamless JavaScript Testing with Wallaby.js
- Node.js Testing Strategies
- Unit Testing with Node.js
- Acceptance Testing in Node.js
- Testing JavaScript for Node.js with Mocha
- Mocking Node.js with Sinon
- Automated Web Testing with Selenium and WebDriver Using Java
- Automated Tests in Java with Fluent Interface Using WebDriver Selenium
- Getting Started with UI Testing and Appium
- Writing Maintainable UI Test Automation with Appium
- Appium: The Big Picture
- Integrating Appium into a DevOps Pipeline, 2020
- Android Testing Fundamentals
- Working with Android Tools and Testing
- Android Apps with Kotlin: Tools and Testing
- Android Unit Testing with JUnit and Mockito Using Kotlin
- Android UI Tests: Espresso Fundamentals
- Testing Fundamentals in iOS
- iOS Unit Testing with XCTest
- Advanced​ ​Unit​ ​Testing​ ​with​ ​Swift​ ​iOS​ ​Through​ ​Mocks​ ​and Stubs
- Swift iOS UI and Unit Testing
- Unit Testing in Angular
- Play by Play: Fundamentals of Angular Testing
- AngularJS Unit Testing in-depth, Using ngMock
- Introduction to Protractor
- Making the Case for Unit Testing Database Code
- Oracle PL/SQL Unit Testing with Oracle SQL Developer
- Unit Testing T-SQL Code with tSQLt
- Java: BDD Fundamentals
- Java: BDD with Cucumber and Gherkin Getting Started
- Test-driven Rails with RSpec, Capybara, and Cucumber
- Business Readable Automated Tests with SpecFlow 2.0
- Automated Business Readable Web Tests with Selenium and SpecFlow
- Automated Acceptance Testing with SpecFlow and Gherkin
- Executable Specifications: End-to-End Acceptance Testing With SpecFlow
- SpecFlow Tips and Tricks
- Microsoft Azure Developer: Designing a Test Strategy
- Microsoft Azure Developer: Performing Unit Testing & Integration Testing
- Microsoft Azure Developer: Performing Automated End-to-end Testing
- Microsoft Azure Developer: Performing Data Integrity Testing
- Microsoft Azure Developer: Performing Load Testing
- Application Testing with Azure DevOps and Visual Studio 2019
- End-to-end Web Testing with TestCafe: Getting Started
- Play by Play: Test-Driven PHP with Chris Hartjes
- Writing Testable Code
- The Art of A/B Testing for Web Design
- Structure Unit Testing with Spek
- Web Accessibility: Getting Started
- Code Testability
- Penetration Testing: The Big Picture
- Penetration Testing in Action
- Ethical Hacking: Penetration Testing
- Penetration Testing Life Cycle Explained
- Approaching Automated Security Testing in DevSecOps
- Introduction to Penetration Testing Using Metasploit
- Writing Penetration Testing Reports
- Laying the Foundation for Penetration Testing for CompTIA PenTest+
- CSSLP®: Secure Software Testing
- Infrastructure Testing with Pester
- Wireless Network Penetration Testing
- Penetration Testing with the Metasploit Framework
- Web Application Penetration Testing: Session Management Testing
- Penetration Testing and Ethical Hacking with Kali Linux
- Penetration Testing Automation Using Python and Kali Linux
- Network Penetration Testing Using Python and Kali Linux
- Web Application Penetration Testing with Burp Suite
- Advanced Web Application Penetration Testing with Burp Suite
- Testing Security Controls and Detecting Vulnerabilities with Nmap
- Wireless Network Penetration Testing Advanced Techniques
- Web Application Penetration Testing: Configuration and Deployment Management Testing
- Penetration Testing: Setting the Scope and Rules of Engagement
- Web Application Penetration Testing Fundamentals
- Web Application Penetration Testing: Insecure Error Handling
- Web Application Penetration Testing with Burp Suite
- Web Application Penetration Testing: Client-side Testing, 2020
- Performing DevSecOps Automated Security Testing, 2020
- Angular Denver '19: Quasi-human Angular Automated Testing with Cucumber
- Angular Denver '19: More Unit Testing, Less Effort
- Angular Denver '19: Supercharge Your Angular Tests with Jest (Snapshots Included)
- Angular Denver '19: E2E Testing with Cypress.io
- From Manual Testing to Automation Suite: CodeMash
- Including Security in the Development Testing Process: CodeMash
- End to End Testing with Cypress: CodeMash
- Intro to Mobile Security Testing: CodeMash
- Mutation Testing to the Rescue of Your Tests: CodeMash
- Postman Delivers: CodeMash
- End to End Testing with Cypress: CodeMash
- Unit Testing Strategies and Patterns in C#: CodeMash
- Test-driven Development: CodeMash
- droidcon NYC '19: Best Practices for Mobile App Security Testing
- droidcon NYC '19: Using ML to Make Your UI Tests More Robust
- Droidcon Boston '19: How We Seamlessly Internally Test Our Android Apps Within Microsoft
- Droidcon Boston '19: Test the Untested: Our Journey from Zero Coverage to Automated Testing
- Droidcon Boston '19: Writing Tests That Stand the Test of Time
- E2E2U: Slack's Journey to Developer-driven End-to-end Testing
- ng-conf '19: Unit Testing Angular
- ng-conf '19: Effective Automated Testing with Cypress.io
- ng-conf '19: Testing Is a Black Hole of Time and Effort: Avoiding the Suck Using Cypress
- Snowforce '19: 7 Principles of Testing Every Admin Should Know
- SwiftFest Boston '19: Mutation Testing - An Automated Technique for Better Tests
- SwiftFest Boston '19: Testing. Testing. One. Two.
- THAT Conference '19: Postman: An Incredible Tool for API Development and Testing
- THAT Conference '19: Postman: An Incredible Tool for API Development and Testing
- THAT Conference '19: Unit Testing as a Philosophy for Success
- THAT Conference '19: Learn to Slay the iOS UI Testing Beast in an Hour
- THAT Conference '19: Unit Testing in Sass
- UI Testing at Pinterest
Free access 🆓
- Web UI Java Path
- Web UI JavaScript Path
- Web UI Python Path
- Web UI C# Path
- Web UI Ruby Path
- API Java Path
- API JavaScript Path
- Mobile Swift Path
- Mobile Java Path
- Mobile Python Path
- Mobile JavaScript Path
- Codeless Path
- Setting a Foundation for Successful Test Automation, 2019
- Test Automation in DevOps, 2019
- IntelliJ for Test Automation Engineers, 2020
- Testing From The Inside: Unit Testing Edition, 2019
- The Whole Team Approach to Continuous Testing, 2019
- Exploring Service APIs through Test Automation, 2019
- Automating your API tests with REST Assured, 2019
- Intro to Selenium WebDriver with .NET Core, 2019
- From Scripting to Framework with Selenium and C#, 2019
- Jest JavaScript Testing Framework, 2019
- Mocha JavaScript Test Framework, 2019
- Introduction to Chai Assertions, 2019
- Automating in the Browser Using JavaScript, 2019
- Automated Visual Testing: A Fast Path To Test Automation Success, 2019
- Modern Functional Test Automation Through Visual AI, 2019
- Automated Visual Testing in C#, 2019
- Automated Visual Testing with WebdriverIO, 2019
- Automated Visual Testing with Python
- Cucumber with Java, 2020
- Cucumber with JavaScript, 2020
- Behavior Driven Python with pytest-bdd, 2019
- Introduction to iOS Test Automation with XCUITest, 2019
- Introduction to TestNG, 2019
- AI for Element Selection: Erasing the Pain of Fragile Test Scripts, 2019
- Scaling Tests with Docker, 2019
- Contract Tests with Pact, 2020
- Source Control for Test Automation with Git, 2020
- Robot Framework, 2020
- Introduction to NUnit, 2020
- Introduction to NightwatchJS, 2020 New!
Contributions welcome! Read the contribution guidelines first.
To the extent possible under law, Unmesh Gundecha has waived all copyright and related or neighboring rights to this work.