What Is Software Testing
Software testing is the process of checking whether a software application works the way it is supposed to work. A tester runs the software, gives it inputs, and checks whether the outputs match what was expected.
Think of it like a quality check at a biscuit factory. Before biscuits reach the store shelf, a worker checks whether they are the right shape, colour, and taste. Software testing does the same thing — but for digital products.
A Simple Diagram: What Testing Looks Like
[You type a password]
|
v
[Software processes it]
|
v
[Expected: Login successful]
[Actual: Error shown]
|
v
[BUG FOUND — Report it!]
The gap between what the software should do and what it actually does is called a bug or defect. Testing finds that gap before real users do.
What a Tester Actually Does
A tester does not just click around randomly. Testing is a structured activity with clear steps.
Step 1: Understand the Requirements
Before testing anything, a tester reads the requirements document. This document describes what the software must do. For example: "The login button must redirect the user to the dashboard within 2 seconds."
Step 2: Write Test Cases
A test case is a specific scenario the tester checks. For example: "Enter a valid username and password, then click Login. Verify that the dashboard opens."
Step 3: Execute the Tests
The tester runs each test case on the software and records the results.
Step 4: Report Bugs
When the software behaves differently from what was expected, the tester writes a bug report. Developers read this report and fix the problem.
Step 5: Retest After Fixes
Once developers say a bug is fixed, the tester checks again to confirm the fix actually worked.
Software vs Hardware Testing
Hardware testing checks physical devices — like checking if a phone screen breaks when dropped. Software testing checks programs and applications — like checking if a mobile banking app shows the correct account balance.
Who Performs Testing?
Testing is done by different people depending on the situation.
- QA Engineers (Testers): Professionals hired specifically to find bugs.
- Developers: They test their own code, especially during unit testing.
- End Users: Sometimes real users test the product before launch. This is called beta testing.
- Business Analysts: They verify that the software meets business requirements.
Testing Is Not Debugging
Many beginners confuse testing with debugging. They are different activities.
TESTING DEBUGGING --------- ---------- Finding the bug Fixing the bug Done by testers Done by developers "Something is wrong here" "Here is why it went wrong"
Testers find bugs. Developers debug (fix) them. Both roles are essential.
Key Terms to Remember
- Bug / Defect: A mistake in the software that causes wrong behaviour.
- Test Case: A specific scenario used to check the software.
- Expected Result: What the software should do.
- Actual Result: What the software actually does.
- Pass: Expected result matches actual result.
- Fail: Expected result does not match actual result.
