Complete Course

Software Testing Fundamentals

Start your QA journey: the testing pyramid, test types and levels, the testing quadrants, and core test design techniques like equivalence classes, boundaries, and edge cases.

Course Content

17 comprehensive lessons covering everything you need to know

Introduction

Introduction
Course Overview
Learn what this course covers, who it is for, and how to get the most out of it.
Introduction
What you will learn
A map of the fundamentals ahead, from why we test to the core test design techniques.

Testing foundations

Lesson
Lesson 1
What is software testing and why we test
What testing really is, why it matters, and the difference between verification and validation.
Lesson
Lesson 2
The seven principles of testing
The seven classic testing principles and what each one changes about how you test.
Lesson
Lesson 3
Static vs dynamic, functional vs non-functional
Two fundamental ways to slice testing: with or without running the code, and what vs how well.

Test types and levels

Lesson
Lesson 4
Test levels: unit, integration, system, acceptance
The four levels of testing, what each one checks, and who typically owns it.
Lesson
Lesson 5
The testing pyramid
How to balance many fast tests against a few slow ones, and how to avoid the ice-cream cone.
Lesson
Lesson 6
The testing quadrants
A model that maps tests by who they guide and what they measure, so nothing important is missed.
Lesson
Lesson 7
Black-box, white-box, and grey-box testing
Testing based on behavior, on internal structure, or on a mix of both, and when each fits.
Lesson
Lesson 8
Smoke tests vs regression tests
Quick confidence checks vs broad safety nets, plus how retesting differs from regression.

Test design techniques

Lesson
Lesson 9
Equivalence class partitioning
Group inputs that behave the same way so you test more with fewer cases.
Lesson
Lesson 10
Boundary value analysis
Bugs love the edges of a range. Learn to test right at and around the boundaries.
Lesson
Lesson 11
Happy path vs unhappy path testing
Positive vs negative testing: proving it works, and proving it fails gracefully.
Lesson
Lesson 12
Edge case testing
The rare, extreme, and unexpected conditions where software quietly breaks.
Lesson
Lesson 13
Decision tables, state transition, and pairwise testing
Three techniques for taming combinations, rules, and stateful behavior.
Lesson
Lesson 14
False positives and false negatives
When a test lies: passing tests that should fail, and flaky tests that fail when they should pass, and why they destroy trust.

Process, strategy, and tools

Lesson
Lesson 15
Testing in the SDLC and shift-left
Where testing fits across the software lifecycle, the STLC, and why earlier is cheaper.
Lesson
Lesson 16
Exploratory, risk-based, manual and automated testing
Learning by exploring, prioritizing by risk, and choosing between manual and automated testing.
Lesson
Lesson 17
Tool alternatives for the different test types
A tool-agnostic map of the popular options for unit, API, UI, performance, and accessibility testing.

Bonus & Conclusion

Bonus
Bonus: testing with AI
How AI assistants can speed up the fundamentals you just learned, and why you stay in charge of quality.
Conclusion
Congratulations!
You have completed the Software Testing Fundamentals course!