Esiste un buon strumento per generare casi di test unitari, in base a un progetto .NET o Java, genera casi di test unitari che coprono una copertura del codice quasi del 100%. Il numero di casi di test potrebbe essere direttamente proporzionale alla complessità ciclomatica del codice (maggiore è la nidificazione di cicli e condizioni maggiore è la complessità ciclomatica) dove maggiore è la complessità ciclomatica, maggiore è la serie di casi di test generati. Non mi aspetto che funzioni completamente (ad esempio, ho intenzione di compilare i test unitari ed eseguirlo dopo che è stato generato), ma direi che può avere uno stile modello nel caso di test in cui devi modificare il caso che si adatta alle tue esigenze. Ma dovrebbe anche avere un metodo di installazione e smontaggio corretto ed è abbastanza buono da rilevare se devono essere usati oggetti fittizi per il test di unità nel caso in cui ci siano delle dipendenze. Quindi, esiste un tale strumento?Generazione automatica di casi di test di unità per .NET e Java
risposta
Per .NET, Microsoft ha Pex che si spera diventerà mainstream per .NET 4.0, insieme a Code Contracts. Consiglio vivamente di guardare il video di Channel 9.
Mi sembra che questo genere di cose è molto buona per le classi molto data-driven - parser ecc, non riesco a vedere che mi piacerebbe molto spesso Comincerò con esso, ma uno strumento utile per avere in la tua armeria comunque.
Per C# (o .NET in generale), PEX potrebbe essere quello strumento. Funziona a livello IL e tenta di aprirsi la strada in ogni ramo. Ha scoperto con successo una vasta gamma di bug (nel BCL ecc.).
Anche se sembra contropartito, potresti anche essere interessato a quadri di generazione di test casuali. La ricerca ha dimostrato che può essere altrettanto efficace nel trovare bug rispetto agli approcci sistematici basati sulla copertura, come suggerito.
Verificare Randoop entrambi per .NET e Java. Funziona generando una sequenza più o meno casuale di chiamate di metodo e controlla i contratti, arresti anomali, ecc. È completamente automatico.
Inoltre, è possibile controllare alcuni altri strumenti di test casuali basati su QuickCheck, ad es. per Java, Scala, F #. che sono più simili a Pex, cioè si fornisce una specifica o un test unità parametrizzato e lo strumento lo controlla per un numero di argomenti di input generati.
Ho trovato che questo modo "parametrizzato" di scrivere test di unità è in realtà molto più naturale in almeno il 60% dei casi e trova molti più bug.
La pagina web del progetto Randoop si è spostata su http://mernst.github.io/randoop/. – mernst
Per Java, provare JUnit-Tools. Possiede un plug-in di eclissi e una buona documentazione.
- 1. Test unità di base e test unità
- 2. Casi di test delle unità di debugging in VS 2008
- 3. Generazione automatica di classi di simulazione per gmock
- 4. Singleton e unità di test
- 5. Esecuzione automatica di test di unità su build
- 6. Test unità Java, layout di directory
- 7. Test unità XML: XmlUnit alternative per .NET?
- 8. framework di test unità per C
- 9. Test di integrazione e unità
- 10. Test di unità per script di shell
- 11. Test unità separati e test di integrazione
- 12. Registrazione test di selenio per casi di test funzionali Plone
- 13. Test di unità - database e dispositivi
- 14. test unità System.Threading.Timer in .NET
- 15. limite Multidex colpire durante l'esecuzione di casi di test di unità
- 16. Generazione di alberi di analisi del codice java e valutazione per test
- 17. Generazione automatica di file di origine e doc in Netbeans
- 18. Generazione automatica di UIButton e associazione di quelli con IBAction
- 19. di Python unittest e dinamica creazione di casi di test
- 20. Test unità Java per diversi dati di input
- 21. Come scrivere casi di test?
- 22. Generazione automatica di un'AppSettings fortemente tipizzato classe
- 23. installatori di test unità
- 24. Unità regole di test
- 25. (unità) Test di ArrayAdapter
- 26. Quadro di prova di Google - Dipendenza tra casi di test
- 27. Java - Generatori di test JUnit
- 28. Esecuzione condizionale di casi di test moka
- 29. Generazione automatica di sovraccarico const per funzione membro
- 30. Test unità e codice sorgente per le classi Java
Accidenti, 12 secondi! –
Cosa posso dire, Marc? O ce l'hai o non hai ...;) –
"Iniziare" con esso: i test Pex sono più come le specifiche eseguibili. Pensare agli input di esempio è davvero un lavoro noioso che viene gestito meglio dal software ... conosce tutti i casi d'angolo che il deviloper sta tentando di ignorare;) –