Ho il compito di ottenere un'applicazione legacy in unit test. Innanzitutto alcune informazioni sull'applicazione: si tratta di una base di codice RCP Java 600k LOC con questi problemi importanti
- enorme duplicazione del codice
- nessun incapsulamento, la maggior parte dei dati privati è accessibile dall'esterno, alcuni dei dati aziendali hanno anche reso singolari quindi non sono solo modificabili dall'esterno ma anche da qualsiasi luogo.
- nessuna astrazione (ad es. nessun modello di business, i dati di business sono memorizzati in Object [] e double [] []), quindi nessuna OO.
Esiste una buona suite di test di regressione e un efficiente team di controllo qualità sta testando e trovando bug. Conosco le tecniche su come metterlo alla prova dai libri classici, ad esempio Michael Feathers, ma è troppo lento. Poiché esiste un sistema di test di regressione funzionante, non ho paura di riformattare in modo aggressivo il sistema per consentire la scrittura di test unitari.
Come dovrei iniziare ad attaccare il problema per ottenere rapidamente un po 'di copertura , quindi sono in grado di mostrare progressi alla gestione (e di fatto iniziare a guadagnare dalla rete di sicurezza dei test JUnit)? Non voglio utilizzare strumenti per generare suite di test di regressione, ad esempio AgitarOne, perché questi test non verificano se qualcosa è corretto.