Software Testing Terminology
Every profession speaks its own language, and software testing is no exception. Testers, developers, and managers work faster when each word carries the same meaning for everyone. Clear vocabulary keeps bug reports precise, test plans readable, and meetings short. A small set of core terms unlocks every later topic in the course.
The Error, Defect, and Failure Chain
Three words describe how a problem travels from a person's mind to a user's screen. Beginners often treat them as synonyms, but each one marks a different stage.
Human makes an ERROR ---> Code contains a DEFECT ---> Software shows a FAILURE (wrong thinking) (wrong line in the code) (wrong result on screen)
Error
An error is a human mistake. A developer misreads a requirement or mistypes a formula, and the mistake begins here.
Defect or Bug
A defect is the flaw that the error leaves inside the code, the design, or a document. Teams use the words defect and bug for the same thing.
Failure
A failure appears when the software runs and produces a wrong result. Not every defect causes a failure. A flaw inside a rarely used feature can sleep for years.
Everyday Example
Picture a cook who reads "two spoons of salt" in a recipe and writes "twenty spoons" in the kitchen notes. The wrong note is the error. The notes now contain a defect. The guest who tastes the soup experiences the failure.
Test Artifacts
Testers create and use several written items during their work. Each item has a clear job.
| Term | Meaning |
|---|---|
| Test Scenario | A short statement of what to check, such as "Verify login with valid credentials" |
| Test Case | A detailed set of steps, input data, and expected result for one scenario |
| Test Suite | A group of test cases that share a goal, such as all payment checks |
| Test Script | Code that runs a test case automatically |
| Test Data | The values a tester enters, such as names, numbers, and files |
| Test Environment | The hardware, software, and settings where testing takes place |
Test Results
Every executed test case ends with a status. The common statuses are simple.
- Pass: the actual result matches the expected result.
- Fail: the actual result differs from the expected result.
- Blocked: a missing feature or broken environment stops the test from running.
- Skipped: the team decides to leave the test out of the current run.
Quality Terms
Severity and Priority
Severity measures the damage a bug causes. Priority measures how soon the team should fix it. A spelling mistake in the company name on the home page has low severity and high priority. A crash in a feature that three users per year open has high severity and low priority.
Test Coverage
Coverage tells how much of the software the tests touch. A team can measure coverage against requirements, screens, or lines of code.
Baseline
A baseline is an approved version of a document or product that serves as the reference point for later comparison.
Entry and Exit Criteria
Entry criteria list the conditions that must exist before testing starts, such as a stable build and ready test data. Exit criteria list the conditions that allow testing to stop, such as 95 percent of test cases executed and no open critical bugs.
Process Terms
Build ---> Test Execution ---> Defect Report ---> Fix ---> Retest
A build is a working copy of the software delivered to testers. Retesting repeats a failed test after the fix. Regression testing checks that the fix did not damage other features.
Quick Memory Tips
- Link error to the person, defect to the code, and failure to the user.
- Link scenario to the idea, and test case to the detailed steps.
- Link severity to impact, and priority to urgency.
Use these terms exactly in bug reports and status updates. Precise words save hours of back-and-forth between testers and developers.
