top of page

La Minute QA

Return to homepage

The fundamentals of software testing.

Why do we test? What is a bug? What are the 7 principles of testing and the fundamental process? The solid foundations on which to build a quality approach.

In 5 minutes, understand what software testing is, the 7 ISTQB principles and the main levels of testing.

00 - Summary

1. What is testing?

2. The 7 principles of testing (ISTQB)

3. The fundamental process of software testing

4. Levels and types

5. The human aspect testing

6. Key points to remember

01 - Definitions

What is testing?

Software testing

A set of activities aimed at evaluating a product or service and determining whether it meets specified requirements. Testing detects defects, provides information on quality, and reduces the risk of production failure.

Test objectives
  • Detecting defects before production

  • Gaining trust in the quality of the software

  • Provide information for decision-making (go/no-go)

  • Preventing defects through reviews and early reflection

  • Verify compliance with regulatory requirements

Defect, error and failure

Human error introduces a defect (bug) in the code. If this defect is executed under certain conditions, it causes an observable failure. Testing aims to uncover defects before they become failures.

Quality and QA vs QC

Quality Assurance (QA) refers to all the activities that ensure processes are suitable for producing a quality product. Quality Control (QC) includes testing and verifying the final product. Testing is therefore a component of QC, which itself serves QA.

top of page

Go
02 - The 7 principles

The 7 principles of software tesitng (ISTQB).

These principles guide any testing strategy. Understanding them helps avoid common pitfalls and justify choices to teams and management.

01
Testing reveals the presence of defects

Testing proves that software contains bugs, never that it doesn't. A flawless test doesn't guarantee perfection.

02
Exhaustive testing is impossible

We cannot test all combinations. Testing focuses on risk analysis and business priorities.

03
Early testing saves money

Detecting a defect early reduces the cost of correcting it. Reviews and tests from the specification stage onward pay more than final tests.

Defects cluster together

A small number of modules hold the majority of bugs (Pareto principle). Focusing efforts on these areas is more effective.

05
The pesticide paradox

Repeating the same tests eventually leads to a lack of new defects. It is necessary to regularly review and diversify the test cases.

06
Testing depends on the context

Critical medical software is not tested like an internal application. The techniques, tools, and rigor are adapted to the context.

07
The absence of error is an illusion

The idea is that successful tests do not prove the absence of defects; they only show that, under the tested conditions, no problems were observed.

top of page

Go
03 - The process

The fundamental process of software testing.

A structured process ensures that the test is planned, documented, and repeatable. Each step produces verifiable deliverables.

Planning

Define the scope, resources, schedule, and exit criteria of the test.

Analysis

Identify the elements to be tested, the risks, the test conditions and the necessary data.

Conception

Write test cases, procedures and data sets. Prepare the environment.

Implementation

Execute test cases, log results, report and analyze anomalies.

Report & Conclusion

Evaluate the exit criteria, write the test report and archive the deliverables.

top of page

Go
Functional

They check what the system does (black box): tests based on requirements, user scenarios, business processes.

Non-functional

They check how the system does it: performance, security, ease of use, compatibility, reliability.

Structural

They check the internal structure (white box): code coverage, branches, conditions, control flow.

Regression

They verify that a modification has not introduced new defects in previously validated features.

Common types of tests

The 4 levels of testing

04 - Levels & types

Levels and types of tests.

Unit testing

Checks an isolated unit of code (function, method). Fast, repeatable, often automated by developers.

Integration testing

Checks interactions between components or systems. Detects interface and data flow problems.

System testing

Verifies the complete system in its target environment. Validates functional and non-functional requirements.

Acceptance testing

Validates that the system meets business needs. Performed by users or the client (UAT, alpha, beta).

top of page

Go
05 - Psychology

The human aspect of testing.

The tester is not the developer's adversary. Their role is to provide objective information to improve the product.

Test independence

The more independent the tester is from the development team, the more likely they are to detect defects with an external perspective. However, complete independence can disconnect the test from the business context.

Constructive communication

A well-written bug report doesn't criticize the person but describes the problem factually. A neutral tone and reproducibility help maintain collaboration between testers and developers.

Curiosity and skepticism

A good tester is curious: they ask "what if?" at every stage. They are a professional skeptic: they don't believe it works, they want to verify it.

top of page

Go
06 - Key points

In short:

  • Testing helps to reveal flaws, not to prove that a software is perfect.

  • We can't test everything; we have to prioritize according to the risks.

  • Early testing improves quality and reduces costs.

  • A good testing approach combines methodology, appropriate test types, and clear communication.

top of page

Go

Continue learning

Test levels in detail

Unit, integration, system, and acceptance. Each level has its own intention and scope.

Types of tests in detail

Functional, non-functional, structural, regression. Choosing the right test at the right time.

Process & Strategy

Test plan, risk analysis, entry and exit criteria.

Bug Management

Reproduce, isolate, document. A good bug report speeds up the fix.

bottom of page