Domanda

Abbiamo un'app WPF che vorremmo eseguire test automatici del fumo su di essa. Test semplici come caricamento di documenti, salvataggio di documenti, ecc. Mi chiedevo se qualcuno potesse suggerire lavori di frame esistenti o applicazioni che potrebbero essere utili.

Grazie!

È stato utile?

Soluzione

Per i framework di test sia NUnit che MSTest sono buoni. MSTest ha il vantaggio di integrarsi molto con Visual Studio, in modo da rendere le cose un po 'più semplici. (Ci sono addin nunit disponibili per vs, ma sono completamente integrati come mstest).

In termini di come scrivi il test, se hai scritto la tua app in base alla MVVM è abbastanza semplice fare in modo che i tuoi test creino ed eseguano la tua app utilizzando i modelli di visualizzazione e i comandi senza effettivamente creare una vista.

Anche se non hai usato MVVM, spero che tu abbia ancora estratto i tuoi livelli logici dalla tua interfaccia grafica, quindi i tuoi test possono richiamarli senza troppe difficoltà.

In termini di test della GUI effettiva, puoi dare un'occhiata al MS UI Automation framework che dovrebbe consentire di automatizzare parti dell'interfaccia utente per eseguire test contro di essa. C'è un post sul blog qui su come procedere e un articolo qui . Ci sono anche alcuni framework commerciali che sovrappongono le cose di automazione dell'interfaccia utente per renderlo un po 'più facile. Un esempio è testautomationfx .

Altri suggerimenti

Dato che un test sui raggi dovrebbe essere "end to end", guarderei gli strumenti di test dell'interfaccia utente automatizzati come Test completo, piuttosto che gli strumenti di test delle unità: creare script per la creazione di una macchina virtuale ed eseguire i programmi di installazione è un'altra buona opzione. Il test parlato deve includere il programma di installazione della tua app, poiché tendono a non essere coperti da test unitari o utilizzati dai tuoi sviluppatori.

Stai cercando di evitare che i tuoi tester trascorrano del tempo con build "senza speranza" - da qui la necessità di includere il programma di installazione.

Pensa a tutti i motivi “stupidi” che impediscono al tuo team di test di essere produttivo dopo aver trascorso il tempo a installare una nuova build: quanti di questi puoi includere in un sistema automatizzato senza che i test falliscano a causa di cambiamenti nell'app.

Molte persone commettono l'errore di provare a coprire troppo in un test sui raggi - "test approfonditi" che coprono tutta la tua logica dovrebbero essere nei test unitari e / o "test della storia" non nel test dei raggi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top