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 found | Relative cost to fix (illustrative) | Why it costs more |
|---|---|---|
| Requirements | 1x | Only a document needs correction |
| Design | 3x–5x | Design documents and dependent plans change |
| Coding | 10x | Code must be rewritten and unit tested again |
| System testing | 15x–40x | Fix, rebuild, retest and regression test |
| Production | 30x–100x or more | Hotfix, 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.
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.
| Term | Meaning | Example |
|---|---|---|
| Error (mistake) | A human action that produces an incorrect result | A 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 error | The line of code if (amount > 500) exists in the cart module |
| Bug | The informal name for a defect, typically once it is found and reported | The tester logs "Free delivery not applied for cart value ₹499" |
| Failure | The observable deviation of the system from expected behaviour when the defect is executed | A 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.
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.
| Aspect | Quality Assurance (QA) | Quality Control (QC) | Testing |
|---|---|---|---|
| Focus | The process used to build software | The product that is built | Executing or reviewing the product to find defects |
| Nature | Preventive | Detective | Detective |
| Typical activities | Defining standards, process audits, checklists, training | Reviews, inspections, testing, sign-off checks | Designing and running test cases, logging bugs |
| Question asked | Are 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:
- Studying requirements and raising questions about unclear or missing details.
- Identifying test scenarios and writing test cases.
- Preparing test data and verifying the test environment.
- Executing tests, comparing actual results with expected results.
- Reporting defects clearly and tracking them until closure.
- Performing retesting and regression testing after fixes.
- 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.
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.