Domanda

Vorrei fare test di integrazione e test di sistema per le mie applicazioni, ma che producono buoni test di integrazione e di sistema hanno spesso bisogno di tanto impegno che non ho disturbato. Le poche volte che ho provato, ho scritto su misura, imbracature di test specifici per l'applicazione, che sembrava re-inventare la ruota ogni volta. Mi chiedo se questo è l'approccio sbagliato. Esiste un approccio "standard" per l'integrazione e test di sistema completo?

EDIT: Per chiarire, è test automatizzati, per applicazioni desktop e web. Idealmente una suite di test completo che esercita la piena funzionalità dell'applicazione.

È stato utile?

Soluzione

Se per "test di integrazione e test di sistema make" intendi test automatizzati, allora la risposta è no, non esiste un approccio standard. Quale approccio scegliere dipenderà da:

  • le caratteristiche dell'applicazione (per esempio Ha un GUI ?, è essa sola lettura ?, quante dipendenze esterne ce l'ha, etc)
  • ciò che si sta tentando di prova (test GUI forse solo è necessario, o forse è vero il contrario e non si ha realmente a cuore la GUI, ma la logica interna è critica)
  • quanto velocemente si desidera visualizzare i risultati (ad esempio, più si stub la più veloce i test diventano)
  • le qualifiche sul vostro team

Personalmente, amo qualsiasi approccio che si integra con JUnit. JUnit è un framework fantastico che è ben supportato e facilmente legato in un server di integrazione di continuo. Qui ci sono alcuni approcci possibili:

  • Selenio con JUnit - Fantastic strumento per guidare le applicazioni web
  • Concordion - per tutti i tipi di applicazioni. Si integra con JUnit e consente le specifiche in inglese semplici di test. Il tuo 'fixture' / codice di prova si aggancerà in parole chiave nella specifica e far valere o eseguire azioni su di essi.
  • FEST - per applicazioni Swing, ancora una volta si integra con JUnit (vedi un tema ancora ?;) (più scelte qui )

Gli esempi sopra riportati forniscono una quantità enorme di fuori della scatola aiuto per il test. Naturalmente, hanno ancora bisogno di sforzo per legare alla propria applicazione e mantenere, ma i vantaggi sono ben valsa la pena. In aggiunta a quanto sopra, potrebbe essere necessario pensare a come stub o deridere le aree della vostra applicazione. Forse si vuole fare tutto il test "sotto la GUI" o "al di sopra della base di dati". Nel primo scenario, è necessario i test per iniziare in corrispondenza dei punti di codice in cui l'interfaccia grafica avrebbe interagire con esso e in quest'ultimo sarà necessario spegnere i servizi che interagiscono con il database.

punto è, c'è un sacco di modi per farlo. Miglior inizio con una chiara comprensione di ciò che si vuole uscire dalla tua prova. Poi imparare ciò che i quadri esistenti sono là fuori per aiutarvi in ??base a ciò che si vuole testare, e, infine, non si tenta di conquistare il mondo in una notte. Inizio piccola ottenere un paio di test in esecuzione. Prendi la barra verde (sempre una gioia vedere!) Ottenere una piattaforma collaudata stabile per testare e assicurarsi che si sta soddisfatto. Quindi aggiungere più come si va avanti.

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