what is test harness
Non sono un grande fan delle etichette. Ecco cosa intendo con questo.
Se devo controllare alcuni aspetti prima di determinare se è possibile avviare o meno il QA, creerò semplicemente un elenco ed eseguirò l'azione. A mio parere, non importa se la chiamo ufficialmente operazione di 'verifica della disponibilità al test' o meno - finché faccio quello che dovrei fare, penso che non sia necessario chiamarla con un nome o un'etichetta specifica .
Ma sono corretto. Recentemente, nella mia classe, stavo insegnando il modello Agile-scrum per lo sviluppo del software. C'era un domanda ' come vengono eseguiti i test in un metodo Agile? 'Stavo spiegando due metodi - uno è dove cerchiamo di includerlo all'interno di ogni sprint e l'altro è una best practice che ho imparato dall'implementazione di prima mano - che è di ritardare uno sprint di QA rispetto a quello di sviluppo.
Uno dei miei studenti mi ha chiesto se c'era un nome per il secondo e io non l'ho fatto perché non ho mai posto l'accento sui nomi stessi.
Ma in quel momento, ho sentito quanto fosse importante etichettare un processo in modo appropriato per assicurarci di avere un termine per fare riferimento al processo di cui stiamo parlando.
Pertanto, oggi faremo proprio questo: Impara il processo dietro il termine 'Test Harness'.
Come ho accennato prima in alcuni dei miei articoli precedenti: molto si può capire dal significato letterale del nome. Quindi, controlla il tuo dizionario per il significato di 'Imbracatura' e la grande rivelazione se si applica o meno, in questo caso, è qualcosa che vedremo alla fine.
Esistono due contesti in cui viene utilizzato Test harness:
- Test di automazione
- Test d'integrazione
Cominciamo con il primo:
Cosa imparerai:
- Contesto n. 1: Test Harness in Test Automation
- Contesto n. 2: Test Harness in Integration Testing
- Insomma:
- Lettura consigliata
Contesto n. 1: Test Harness in Test Automation
Nel il test di automazione mondo, Test harness si riferisce al framework e ai sistemi software che contengono gli script di test, i parametri necessari (in altre parole, i dati) per eseguire questi script, raccogliere i risultati dei test, confrontarli (se necessario) e monitorare i risultati.
Proverò a renderlo più semplice con l'aiuto di un esempio.
Esempio:
Se stavo parlando di un progetto che utilizza HP Quick Test Professional (ora UFT) per i test funzionali, HP ALM è collegato per organizzare e gestire tutti gli script, le esecuzioni ei risultati ei dati vengono raccolti da un database MS Access - Il seguente sarebbe il test harness per questo progetto:
elenco a doppio collegamento c ++ tutorial
- Il software QTP (UFT) stesso
- Gli script e la posizione fisica in cui sono archiviati
- I set di prova
- MS Access DB per fornire parametri, dati o le diverse condizioni che devono essere fornite agli script di test
- HP ALM
- I risultati del test e gli attributi del monitoraggio comparativo
Come puoi vedere, i sistemi software (automazione, gestione dei test, ecc.), I dati, le condizioni, i risultati - diventano tutti parte integrante del Test harness - l'unica esclusione è l'AUT stesso.
Contesto n. 2: Test Harness in Integration Testing
Ora è il momento di esplorare il significato di Test harness nel file contesto di 'Test d'integrazione' .
Il test di integrazione consiste nel mettere insieme due o moduli (o unità) di codice che interagiscono tra loro e per verificare se il comportamento combinato è quello previsto o meno.
Idealmente, il test di integrazione di due moduli dovrebbe e sarebbe possibile eseguire quando entrambi sono pronti al 100%, testati e pronti per l'uso.
Tuttavia, non viviamo in un mondo perfetto, il che significa che uno o più moduli / unità di codice che devono essere gli elementi costitutivi del test di integrazione potrebbero non essere disponibili. Per risolvere questa situazione abbiamo stub e driver.
Stud è solitamente un pezzo di codice che è limitato nella sua funzione e sostituirà o sostituirà il modulo di codice effettivo che deve prendere il suo posto.
Esempio: Per spiegare ulteriormente questo aspetto, consentitemi di utilizzare uno scenario
Se è presente un'unità A e un'unità B che devono essere integrate. Inoltre, l'Unità A invia i dati all'Unità B o, in altre parole, l'Unità A chiama l'Unità B.
Unità A se disponibile al 100% e unità B non lo è, lo sviluppatore può scrivere un pezzo di codice che è limitato nella sua capacità (ciò significa che è l'unità B se ha 10 funzionalità, solo 2 o 3 che sono importanti per l'integrazione con A) verrà sviluppato e utilizzato per l'integrazione. Questo è chiamato a STUB.
L'integrazione ora sarebbe: Unità A-> Stub (in sostituzione di B)
D'altra parte, se l'Unità A è disponibile allo 0% e l'Unità B è disponibile al 100%, la simulazione o il proxy deve essere l'Unità A qui. Pertanto, quando una funzione chiamante viene sostituita da un codice ausiliario, viene chiamata DRIVER .
L'integrazione, in questo caso, sarebbe : CONDUCENTE (al posto di A) -> Unità B
L'intero framework: il processo di pianificazione, creazione e utilizzo di stub e / o driver per eseguire il test di integrazione è chiamato Test Harness.
Nota : l'esempio precedente è limitato e lo scenario in tempo reale potrebbe non essere così semplice o diretto come questo. Le applicazioni in tempo reale hanno punti di integrazione complessi e compositi.
Insomma:
Come sempre, STH crede che anche la più tecnica delle definizioni possa essere derivata dal significato semplice e letterale del termine.
Il dizionario sul mio smartphone mi dice che un 'cablaggio' è (guarda sotto il contesto del verbo):
“Per portare in condizioni per un uso efficace; ottenere il controllo per un fine particolare; '
Seguendo questo e adattandolo ai test:
“Un test harness consiste semplicemente nel creare il framework corretto e utilizzarlo (e tutti i suoi elementi costitutivi) per controllare l'intera attività in modo da ottenere il massimo dalla situazione, che si tratti di automazione o integrazione. '
Ecco, riposiamo il nostro caso.
Qualche altra cosa prima di finire:
D. Quali sono i vantaggi di un test harness?
Ora, chiederesti qual è l'importanza del respiro per la vita umana - è intrinseco, non è vero? Allo stesso modo, un framework per testare efficacemente è come un dato di fatto. Il vantaggio, se dobbiamo scriverlo in così tante parole, direi che ogni processo di test ha un test harness sia che diciamo consapevolmente che è 'The Test harness' o meno. È come viaggiare conoscendo il percorso, la destinazione e tutte le altre dinamiche del viaggio.
D. Qual è la differenza tra test harness e test framework ?
Personalmente penso che confrontare e contrastare non sia spesso l'approccio giusto quando si comprendono concetti correlati perché le linee sono spesso sfocate. Come risposta a questa domanda, direi che Test harness è specifico e Test framework è generico. Ad esempio, un test harness includerà le informazioni esatte dello strumento di gestione del test fino agli ID di accesso da utilizzare. Un framework di test, d'altra parte, dirà semplicemente che uno strumento di gestione dei test svolgerà le rispettive attività.
Q. Esistono strumenti di test Harness ?
Test harness include strumenti, come software di automazione, software di gestione dei test, ecc. Tuttavia, non ci sono strumenti specifici per implementare un test harness. Tutti o alcuni strumenti possono far parte di Test Harness: QTP, JUnit, HP ALM, tutti possono essere strumenti costitutivi di qualsiasi Test Harness.
Circa l'autore: Questo articolo è stato scritto dal membro del team STH Swati S.
E, sempre con le definizioni, ci sono sempre differenze di opinioni. Accogliamo con favore le tue opinioni e ci piace sentire cosa ne pensi. Non esitate a lasciare un commento, domande o suggerimenti di seguito.
Lettura consigliata
- Test di carico con HP LoadRunner Tutorial
- Consigli sul test del software per i tester alle prime armi
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Le differenze tra test unitari, test di integrazione e test funzionali
- I tester stanno perdendo la presa sui test a causa dell'automazione?
- Il business globale dei test di software raggiungerà presto i 28,8 miliardi di dollari
- Come mantenere viva la motivazione nei tester di software?
- Download dell'eBook Testing Primer