Penso che dovresti scrivere il maggior numero possibile di test per l'applicazione. Ti aiuteranno a imparare il codice base e ti prepareranno per l'eventuale refactoring o nuovo sviluppo.
Ci sono alcuni tipi di test che puoi scrivere in quello scenario, ognuno di loro ha i suoi meriti. Scrivere questi test ti insegnerà moltissimo sull'applicazione con cui hai a che fare.
Prima di tutto, prima di iniziare a scrivere i test per la correttezza, scrivi test che catturano il comportamento corrente , giusto o sbagliato. È una scommessa abbastanza sicura che scoprirai bug in casi d'angolo o parti del codice che non sono stati testati accuratamente eseguendo il programma. Non preoccuparti di cosa dovrebbe fare il codice, semplicemente cattura ciò che fa. Mentre procedete, non preoccupatevi di leggere il codice o di dedicare tempo a capire quale dovrebbe essere l'output. Basta eseguire il test e acquisire quell'output in un assert.
Questo ti darà una solida base di comprensione su come funziona il codice e dove possono essere i principali punti deboli o le aree deboli. Se scopri bug, puoi rivolgerti alle persone con il potere di decidere se valgono la pena o meno e prendere quelle decisioni.
Successivamente, puoi scrivere alcuni test più grandi (in ambito) che coprono parti del codice che potrebbero non essere facilmente testabili da unità ma dove sarebbe comunque importante testare il più possibile i flussi di lavoro. Questi test del flusso di lavoro o test di integrazione , a seconda di come vuoi guardarli, ti daranno una buona base per ridefinire quei flussi di lavoro per renderli più testabili e proteggerti quando è necessario aggiungere una nuova funzionalità che potrebbe influire su un flusso di lavoro esistente.
Nel corso del tempo, creerai una serie di test che è lì per aiutare te o la prossima persona che finisce per ereditare l'applicazione.