Skip to main content

ISTQB - Fundamentals of Testing

  • ISTQB Fundamentals of Testing is the core knowledge that helps you understand the basics of software testing. It covers why testing is important, how it's done, and the key principles behind it.

Why Testing is Needed

  • Testing helps find defects or bugs in software before it’s used by real users. Since mistakes can happen during software development, testing ensures that the software works as expected and meets the user’s needs.

What Testing Does

  • The goal of testing is to identify issues and verify that the software does what it’s supposed to do. It helps improve software quality by finding problems early, which can save time and money later.

Seven Testing Principles

Testing Shows the Presence of Defects

  • Testing can show that there are bugs in the software, but it can never prove that the software is completely bug-free. Even if testing finds no issues, that doesn’t guarantee the software is perfect, it just means no problems were found in the specific tests.

Exhaustive Testing is Impossible

  • It’s impossible to test every single scenario or input combination in software. Instead of trying to test everything, testers focus on the most important parts of the software that are likely to have defects or cause problems for users.

Early Testing

  • The earlier you start testing in the development process, the better. Finding and fixing bugs early is cheaper and easier than fixing them later. Testing should begin as soon as development starts, not just at the end.

Defect Clustering

  • Most of the defects are usually found in a small part of the software. This means certain parts of the software are more prone to issues than others, and testers often find that the majority of bugs are concentrated in these areas.

Pesticide Paradox

  • If you keep running the same tests over and over, eventually those tests won’t find new defects. Just like bugs can become resistant to pesticide, software might stop revealing new bugs if the same tests are used repeatedly. To keep finding new defects, testers need to regularly update and change their tests.

Testing is Context-Dependent

  • Testing varies depending on the context of the software. For example, testing a mobile app is different from testing a financial system because each has different requirements, risks, and priorities. The type of testing you do depends on the kind of software being tested.

Absence-of-Errors Fallacy

  • Just because a piece of software is bug-free doesn’t mean it’s good software. If the software doesn’t meet user needs or fulfill its purpose, it can still fail, even if no bugs are found. Testing should focus not only on finding errors but also on ensuring the software is useful and solves the right problems.

Module Review

Click to start the definition to term matching quiz
Drag the defintion to the correct term.
Test type item not available at this time.
Click to start the multiple choice quiz
Choose from the listed options below.
Test type item not available at this time.