Test convenzionali vs test orientati agli oggetti
Il test del software è uno dei passaggi più importanti nel processo di sviluppo del software. Il test del software garantisce che il software sviluppato soddisfi tutti i requisiti del cliente e venga eseguito senza errori. Poiché i paradigmi e le tecniche di sviluppo del software sono passati dallo sviluppo iniziale del software a cascata a OOD / Agile e altri concetti più recenti, anche i test si sono spostati dai test convenzionali (tradizionali) verso i test orientati agli oggetti (OOT). Ma poiché lo sviluppo a cascata è ancora in uso, i tester utilizzano ancora i test convenzionali.
Cos'è il test convenzionale?
Il processo di test convenzionale si svolge principalmente quando il ciclo di vita a cascata viene utilizzato per lo sviluppo di software nelle organizzazioni. Il testing convenzionale avviene sempre durante la fase di test del ciclo di vita, che solitamente segue la fase di sviluppo e procede alla fase di implementazione. Durante questa fase di test, verranno condotti principalmente tre tipi di test. I test del sistema assicureranno che le caratteristiche del sistema soddisfino i requisiti del cliente documentati nella SRS (Software Requirements Specification), adottando solitamente un approccio black box. Il test di integrazione verifica il progetto preliminare adottando un approccio funzionale e di scomposizione. Il test di integrazione si basa sulla struttura del progetto utilizzando un approccio dall'alto verso il basso o dal basso verso l'alto. Infine, i test unitari assicurano che il progetto dettagliato sia corretto.
Che cos'è il test orientato agli oggetti?
L'utilizzo dell'analisi e della progettazione orientata agli oggetti (OO) insieme ad Agile e ad altre metodologie di sviluppo software recenti portano al test orientato agli oggetti. Lo sviluppo OO è solitamente incentrato sul comportamento. Il test viene eseguito ponendo l'accento sulla composizione. Ciò significa che il design viene creato pezzo per pezzo e composto insieme per completare il sistema completo. Poiché la prototipazione rapida e una qualche forma di approccio incrementale sono oggi utilizzate per lo sviluppo OO, i tre livelli di test convenzionali (sistema, integrazione e test di unità) non sono chiaramente visibili nella progettazione OO (ma esistono la maggior parte delle volte). Il test del sistema (in fase di test OO) avrà lo stesso approccio (scatola nera) del test convenzionale e verificherà la specifica dei requisiti (poiché i requisiti devono essere verificati indipendentemente dal processo di sviluppo). Il test unitario in test orientato agli oggetti è simile al test unitario convenzionale, ma la differenza fondamentale è la definizione dell'unità utilizzata. Le unità attualmente accettate utilizzate per gli unit test sono classi e metodi.
Qual è la differenza tra test convenzionali e test orientati agli oggetti?
Il test convenzionale è l'approccio tradizionale al test per lo più eseguito quando il ciclo di vita della caduta dell'acqua viene utilizzato per lo sviluppo, mentre il test orientato agli oggetti viene utilizzato quando l'analisi e la progettazione orientata agli oggetti vengono utilizzati per lo sviluppo di software aziendale. Il test convenzionale si concentra maggiormente sulla decomposizione e sugli approcci funzionali rispetto al test orientato agli oggetti, che utilizza la composizione. I tre livelli di test (sistema, integrazione, unità) utilizzati nei test convenzionali non sono chiaramente definiti quando si tratta di test orientati agli oggetti. La ragione principale di ciò è che lo sviluppo OO utilizza un approccio incrementale, mentre lo sviluppo tradizionale segue un approccio sequenziale. In termini di unit test, il test orientato agli oggetti considera unità molto più piccole rispetto al test convenzionale.