The person updating the test better have a firm understanding of the reasoning behind the code change and decide if the test or the new code needs to be fixed. This much inconsistency in a team when it comes to testing is probably an indication of other problems as well.
Penso che sia il contrario. Quando il test è buono, il suo fallimento dovrebbe guidare nel decidere se (e perché, e, idealmente, in che modo) modificare il codice o il test.
In questo senso, la responsabilità non inizia con la persona che aggiorna il test ma con persona che crea il test .
Colui che crea il test dovrebbe avere una migliore comprensione del ragionamento alla base del codice . Se questo non è il caso, il test è di scarso valore e bisognerebbe smettere di preoccuparsi di cambiarlo, o addirittura rimuoverlo se effettivamente si trova in una modalità di sviluppo.
Se il test produce nient'altro che lancinanti incomprensibili a ragionevoli cambiamenti di codice, questo è un problema nel test - questo è ciò che deve essere corretto.
There is a certain amount of risk involved that someone else on the team will alter code that is covered by testing. Is this the point where testing becomes counter-productive?
Meno produttivo - forse. Counter produttivo - difficilmente.
L'intervallo di tempo tra le modifiche al codice e l'esecuzione del test può sembrare innaturale per qualcuno utilizzato per maturare forme di test dell'unità e potrebbe effettivamente incorrere in perdite di efficacia, ma in altre forme di test (funzionale, integrazione, controllo qualità) è una cosa abbastanza comune e non è considerato un motivo per abbandonare i test.
Affrontare l'esecuzione del test è in ritardo, probabilmente è necessario uscire dagli schemi degli approcci "classici" di test unitario e osservare come i nostri colleghi tester fanno il loro lavoro.
Ora, immagina che qualcuno qualche tempo fa abbia cambiato codice e qualche tempo dopo esegui il test e fallisce. Pensa a come il tester potrebbe gestirlo ...
- Errore nel test di studio
- Se il test ti aiuta a trovare un bug nel codice, ottimo - apri il ticket in tracker dei problemi per risolverlo.
Nota, in seguito puoi utilizzare questi ticket per giustificare i vantaggi dell'esecuzione dei test nei tempi di costruzione, ovvero se i test sono davvero utili.
- Se il test non aiuta, modificalo per far corrispondere le modifiche al codice (hai paura di questo? Se sì, che può effettivamente diventare controproducente).
- Se ritieni che ci sia un problema nel test ... indovina cosa? apri il ticket in issue tracker per farlo correggere.
Nota, in seguito puoi usare questi dati per spiegare perché i bug di regressione scivolano e giustificano la necessità di investire gli sforzi nei test.
Qui è dove potresti riscontrare una perdita di produttività, perché agisci come tester con lo strumento che è destinato a essere utilizzato dallo sviluppatore. Questo non va bene, ma non proprio la fine del mondo, non credi.