Il test unitario consiste in un codice eseguibile che esercita una determinata funzionalità e quindi asserisce alcune condizioni. I risultati sono Pass o Fail.
- L'obiettivo è sempre quello di superare tutti i test.
La profilazione delle prestazioni del software di solito richiede l'aiuto di alcuni strumenti di test / profilazione automatizzati, ma i risultati sembrano richiedere sempre un'interpretazione umana, perché:
- Non ci sono obiettivi chiari pass / fail.
- Ci sono molte sfaccettature (dimensioni) nelle prestazioni del software, e bisogna considerare il profilo generale delle prestazioni (l'immagine completa, nessun gioco di parole) per interpretare il risultato e prendere una decisione.
- Ci sono molte insidie nel software di profilazione, come i risultati distorti dal sovraccarico del profilo, le interazioni non intenzionali tra i moduli o il sistema operativo, i casi di test non rappresentativi delle esigenze dei clienti.
Ora che i test unitari sono stati annunciati come un importante passo avanti nella promozione della credibilità dell'ingegneria del software, è possibile trovare il prossimo proiettile d'argento per i problemi di prestazioni del software?
Precisione su "automatizzato":
- Ciò che intendo è che i test unitari scritti molto tempo fa (e aggiornati man mano che il software viene sviluppato) rimarranno utili a tempo indeterminato. Durante la parte migliore della vita di produzione del software, non c'è bisogno di modificare i test delle unità se non ci sono grandi cambiamenti di funzionalità.
- D'altra parte, i test delle prestazioni sembrano richiedere aggiustamenti e rieseguire continuamente, anche in fase di produzione.
Related: