beginner7 h16 lessons

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.

by DevFox

Start course

What you will cover

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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