What is software testing?
Told through a real bug that cost a company $440 million in 45 minutes.
Step 1
The idea
Imagine a garment factory. Hundreds of shirts roll off the production line every hour. Before a shirt gets boxed and shipped to a customer, a quality inspector picks it up, checks the stitching, looks for holes, and makes sure every button is in the right place.
If the inspector finds a defect, the shirt goes back for repair — before the customer ever sees it.
Software testing is exactly that job— but for code instead of shirts. A tester checks whether the software does what it's supposed to do, before real users get hurt by a bug.
The technical term for this is software quality assurance — making sure the thing you ship actually works.
Step 2
See it run
No code today — instead, here's a real story. It's one of the most expensive software bugs in history.
📰 Real case study — Knight Capital Group, August 2012
Knight Capital was one of the largest stock trading companies on Wall Street, handling billions of dollars of trades every day.
On the morning of 1 August 2012, a developer deployed new trading software to production. The deployment accidentally left an old, broken piece of code active on seven of their eight servers.
Nobody tested it. Nobody caught it.
At 9:30 AM, the New York Stock Exchange opened.
The broken code began firing off millions of accidental stock orders — buying and selling shares at the wrong price, in the wrong direction, at incredible speed.
In 45 minutes, Knight Capital lost $440 million.
The company was nearly bankrupt by lunchtime and was eventually sold to save it from collapse. Four thousand employees' jobs were at risk — because of one missed test.
That bug didn't fail because programmers are bad people. It failed because there was no quality inspector checking the shirt before it shipped. That inspector is a software tester.
Step 3
Now you try
No terminal needed for this one. Just take 2 minutes and think.
Your turn — reflection exercise
Pick any app you use every day — WhatsApp, Swiggy, Google Pay, YouTube, anything.
Write down 3 things you would check before releasing the next version of that app to 100 million users.
Example: for a food delivery app — "Does the checkout page show the correct total?" "Does the OTP login work?" "Does the map update when the rider moves?"
Those 3 things you just wrote down? Those are test cases. Congratulations — you already think like a tester.
Step 4
Why a tester cares
The reason you're on this course is to automate the checking process so a computer does it faster than any human can. Here is a real Playwright test — you'll understand every word of it by Lesson 1.18:
import { test, expect } from '@playwright/test';
test('Google search works', async ({ page }) => {
await page.goto('https://www.google.com');
await page.getByRole('combobox').fill('Playwright');
await page.keyboard.press('Enter');
await expect(page.locator('h3').first()).toBeVisible();
});That test is your quality inspector. It opens a browser, types a search, presses Enter, and checks that a result appeared — all in about 3 seconds, automatically, every single time.
Knight Capital needed hundreds of tests like this. They didn't have them. You're going to learn how to write them.
Recap
- 1Software testing is checking that code works correctly before real users are affected.
- 2A missing test at Knight Capital caused a $440M loss in 45 minutes — bugs have real consequences.
- 3A test case is simply: 'I expected X to happen. Did it?'