Stavo pensando allo sviluppo del software e alla scrittura di unit test. Ho avuto la seguente idea:
Supponiamo di avere coppie di sviluppatori. Ogni coppia è responsabile di una parte del codice. Uno della coppia implementa una funzione (scrittura del codice) e il secondo scrive un'unità di test per essa. I test sono scritti dopo il codice. Nella mia idea si aiutano a vicenda, ma funzionano piuttosto separatamente. Idealmente dovrebbero lavorare su due funzioni di dimensioni simili e poi scambiarsi per la preparazione del test.
Penso che questa idea abbia alcuni aspetti positivi:
- i test sono scritti da qualcuno che può vedere di più sull'implementazione,
- il lavoro dovrebbe essere reso un po 'più veloce della programmazione in coppia (due funzioni contemporaneamente),
- sia i test che il codice ne hanno una persona responsabile,
- il codice è testato da almeno due persone e
- forse la ricerca di errori nel codice scritto da una persona che sta testando il tuo codice darebbe una motivazione speciale per scrivere codice migliore ed evitare di tagliare gli angoli.
Forse è anche una buona idea aggiungere un altro sviluppatore per la revisione del codice tra lo sviluppo del codice e dei test.
Quali sono gli svantaggi di questa idea? È già descritto come una metodologia sconosciuta a me e utilizzata nello sviluppo del software?
PS. Non sono un project manager professionista, ma so qualcosa sui processi di sviluppo del progetto e conosco le poche metodologie più popolari, ma questa idea non mi sembra familiare.
assert true
come test e chiamarlo un giorno perché ogni test stava superando. Mancava un passaggio importante: i test dovrebbero prima fallire e dovrebbero essere fatti passare cambiando il codice, non i test.