Lesson 1 of 17 · 14 min read

Introduction to Software Testing

Understand what software testing is, why it matters, the real cost of defects, key terminology, and the everyday role of a software tester.

Learning objectives

  • Define software testing and explain its purpose in a software project
  • Explain why defects become more expensive the later they are found
  • Differentiate between error, defect, bug and failure with examples
  • Compare Quality Assurance, Quality Control and Testing, and describe the role of a tester

Every app you use daily, whether it is a banking app, a food delivery app or a train booking website, has been tested by someone before it reached you. Software testing is the discipline that gives a team confidence that the product works as expected, and it is one of the most accessible entry points into the IT industry for freshers and career switchers. In this first lesson you will build a strong foundation: what testing really is, why companies invest in it, the vocabulary used in interviews, and what a tester actually does every day.

What Is Software Testing?

Software testing is the process of evaluating a software product to check whether it meets the specified requirements and to find defects before the product reaches end users. It involves executing the software (or reviewing its documents and code) with the intent of finding problems, measuring quality and providing information to stakeholders so that they can make decisions such as "Is this release ready to go live?"

Testing is not only about "breaking" the application. A good tester answers three questions:

  • Does it do what it should? For example, does a correct UPI PIN complete a payment?
  • Does it avoid doing what it should not? For example, does a wrong PIN ever debit money?
  • Is it good enough for real users? Is it fast, secure, easy to use and stable on common phones?

Why Testing Matters

Software failures are not just technical problems; they become business problems very quickly. Consider a few realistic situations:

  • A UPI payment screen debits money from the customer's account but the merchant never receives it. Customers lose trust and the support team is flooded with complaints.
  • An e-commerce app shows the wrong price during a festive sale and thousands of orders are placed at a loss.
  • A train booking app crashes during the Tatkal window, when traffic is highest, and users switch to a competitor.
  • A banking app shows one customer's statement to another customer, leading to a data privacy breach and regulatory penalties.

Testing reduces these risks. It protects revenue, brand reputation, user safety, and legal compliance, and it gives management factual data to decide whether to release.

The Cost of Defects

One of the most important ideas in testing is that the later a defect is found, the more it costs to fix. A mistake in a requirement document can be corrected by editing a sentence. The same mistake found in production may require code changes, retesting, a new release, customer refunds and damage control.

Phase where defect is foundRelative cost to fix (illustrative)Why it costs more
Requirements1xOnly a document needs correction
Design3x–5xDesign documents and dependent plans change
Coding10xCode must be rewritten and unit tested again
System testing15x–40xFix, rebuild, retest and regression test
Production30x–100x or moreHotfix, customer impact, support cost, reputation loss

The exact multipliers vary by project, but the trend is accepted across the industry. This is why modern teams involve testers early, a practice often called shift-left testing.

Example: A missing requirement

The requirement for a mobile recharge screen says "user enters a mobile number" but does not say it must be 10 digits. If a tester asks about this during requirement review, it takes five minutes to fix. If nobody notices, users may recharge invalid numbers, payments fail, and refunds must be processed manually for weeks.

Error, Defect, Bug and Failure

These words are often used interchangeably in daily conversation, but interviewers expect you to know the difference. They form a chain of cause and effect.

TermMeaningExample
Error (mistake)A human action that produces an incorrect resultA developer misreads the rule "free delivery above ₹499" and writes the condition as greater than 500
Defect (fault)A flaw in the code or document caused by the errorThe line of code if (amount > 500) exists in the cart module
BugThe informal name for a defect, typically once it is found and reportedThe tester logs "Free delivery not applied for cart value ₹499"
FailureThe observable deviation of the system from expected behaviour when the defect is executedA customer with a ₹499 cart is charged a delivery fee

Note two subtle points. First, not every defect causes a failure; if the faulty code is never executed, no failure is seen. Second, failures can also come from environmental conditions such as a misconfigured server, not only from code defects.

Interview tip

A crisp answer: "A human makes an error, which introduces a defect in the software. When the defect is found by testers it is reported as a bug, and when the defect is executed in the field it results in a failure."

QA vs QC vs Testing

Quality Assurance and Quality Control are related but different. Testing is one activity inside Quality Control.

AspectQuality Assurance (QA)Quality Control (QC)Testing
FocusThe process used to build softwareThe product that is builtExecuting or reviewing the product to find defects
NaturePreventiveDetectiveDetective
Typical activitiesDefining standards, process audits, checklists, trainingReviews, inspections, testing, sign-off checksDesigning and running test cases, logging bugs
Question askedAre we following the right process?Does the product meet the standard?Does this feature work as required?

In Indian job postings, the title "QA Engineer" is commonly used for testing roles. Do not be confused: in practice you will mostly perform QC and testing activities, while also contributing to process improvement.

The Role of a Software Tester

A tester is the voice of the end user within the project team. Typical responsibilities include:

  1. Studying requirements and raising questions about unclear or missing details.
  2. Identifying test scenarios and writing test cases.
  3. Preparing test data and verifying the test environment.
  4. Executing tests, comparing actual results with expected results.
  5. Reporting defects clearly and tracking them until closure.
  6. Performing retesting and regression testing after fixes.
  7. Sharing test status and quality risks with the team.

Successful testers combine technical skills with a specific mindset: curiosity, attention to detail, clear written communication, patience, and the ability to think like a real customer, including a careless or impatient one.

A tester does not "assure" that software is bug-free. A tester provides honest, timely information about quality so that the team can make good decisions.
Career note

Manual testing skills such as requirement analysis, test design and bug reporting remain the foundation even if you later move to automation, API testing or performance testing. Master them first and the rest of your career builds on them.

Key takeaways

  • Testing evaluates software against requirements and provides quality information for decisions
  • Defects cost far more to fix the later they are found, so test early
  • Error leads to defect, a reported defect is a bug, and an executed defect causes failure
  • QA is process-focused and preventive; QC and testing are product-focused and detective
  • A tester represents the end user and communicates quality risks clearly
✓ You're subscribed! Job alerts arrive daily at 9 AM.
Scroll to Top