Software Testing Fundamentals (STF) !

Software Testing Fundamentals (STF) is a platform to gain (or refresh) basic knowledge in the field of Software Testing. If we are to ‘cliche’ it, the site is of the testers, by the testers, and for the testers. Our goal is to build a resourceful repository of Quality Content on Quality. YES, you found it: the not-so-ultimate-but-fairly-comprehensive site for software testing enthusiasts. Have fun!

Software Testing

Software Testing Definition

Software Testing is the practice of verifying and validating software to ensure that it meets its specified requirements and behaves as expected.

  • ISTQB: testing: The process consisting of all lifecycle activities, both static and dynamic, concerned with planning, preparation and evaluation of a component or system and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.

Why Software Testing?

The main reasons for Software Testing are:

  • Ensuring Quality: Software Testing helps in ensuring that the software meets quality standards (which is mainly conformance to requirements and expectations).
  • Enhancing User Experience: Software Testing helps in improving user experience by identifying usability and functionality issues in the software.
  • Compliance: Software Testing helps in ensuring that the software complies with standards and regulations of the specific industry and reduces the risk of legal issues and financial penalties.
  • Cost Savings: Software Testing helps in avoiding or lowering costly rework, redesign, and maintenance by identifying defects early in the development process.
  • Reputation: Software Testing helps in enhancing the company’s reputation by avoiding embarrassing defects and ensuring high quality software.

Consequences of NOT Testing Software

Not testing software properly can have the following consequences:

  • Delay / Loss of time
  • Futility / Loss of effort
  • Wastage / Loss of money
  • Shame / Loss of business reputation
  • Injury / Death

Software Testing Goals

The three main goals of Software Testing are:

  • Defect Detection: Find defects/bugs in the software during all stages of its development (earlier, the better).
  • Defect Prevention: As a consequence of defect detection, help anticipate and prevent defects from occurring at later stages of development or from recurring in the future.
  • User Satisfaction: Ensure customers/users are satisfied that their requirements (explicit or implicit) are met.

Software Testing Guide / Tutorial

Get started by going through Software Testing Basics like Quality Assurance, Quality Control, Software Development Life Cycle and Software Testing Life Cycle.“SOFTWARE QUALITY is the degree of conformance to explicit or implicit requirements and expectations.”
And, level up by understanding Software Testing Levels like Unit Testing, Integration Testing, System Testing and Acceptance Testing.“UNIT TESTING is a level of software testing where individual units/ components of a software are tested.”
Then, go through the various Software Testing Methods like Black Box Testing, White Box Testing, Gray Box Testing, Agile Testing and Ad Hoc Testing.“BLACK BOX TESTING is a software testing method in which the internal structure of the item being tested is not known to the tester.”
Further, check out the various Software Testing Types like Smoke Testing, Functional Testing, Usability Testing, Security Testing, Performance Testing, Regression Testing and Compliance Testing.“SMOKE TESTING is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work.”
Also, learn about Software Testing Artifacts, Defects and Software Testing Metrics.“A TEST PLAN is a document describing software testing scope and activities.”
Finally, learn about Software Testing Career and enjoy our collection of Software Testing Resources like Quotes, Jobs, Exercises, Magazines, Blogs and Certifications, Jokes & Bug Bounty.“Why do we never have time to do it right, but always have time to do it over?” – Anonymous

Who Are You?

Your focus in our website depends on the role you currently (or are planning to) assume and below are our recommendations.

Software Tester / QA Analyst / QA EngineerEVERYTHING HERE
Software Test Manager / QA ManagerEVERYTHING HERE (Specially Test Plan, Cost of Quality)
Software Developer / Development ManagerUnit Testing, Defects, Myths (Well, it does not hurt to know other stuff too. So, feel free to explore.)
Project Manager / Product OwnerEVERYTHING HERE (At least the definitions)
ClientSoftware Quality Dimensions, Acceptance Testing, Functional Testing vs Non-Functional Testing

However, we’ve specially built this site considering the needs of software testers in particular: Professionals, Amateurs, Novices and Wannabes. And, if you’re one of them, you’re already on the right path to conquering the software testing world. Good luck, warrior!

(Icons used in the featured image were made by, Raj Dev & Muhammad Haq from

Ready to begin the journey?
Learn about SOFTWARE TESTING BASICS and start building a SOLID FOUNDATION.