Ho il compito di ottenere un'applicazione legacy sotto test unitario. Prima un po 'di storia sull'applicazione: è un codice base RCP Java Java a 600k con questi problemi principali
- massiccia duplicazione del codice
- nessun incapsulamento, la maggior parte dei dati privati è accessibile dall'esterno, alcuni dati aziendali sono anche resi singletons quindi non è solo modificabile dall'esterno ma anche da qualsiasi luogo.
- nessuna astrazione (ad esempio nessun modello di business, i dati aziendali sono archiviati in Object [] e double [] []), quindi nessun OO.
Esiste una buona suite di test di regressione e un efficiente team di QA sta testando e scoprendo bug. Conosco le tecniche su come ottenerlo testato dai libri classici, ad es. Michael Feathers, ma è troppo lento. Poiché esiste un sistema di test di regressione funzionante, non ho paura di ridefinire in modo aggressivo il sistema per consentire la scrittura dei test unitari.
Come dovrei iniziare ad attaccare il problema per ottenere rapidamente una copertura , quindi sono in grado di mostrare i progressi nella gestione (e in effetti iniziare a guadagnare dalla rete di sicurezza dei test JUnit)? Non voglio utilizzare strumenti per generare suite di test di regressione, ad es. AgitarOne, perché questi test non verificano se qualcosa è corretto.