Testing Foundations
Learn software testing and QA from scratch. What testing is actually for, how software really breaks, how to design cases and find bugs nobody wrote a case for, and how to report them so they get fixed. No experience assumed.
Start courseWhat you will cover
- What Testing Is Actually ForNot to prove software works — that is impossible — but to buy information about risk before your users find it. What a test is, what QA is, and why testing early costs less than testing late.20 min
- How Software BreaksThe failures that actually happen: bad input, missing state, timing, integration seams and wrong assumptions. Knowing the shapes is how you learn to guess where a bug is hiding.25 min
- Levels of TestingUnit, integration, system and end-to-end — what each level can see, what it cannot, and why the pyramid is a statement about cost and speed rather than a rule.25 min
- Turning Requirements Into Test CasesRead a feature description, find what it does not say, and turn it into cases someone else can run: preconditions, steps, expected result, and one behaviour per case.30 min
- Equivalence Classes and Boundary ValuesYou cannot test every input, so stop trying. Splitting an input space into classes that behave alike, then testing the edges — where bugs genuinely live.25 min
- Smoke, Sanity and Acceptance TestingThe same software tested for different purposes: is the build worth testing, did this fix work, and would the person who asked for the feature accept it?25 min
- Static Testing and ReviewsThe cheapest defects to fix are the ones found before the code runs. Requirement reviews, code review as testing, and what a linter or type checker is really doing for you.25 min
- Exploratory TestingTesting without a script, done properly: charters, time-boxing, note-taking and heuristics. The technique that finds the bugs your written cases were never going to.30 min
- Filing a Bug Report That Gets FixedA minimal reproduction, the expected and actual behaviour, the environment, and one bug per report — the difference between a ticket that gets fixed and one that gets closed.25 min
- Severity, Priority and What Gets Fixed FirstSeverity is how bad it is; priority is when we deal with it. Why the two come apart, who decides each, and how to argue for a fix with evidence instead of feelings.20 min
- Regression Testing and Why Suites GrowFixed things break again. Where a regression suite comes from, why every bug should leave a test behind, and how a suite turns into something nobody wants to run.25 min
- Test Data and EnvironmentsMost confusing test results are really data or environment problems. Building the state a test needs, keeping environments comparable, and never testing with real customer data.30 min
- When to Automate and When Not ToAutomation is code you now maintain. What it is genuinely good at, what only a human can judge, and how to tell a test worth automating from one that will just break.25 min
- Your First Automated TestWrite, run and read a real automated test: arrange, act, assert; what a good failure message looks like; and why a test that never fails is not a test.30 min
- Beyond Functional TestingThe requirements nobody writes down: usability, accessibility, compatibility, performance and security. What each one is, and the cheapest first check for each.30 min
- Writing Your First Test PlanThe capstone: for one real feature, write down what you will test, what you will not, in what environment, with what data, and how you will know when you are finished.30 min