Skip to main content
QA Fundamentals

Software Testing

The process of evaluating software to find defects and verify it meets requirements.

Full definition

Software testing is the process of executing a program or system with the intent of finding errors, verifying that it satisfies specified requirements, and validating that it meets user expectations. Testing can be manual or automated, and it spans the entire software development lifecycle — from requirements review to post-release monitoring.

Testing is not just about finding bugs. It's about building confidence that the software works correctly, providing information to stakeholders about quality, and preventing defects from reaching users.

Key principles of software testing include: testing shows the presence of defects (not their absence), exhaustive testing is impossible, early testing saves time and money, and defects cluster together (the Pareto principle applies — 80% of bugs are often found in 20% of modules).

Examples

  • 1.Running a login form with valid and invalid credentials
  • 2.Checking that a shopping cart calculates totals correctly
  • 3.Verifying an app works on different screen sizes

Interview tip

Interviewers often ask: 'What is the difference between testing and QA?' Testing is a subset of QA — testing finds defects, QA prevents them through process improvement.

Learn more about software testing in practice

Manual Testing track