Uno studio empirico e una replica rivelano che gli sviluppatori spesso percepiscono erroneamente l'efficacia delle tecniche di testing e revisione del codice. Questi errori di valutazione—spessoUno studio empirico e una replica rivelano che gli sviluppatori spesso percepiscono erroneamente l'efficacia delle tecniche di testing e revisione del codice. Questi errori di valutazione—spesso

Perché gli Sviluppatori Continuano a Scegliere le Tecniche di Testing Sbagliate

2025/12/15 05:09

:::info Autori:

  1. Sira Vegas
  2. Patricia Riofr´ıo
  3. Esperanza Marcos
  4. Natalia Juristo

:::

Abstract

1 Introduzione

2 Studio Originale: Domande di Ricerca e Metodologia

3 Studio Originale: Minacce alla Validità

4 Studio Originale: Risultati

5 Studio Replicato: Domande di Ricerca e Metodologia

6 Studio Replicato: Minacce alla Validità

7 Studio Replicato: Risultati

8 Discussione

9 Lavori Correlati

10 Conclusioni e Riferimenti

Abstract

Un problema ricorrente nello sviluppo software è il processo decisionale errato sulle tecniche, i metodi e gli strumenti da utilizzare. Per lo più, queste decisioni si basano sulle percezioni degli sviluppatori riguardo ad essi. Un fattore che influenza le percezioni delle persone è l'esperienza passata, ma non è l'unico. In questa ricerca, miriamo a scoprire quanto bene le percezioni dell'efficacia di rilevamento dei difetti di diverse tecniche corrispondano alla loro reale efficacia in assenza di esperienza precedente.

\ Per fare ciò, conduciamo uno studio empirico più una replica. Durante lo studio originale, conduciamo un esperimento controllato con studenti che applicano due tecniche di testing e una tecnica di revisione del codice. Alla fine dell'esperimento, compilano un sondaggio per scoprire quale tecnica percepiscono come più efficace. I risultati mostrano che le percezioni dei partecipanti sono errate e che questa discrepanza è costosa in termini di qualità.

\ Per ottenere ulteriori informazioni sui risultati, replichiamo l'esperimento controllato ed estendiamo il sondaggio per includere domande sulle opinioni dei partecipanti riguardo le tecniche e i programmi. I risultati dello studio replicato confermano i risultati dello studio originale e suggeriscono che le percezioni dei partecipanti potrebbero essere basate non sulle loro opinioni sulla complessità o preferenze per le tecniche, ma su quanto bene pensano di aver applicato le tecniche.

1. Introduzione

Una pratica sempre più popolare al giorno d'oggi è che le aziende di sviluppo software permettano agli sviluppatori di scegliere il proprio ambiente tecnologico. Ciò significa che diversi sviluppatori possono utilizzare diversi strumenti di produttività (linguaggio di programmazione, IDE, ecc.). Tuttavia, l'ingegneria del software (SE) è una disciplina ad alta intensità umana dove decisioni sbagliate possono potenzialmente compromettere la qualità del software risultante. Nella SE, le decisioni su quali metodi, tecniche e strumenti utilizzare nello sviluppo software sono tipicamente basate sulle percezioni e/o opinioni degli sviluppatori piuttosto che su evidenze, come suggerito da Dyb˚a et al. [19] e Zelkowitz et al. [55].

\ Tuttavia, le evidenze empiriche potrebbero non essere disponibili, poiché certi metodi, tecniche o strumenti potrebbero non essere stati studiati in un particolare contesto o addirittura non essere stati studiati affatto. In alternativa, gli sviluppatori potrebbero semplicemente non essere a conoscenza di tali studi, secondo Vegas & Basili [49]. Su questa base, è importante scoprire quanto bene le percezioni degli sviluppatori (convinzioni) corrispondano alla realtà e, se non lo fanno, scoprire cosa c'è dietro questa discrepanza, come notato da Devanbu et al.[14]. Secondo la Psicologia, l'esperienza gioca un ruolo nelle percezioni delle persone. Questo è stato osservato anche da Devanbu et al. [14] nella SE.

\ Tuttavia, questa ricerca si propone di scoprire quanto bene le percezioni corrispondano alla realtà in assenza di esperienza precedente nella tecnologia utilizzata. Questo ha senso per diverse ragioni: 1) l'esperienza non è l'unico fattore che influenza le percezioni degli sviluppatori; 2) i team di sviluppo sono solitamente composti da un mix di persone con e senza esperienza; e 3) non è chiaro quale tipo di esperienza influenzi le percezioni. Ad esempio, Dieste et al. [17] concludono che l'esperienza accademica piuttosto che quella professionale potrebbe influenzare la qualità esterna del codice generato dagli sviluppatori quando applicano il Test-Driven Development.

