Domanda

Per C ++, ci sono molti buoni framework di unit test là fuori, ma non ne ho trovato uno buono per test funzionali . Con i test funzionali, intendo cose che toccano il disco, richiedono che l'intera applicazione sia a posto, ecc.

Indica il caso: quale framework aiuta a testare cose come se il tuo I / O funziona? Ho installato un sistema a rotazione manuale, che crea cartelle temporanee, copie attorno a un mucchio di dati, quindi i test vengono sempre eseguiti nello stesso ambiente, ma prima di dedicare più tempo al mio framework personalizzato - c'è un buono già là fuori?

È stato utile?

Soluzione

Ne ho scritto uno da zero tre volte, due volte per testare le app C ++ che hanno parlato con gli scambi usando il protocollo FIX, una volta per un'app GUI.

Il problema è che è necessario emulare il mondo esterno per eseguire test di sistema adeguati. Non intendo " al di fuori del tuo codice " - al di fuori della tua applicazione. Ciò comporta l'emulazione di utenti finali, entità esterne, Internet e così via.

Di solito uso perl per scrivere il mio framework di test di sistema e i test, principalmente perché è buono con l'accesso a tutti i tipi di strutture del sistema operativo e regexps sono cittadini di prima classe.

Alcuni consigli: assicurati che i tuoi log siano facili da analizzare, dettagliati ma non troppo dettagliati. Avere una configurazione predefinita sana. Semplifica il "reset" del " l'applicazione: è necessario farlo dopo ogni test.

L'approccio che di solito uso è di avere una sorta di "adattatore" che trasforma le comunicazioni dell'applicazione con il mondo esterno in stdin / stdout di alcuni eseguibili. Poi ho creato un framework perl sopra a quello, e poi i casi di test usano il framework.

Altri suggerimenti

Di seguito elencherò un paio di strumenti e applicazioni di test più grandi di cui sono a conoscenza. Se fornisci ulteriori informazioni sulla tua piattaforma (sistema operativo, ecc.) Possiamo probabilmente fornire risposte migliori.

Per parte di ciò che è necessario, Microsoft fornisce il Application Verifier :

  

Application Verifier (AppVerifier) ??è uno strumento di verifica del runtime utilizzato nel test delle applicazioni per la compatibilità con Microsoft Windows XP. Questo strumento può essere utilizzato per testare un'ampia varietà di problemi di compatibilità noti mentre l'applicazione è in esecuzione. Questo articolo descrive in dettaglio i passaggi per l'utilizzo di AppVerifier come aggiunta efficace ai cicli di sviluppo e test delle applicazioni.

Application Verifier può essere utile per testare condizioni di memoria insufficiente, altre risorse insufficienti e altro utilizzo dell'API.

Un'altra parte del puzzle è il pacchetto Microsoft Detours, che può essere utilizzato per sostituire le chiamate API con il proprio codice (utile, ad esempio, restituire i codici di errore per i test difficili da impostare).

  

Detours è una libreria per la strumentazione di funzioni Win32 arbitrarie su macchine x86, x64 e IA64. Deviazioni intercetta le funzioni di Win32 riscrivendo il codice in memoria per le funzioni di destinazione. Il pacchetto Detours contiene anche utility per collegare DLL e segmenti di dati arbitrari (chiamati payload) a qualsiasi binario Win32.

Sono disponibili anche altri pacchetti completi, più grandi (e più costosi). Borland produce Silk .
Il software automatizzato rende TestComplete . La selezione di uno di questi strumenti dipenderà dalle tue esigenze per le tue applicazioni.
IBM / Rational fornisce il Rational Functional Tester , disponibile su molte piattaforme e ricco di funzionalità.

Salve, non sono sicuro che il framework di cui disponiamo sia di aiuto nella vostra situazione, ma si collega a Rational Functional Tester e consente all'utente di creare vari set di dati da allegare a test diversi e di modificare gli ambienti senza modificare gli script e riutilizzare il automazione in modo efficiente. Dai un'occhiata se sei interessato: http://www.testpro.com.au/Test-Automation-Framework.html

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