Je suis chargé d'obtenir une application héritée sous test unitaire. Tout d'abord quelques informations sur l'application: il s'agit d'une base de code Java RCP 600k LOC avec ces problèmes majeurs
- duplication massive de code
- pas d'encapsulation, la plupart des données privées sont accessibles de l'extérieur, certaines des données commerciales ont également fait des singletons donc elles ne sont pas seulement modifiables de l'extérieur mais aussi de partout.
- pas d'abstractions (par exemple pas de modèle commercial, les données commerciales sont stockées dans Object [] et double [] []), donc pas d'OO.
Il existe une bonne suite de tests de régression et une équipe d'AQ efficace teste et trouve des bogues. Je connais les techniques pour le tester dans des livres classiques, par exemple Michael Feathers, mais c'est trop lent. Comme il existe un système de test de régression fonctionnel, je n'ai pas peur de refactoriser agressivement le système pour permettre l'écriture de tests unitaires.
Comment dois-je commencer à attaquer le problème pour obtenir rapidement une couverture , donc je peux montrer les progrès à la direction (et en fait commencer à gagner du filet de sécurité des tests JUnit)? Je ne veux pas utiliser d'outils pour générer des suites de tests de régression, par exemple AgitarOne, car ces tests ne testent pas si quelque chose est correct.