Aumentare la copertura dei rischi: test case ad Alto Livello vs test case a Basso Livello

Aumentare la copertura dei rischi: test case ad Alto Livello vs test case a Basso Livello

English version below

Nel mondo del software si sente spesso dire che i test case a basso livello, con le loro istruzioni dettagliate, precise e riproducibili, sono ottimi strumenti per la mitigazione dei rischi. Ma se ti dicessi che sono invece i test case ad alto livello a individuare meglio i problemi legati al rischio? Sembra controintuitivo, ma è proprio la loro natura aperta e adattabile a renderli più efficaci nel mitigare gli imprevisti.

La Differenza tra Test Case ad Alto e Basso Livello

I test case a basso livello offrono una guida passo-passo su cosa fare, come farlo e cosa aspettarsi come risultato. Seguendo criteri precisi di pass/fail, sono perfetti per garantire una ripetibilità costante e per essere eseguiti da qualsiasi tester con risultati identici.

Al contrario, i test case ad alto livello non forniscono istruzioni dettagliate, ma piuttosto indicazioni generali su cosa testare. Spetta al tester decidere come eseguire il test, basandosi sulla propria esperienza e sul comportamento osservato del software.

Ma come influisce tutto ciò sulla riduzione del rischio?

La Flessibilità dei Test Case ad Alto Livello e la Riduzione del Rischio

La vera forza dei test case ad alto livello risiede quindi nella loro flessibilità. Ciò permette ai tester di esplorare il sistema in modo dinamico e adattivo. Questa libertà consente di affrontare situazioni impreviste e di scoprire anomalie che potrebbero sfuggire in test case più vincolati.

In sostanza, i test case ad alto livello rispondono in modo più efficace a 3 dei 7 principi del testing:

  1. Il Testing mostra la presenza di difetti, non la loro assenza: Questo principio sottolinea che il testing è in grado di dimostrare solo l'esistenza degli errori che vengono cercati.
  2. Il paradosso del pesticida: eseguire continuamente gli stessi test non porterà a scoprire nuovi difetti.
  3. L'illusione dell'assenza di errori: Anche se un software supera tutti i test senza mostrare errori, non è garantito che soddisfi completamente i requisiti degli utenti o che funzioni come previsto in tutte le situazioni reali.

English version

How to Increase Risk Coverage: High-Level Test Cases vs Low-Level Test Cases


In the software world, it is often said that low-level test cases, with their detailed, precise and reproducible instructions, are great tools for risk mitigation. But what if I told you that high-level test cases are better at identifying risk-related issues? It seems counterintuitive, but it is precisely their open and adaptable nature that makes them more effective at mitigating the unexpected.

The Difference Between High-Level and Low-Level Test Cases

Low-level test cases provide a step-by-step guide on what to do, how to do it and what to expect as a result. Following precise pass/fail criteria, they are perfect for ensuring constant repeatability and for being executed by any tester with identical results.

In contrast, high-level test cases do not provide detailed instructions, but rather general indications of what to test. It is up to the tester to decide how to execute the test,** based on their experience and the observed behavior of the software**.

But how does all this affect risk reduction?

High-Level Test Case Flexibility and Risk Reduction

The real strength of high-level test cases is their flexibility. This allows testers to explore the system dynamically and adaptively. This freedom allows them to deal with unexpected situations and discover anomalies that might otherwise be missed in more constrained test cases.

In essence, high-level test cases respond more effectively to 3 of the 7 principles of testing:

  1. Testing shows the presence of defects, not their absence: This principle emphasizes that testing can only demonstrate the existence of the errors that are being looked for.
  2. ** The pesticide paradox:** Repeatedly running the same tests will not lead to the discovery of new defects.
  3. The illusion of absence of errors: Even if a software passes all tests without showing errors, it is not guaranteed that it will completely meet user requirements or that it will work as expected in all real-world situations.

Related Posts

Dynatrace Innovate: Observability & Application Security, Mandatory for Business Resilience

Dynatrace Innovate: Observability & Application Security, Mandatory for Business Resilience

Maggiore produttività, Software Sicuro e performante, l'observability estesa offerta da Dynatrace

Cosa vuol dire davvero testare?

Cosa vuol dire davvero testare?

L’obiettivo principale del testing non è dato dalla tecnica usata o dal livello in cui si opera, ma dalla qualità che si vuole verificare. Le tecniche di test sono strumenti per raggiungere questo sco

 Grazie CrowdStrike per averci ricordato a che cosa serve il Testing

Grazie CrowdStrike per averci ricordato a che cosa serve il Testing

Il caso di CrowdStrike dimostra quanto sia essenziale investire in attività di QA e testing. Questi processi non solo migliorano l'affidabilità e la sicurezza del software, ma proteggono anche le azie

ll Potere del Test Basato sull'Esperienza

ll Potere del Test Basato sull'Esperienza

Ti sei mai chiesto in che modo i tester riescano a individuare un numero elevato di bug in un tempo limitato? La risposta risiede nelle tecniche di test basate sull'esperienza

Case study: Automated tests for a certified webmail client

Case study: Automated tests for a certified webmail client

Questa intervista/case study si concentra sulle attività di testing svolte per una soluzione di posta elettronica certificata, con particolare attenzione alla versione client.

L'informatica, specchio della scienza anarchica di Feyerabend e di Lakatos: prima parte

L'informatica, specchio della scienza anarchica di Feyerabend e di Lakatos: prima parte

L'essere come fondamento dell'informatica

Come stiamo utilizzando l'AI nel processo di Testing

Come stiamo utilizzando l'AI nel processo di Testing

L'intelligenza artificiale sta rivoluzionando molteplici settori e il testing del software non fa eccezione. In questo articolo vogliamo quindi condividere alcuni esempi concreti di come stiamo utiliz

Tra promesse e realtà nell’Intelligenza artificiale

Tra promesse e realtà nell’Intelligenza artificiale

Abbiamo esaminato da vicino alcuni strumenti commercializzati come ‘AI powered’ al fine di valutarne le potenzialità… tuttavia siamo finiti con il mettere in discussione l’utilità di molti di essi