Dove e come posso imparare le tecniche di test del software?
-
21-09-2019 - |
Domanda
Voglio imparare a costruire il software “robusto” che è stato progettato per testare se stesso. In altre parole, come faccio a implementare i test automatizzati nel mio software (utilizzando Java o Groovy o C ++).
Quindi voglio sapere dove imparare questo (libri o siti web) e quali strumenti e librerie che avranno bisogno di questo?
Soluzione
- Generale TDD per principianti: Kent Beck: Test Driven Development by Example
- Generale Unit Testing Riferimento: Gerard Meszaros: Patterns xUnit prova: Refactoring Codice di prova
- TDD per progetti greenfield: Steve Freeman, Nat Pryce: Software Object-Oriented crescita, guidata da test
- TDD per i progetti brownfield: Piume Micheal: lavorando in modo efficace con il codice legacy
- Q & A per i problemi di prova: http://www.stackoverflow.com
- elenco Software (scorrere verso il basso)
Altri suggerimenti
Oltre al già citato sviluppo test-driven (TDD) tecnica, si potrebbe dare un'occhiata a design by contratto, un'altra tecnica in cui, sostanzialmente, uno aggiungere asserzioni nel codice di produzione per convalidare a runtime che le clausole contrattuali (ingressi, uscite e invarianti) tra i componenti siano rispettati. Queste affermazioni possono essere rimossi, o tenuti, quando il software viene consegnato.
mi piacerebbe per aumentare la mia risposta per chiarire che TDD non porta a "un software che è stato progettato per testare se stesso", ma alcuni software, - la suite di test di unità, cresciuto insieme al codice di produzione, che mette alla prova un'altra pezzo di software.
Un buon punto di partenza è http://www.codeproject.com/KB/ cs / autp1.aspx
JUnit, il cablaggio di test automatizzati per Java, è lo strumento che in realtà ha dato il via le cose. Il sito JUnit è un ottimo punto di partenza. Si completa il quadro un sacco di articoli e link a strumenti di test.
Non so circa la parte "mettere alla prova se stesso", ma il mio primo pensiero sarebbe quello di leggere su di test driven development ( http://en.wikipedia.org/wiki/Test-driven_development ) e controllare JUnit.
Guarda i framework di test xUnit ( CppUnit C ++, JUnit per Java) e controllare il meraviglioso libro noreferrer Patterns xUnit di prova:. Refactoring Codice di prova
E se si vuole veramente entrare in esso, controlla test-driven sviluppo . Una buona introduzione è Le tre leggi di TDD e la gioco di bowling kata (vedi anche gioco di bowling episodio ). Un grande libro su questo argomento è Test Driven Development: By Example
The Art of Unit Testing di Roy Osherove per essere molto utile per comprendere le basi di unit test, test Integeration, TDD e così via. È un po 'su misura per le lingue Net, ma fornisce anche informazioni molto buona su questa idea, test automatizzati.