Sobes.tech
Junior

Cos'è la tecnica di analisi delle classi di equivalenza e come viene applicata nei test del software?

sobes.tech AI

Risposta dell'AI

La tecnica di analisi delle classi di equivalenza (Partitioning di equivalenza) è un metodo di progettazione dei casi di test basato sulla suddivisione dei dati di input (o delle condizioni di uscita) in classi, i cui rappresentanti saranno elaborati dal programma in modo simile. Testare un rappresentante di ogni classe è considerato sufficiente per coprire l'intera classe.

Idea principale: Se un test su un rappresentante della classe rileva un errore, probabilmente anche un test su qualsiasi altro rappresentante di quella stessa classe rileverà un errore. Se un test su un rappresentante non rileva errori, probabilmente anche un test su qualsiasi altro rappresentante di quella stessa classe non rileverà errori.

Applicazione:

  1. Identificazione delle classi di equivalenza:
    • Si determinano le classi consentite e non consentite per ogni campo di input (intervallo numerico, insieme di stringhe, valori booleani, ecc.).
    • Per gli intervalli numerici:
      • Intervallo consentito.
      • Numeri inferiori al limite inferiore (classe non consentita).
      • Numeri superiori al limite superiore (classe non consentita).
    • Per gli insiemi di valori:
      • Valori consentiti.
      • Valori non consentiti (ad esempio, stringhe in un campo numerico).
    • Ad esempio, per il campo "Età" da 18 a 65 anni:
      • Classe consentita: 18-65 (ad esempio, 25, 40, 60)
      • Classe non consentita: < 18 (ad esempio, 17, 0)
      • Classe non consentita: > 65 (ad esempio, 66, 100)
  2. Creazione di casi di test:
    • Si seleziona un rappresentante di ogni classe identificata (consentita e non consentita).
    • Si creano casi di test con i rappresentanti selezionati come dati di input.

Esempio:

Modulo d'ordine, campo "Quantità di prodotto", valore consentito da 1 a 99.

Classe di equivalenza Tipo Rappresentanti per test
Meno di 1 Non consentito 0, -5
Da 1 a 99 Consentito 1, 50, 99
Più di 99 Non consentito 100, 1000
Valori non numerici Non consentito "abc", " "

Da ogni classe si sceglie almeno un rappresentante per creare un caso di test. Ad esempio, per questo campo ci saranno almeno 4-6 casi di test che coprono tutte le classi identificate.

Vantaggi:

  • Riduce la ridondanza dei casi di test.
  • Aiuta a sistematizzare il processo di test.
  • Garantisce una buona copertura dei test con meno casi rispetto al testare ogni possibile valore di input.

Svantaggi:

  • Potrebbe non rilevare errori sui valori limite (spesso usato in combinazione con l'analisi dei valori limite).
  • L'efficacia dipende dalla corretta identificazione delle classi di equivalenza.