Awesome Testing Courses & Tutorials
A curated list of awesome online courses & tutorials on software testing, test automation and more.
Contents
- 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
Automation in Testing
Free access ๐
Blazemeter University
Free access free:
- JMeterโข Intro
- JMeterโข Pro
- The Complete Taurus Course
- Master BlazeMeter Performance Testing
- BlazeMeter Infrastructure Management
- Introduction to BlazeMeter Mock Services
Codecademy
Paid subscription ๐ฐ
Testing Courses
Cucumber School
Free access ๐
edX
Free to audit ๐, verified certificate ๐ฐ
Software Testing Courses
- 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
JetBrains Academy
Free courses on programming ๐
Java
Kotlin
Python
LinkedIn Learning
Paid subscription ๐ฐ
Learning Paths
Software Testing
- 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
Test Automation
Web Testing
Selenium
- 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
- 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
Cypress
Mobile Testing
- 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
- API Testing Foundations, 2018
- API Testing and Validation, 2017
- API Test Automation with SoapUI, 2019
- Introducing Postman, 2019
- Postman Essential Training, 2020
Performance Testing
- Performance Testing Foundations, 2019
- JMeter: Performance and Load Testing, 2019
- Advanced JMeter, 2020
Java
- Java: Testing with JUnit, 2016
- Spring: Test-Driven Development with JUnit, 2017
- Practical Test-Driven Development for Java Programmers, 2018
- Learning JUnit 5, 2018
.NET
Ruby
Python
- Unit Testing in Python, 2020
- Python Automation and Testing, 2018
- Unit Testing and Test Driven Development in Python, 2018
JavaScript
BDD
Others
- React: Testing and Debugging, 2017
- Angular Testing and Debugging, 2018
- Test-Driven Infrastructure with Chef, 2018
Security Testing
- 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
Continuous Integration
- DevOps Foundations: Continuous Delivery/Continuous Integration, 2017
- Continuous Integration: Tools, 2020
- Learning Jenkins, 2018
- Jenkins Essential Training, 2018
XML & CSS
Ministry of Testing Dojo
Free ๐ and Paid ๐ฐ
.NET
Linux
Java
JavaScript
Mobile Testing
Python
Software Testing
- Essentials - Introduction to Software Development and Testing
- Introduction To Modern Testing
- Optimising Manual Test Scripts For An Agile Environment
Web Testing
Oracle University
Free courses on Java ๐
- Java Explorer New!
Pluralsight
Paid Subscription ๐ฐ
Software Testing & Test Automation
- 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!
Unit Testing
- 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
Java
- 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
.NET
- 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
Python
- Unit Testing with Python
- Unit Testing with pytest
- Scraping Dynamic Web Pages with Python and Selenium
- Testing Django Applications
Ruby
JavaScript
- Testing JavaScript with Jasmine and TypeScript
- Testing Clientside JavaScript
- Seamless JavaScript Testing with Wallaby.js
Node.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
Go
Selenium
Java
- Automated Web Testing with Selenium and WebDriver Using Java
- Automated Tests in Java with Fluent Interface Using WebDriver Selenium
.NET
API Testing
Cypress
Mobile Testing
Appium
- 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
- 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
iOS
- 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
React
Angular
- Unit Testing in Angular
- Play by Play: Fundamentals of Angular Testing
- AngularJS Unit Testing in-depth, Using ngMock
- Introduction to Protractor
UI/UX Testing
Database Testing
- Making the Case for Unit Testing Database Code
- Oracle PL/SQL Unit Testing with Oracle SQL Developer
- Unit Testing T-SQL Code with tSQLt
BDD
Cucumber
- Java: BDD Fundamentals
- Java: BDD with Cucumber and Gherkin Getting Started
- Test-driven Rails with RSpec, Capybara, and Cucumber
SpecFlow
- 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
- 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
AWS
Others
- 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
Security Testing
- 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
Conference Talks
- 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
Performance Testing
Test Automation University from Applitools
Free access ๐
Learning Paths
- 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
Test Automation
- 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
API Testing
- Exploring Service APIs through Test Automation, 2019
- Automating your API tests with REST Assured, 2019
Selenium
Java
JavaScript
.NET
- Intro to Selenium WebDriver with .NET Core, 2019
- From Scripting to Framework with Selenium and C#, 2019
Ruby
Python
Others
Appium
JavaScript
- Jest JavaScript Testing Framework, 2019
- Mocha JavaScript Test Framework, 2019
- Introduction to Chai Assertions, 2019
- Automating in the Browser Using JavaScript, 2019
Visual Testing
- 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
Cypress
Performance Testing
Programming Languages
BDD
- Cucumber with Java, 2020
- Cucumber with JavaScript, 2020
- Behavior Driven Python with pytest-bdd, 2019
Others
- 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!
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, Unmesh Gundecha has waived all copyright and related or neighboring rights to this work.