\ Miriamo a studiare se le percezioni sull'efficacia di tre tecniche di rilevamento dei difetti corrispondano alla realtà e, in caso contrario, cosa ci sia dietro queste percezioni. Per quanto ne sappiamo, questo è il primo articolo a valutare empiricamente questo problema. A tal fine, abbiamo condotto uno studio empirico più una replica con studenti. Durante lo studio originale abbiamo misurato (come parte di un esperimento controllato) l'efficacia di due tecniche di testing e una tecnica di revisione del codice quando applicate dai partecipanti. Abbiamo poi confrontato la tecnica percepita come più efficace (raccolta tramite un sondaggio) con quella reale.

\ Inoltre, abbiamo analizzato il costo della discrepanza tra percezioni e realtà in termini di perdita di efficacia. I principali risultati includono:

– Persone diverse percepiscono tecniche diverse come più efficaci. Nessuna tecnica è percepita come più efficace delle altre. – Le percezioni del 50% dei partecipanti (11 su 23) sono errate.

– La percezione errata delle tecniche può ridurre l'efficacia di 31pp (punti percentuali) in media.

\ Questi risultati ci hanno portato ad estendere l'obiettivo dello studio in una replica per indagare cosa potrebbe esserci dietro le percezioni dei partecipanti. Per fare ciò, abbiamo esaminato le loro opinioni sulle tecniche che hanno applicato e sui programmi che hanno testato in una replica dell'esperimento controllato. I principali risultati includono:

– I risultati della replica confermano i risultati dello studio originale.

– I partecipanti pensano che l'efficacia della tecnica dipenda esclusivamente dalla loro prestazione e non da possibili debolezze della tecnica stessa. – Le opinioni sulla complessità della tecnica e le preferenze per le tecniche non sembrano giocare un ruolo nell'efficacia percepita. Questi risultati sono utili per gli sviluppatori e i ricercatori. Suggeriscono:

– Gli sviluppatori dovrebbero diventare consapevoli dei limiti del loro giudizio.

– Dovrebbero essere progettati strumenti che forniscano feedback agli sviluppatori su quanto siano efficaci le tecniche.

– Dovrebbe essere determinata la migliore combinazione di tecniche da applicare che sia allo stesso tempo facilmente applicabile ed efficace. – Dovrebbero essere sviluppati strumenti per rendere disponibili i risultati empirici agli sviluppatori.

\ Il materiale associato agli studi presentati qui può essere trovato su https://github.com/GRISE-UPM/Misperceptions. L'articolo è organizzato come segue. La Sezione 2 descrive lo studio originale. La Sezione 3 presenta le sue minacce alla validità. La Sezione 4 discute i risultati. La Sezione 5 descrive lo studio replicato basato sulle modifiche apportate allo studio originale. La Sezione 6 presenta le sue minacce alla validità. La Sezione 7 riporta i risultati di questo studio replicato. La Sezione 8 discute i nostri risultati e le loro implicazioni. La Sezione 9 mostra i lavori correlati. Infine, la Sezione 10 delinea le conclusioni di questo lavoro.

\ \

:::info Questo articolo è disponibile su arxiv sotto licenza CC BY-NC-ND 4.0.

:::

\

Opportunità di mercato
Logo WHY
Valore WHY (WHY)
$0.00000001727
$0.00000001727$0.00000001727
-0.46%
USD
Grafico dei prezzi in tempo reale di WHY (WHY)
Disclaimer: gli articoli ripubblicati su questo sito provengono da piattaforme pubbliche e sono forniti esclusivamente a scopo informativo. Non riflettono necessariamente le opinioni di MEXC. Tutti i diritti rimangono agli autori originali. Se ritieni che un contenuto violi i diritti di terze parti, contatta service@support.mexc.com per la rimozione. MEXC non fornisce alcuna garanzia in merito all'accuratezza, completezza o tempestività del contenuto e non è responsabile per eventuali azioni intraprese sulla base delle informazioni fornite. Il contenuto non costituisce consulenza finanziaria, legale o professionale di altro tipo, né deve essere considerato una raccomandazione o un'approvazione da parte di MEXC.