In questo tutorial imparerai
- Cos'è un Framework?
- Cos'è un framework di automazione TEST?
- Tipi di framework di automazione
- 1) Scripting lineare - Registrazione e riproduzione
- 2) Il Test Library Architecture Framework.
- 3) Il framework di test basato sui dati.
- 4) Il framework di test basato su parole chiave o su tabella.
- 5) L'Hybrid Test Automation Framework.
Cos'è un Framework?
Invece di fornire una definizione libresca di un framework, consideriamo un esempio.
Sono sicuro che hai partecipato a un seminario / lezione / conferenza in cui ai partecipanti è stato chiesto di osservare le seguenti linee guida:
- I partecipanti dovrebbero occupare il proprio posto 5 minuti prima dell'inizio di una lezione
- Porta con te un taccuino e una penna per prendere appunti.
- Leggi l'abstract in modo da avere un'idea di cosa tratterà la presentazione.
- I telefoni cellulari dovrebbero essere impostati in modalità silenziosa
- Usa i cancelli di uscita all'estremità opposta dell'oratore se hai bisogno di andartene nel mezzo della lezione.
- Le domande verranno prese alla fine della sessione
Pensi di poter condurre un seminario SENZA osservare queste linee guida ????
La risposta è un grande SI! Certamente, puoi condurre un seminario / lezione / conferenza / dimostrazione senza le linee guida di cui sopra (in effetti alcuni di noi non le seguiranno anche se sono previste ... :-)
Ma se le linee guida vengono seguite, si otterrà un risultato benefico come una minore distrazione del pubblico durante la lezione e una maggiore fidelizzazione dei partecipanti e la comprensione dell'argomento.
Sulla base di quanto sopra, un Framework può essere definito come un insieme di linee guida che, se seguite, producono risultati positivi.
Cos'è un framework di automazione TEST?
Una serie di linee guida come standard di codifica, gestione dei dati di test, trattamento del repository di oggetti ecc ... che, se seguite durante lo scripting di automazione, producono risultati vantaggiosi come aumento del riutilizzo del codice, maggiore portabilità, riduzione dei costi di manutenzione dello script ecc. non regole; non sono obbligatori e puoi comunque scrivere script senza seguire le linee guida. Ma ti perderai i vantaggi di avere un Framework.
Tipi di framework di automazione
1) Scripting lineare
2) The Test Library Architecture Framework.
3) Il framework di test basato sui dati.
4) Il framework di test basato su parole chiave o basato su tabella.
5) L'Hybrid Test Automation Framework.
Vediamoli in dettaglio -
1) Scripting lineare - Registrazione e riproduzione
È il più semplice di tutti i Framework e noto anche come "Record & Playback" . In questo Framework, Tester registra manualmente ogni passaggio (navigazione e input dell'utente), inserisce i punti di controllo (passaggi di convalida) nel primo round. Quindi, riproduce il copione registrato nei turni successivi.
Es: Considera la possibilità di accedere all'applicazione di prenotazione del volo e controllare se l'applicazione è stata caricata dopo aver effettuato l'accesso. Qui, il tester registrerà semplicemente i passaggi e aggiungerà passaggi di convalida.
SystemUtil.Run "flight4a.exe", "", "", "open"Finestra di dialogo ("Login"). WinEdit ("Agent Name:"). Imposta "Guru99"Finestra di dialogo ("Login"). WinEdit ("Password:"). Imposta "Mercury"Finestra di dialogo ("Login") WinButton ("OK") Fare clic su'Verifica che la finestra di prenotazione del volo sia stata caricata dopo aver effettuato correttamente l'accessoFinestra ("Prenotazione volo") CheckPoint ("Prenotazione volo")
Vantaggi
- Il modo più veloce per generare uno script
- Competenza nell'automazione non richiesta
- Il modo più semplice per apprendere le funzionalità dello strumento di test
Svantaggi
- Poco riutilizzo degli script
- I dati del test sono codificati nello script
- Incubo di manutenzione
2) Il Test Library Architecture Framework.
È anche noto come "Script strutturato" o "Decomposizione funzionale".
In questo Framework, gli script di test vengono inizialmente registrati con il metodo "Registra e riproduci". Successivamente, le attività comuni all'interno degli script vengono identificate e raggruppate in Funzioni. Queste funzioni sono chiamate dallo script di test principale chiamato Driver in diversi modi per creare casi di test.
Es: Utilizzando lo stesso esempio di cui sopra, apparirà la funzione per accedere a Prenotazione volo.
Funzione Login ()SystemUtil.Run "flight4a.exe", "", "", "open"Finestra di dialogo ("Login"). WinEdit ("Agent Name:"). Imposta "Guru99"Finestra di dialogo ("Login"). WinEdit ("Password:"). Imposta "Mercury"Finestra di dialogo ("Login") WinButton ("OK") Fare clic suFine funzione
Ora chiamerai questa funzione nello script principale come segue
Accesso chiamata ()---------------------------Altre chiamate di funzioni / passaggi di test.---------------------------
Vantaggi
- Si ottiene un livello più elevato di riutilizzo del codice nello script strutturato rispetto a "Registrazione e riproduzione"
- Gli script di automazione sono meno costosi da sviluppare a causa del maggiore riutilizzo del codice
- Manutenzione degli script più semplice
Svantaggi
- La competenza tecnica è necessaria per scrivere script utilizzando Test Library Framework.
- È necessario più tempo per pianificare e preparare gli script di test.
- I dati del test sono hard coded all'interno degli script
3) Il framework di test basato sui dati.
In questo Framework, mentre la logica del test case risiede negli script di test, i dati del test vengono separati e mantenuti al di fuori degli script di test. I dati del test vengono letti dai file esterni (file Excel, file di testo, file CSV, origini ODBC, oggetti DAO, oggetti ADO) e vengono caricati nelle variabili all'interno dello script di test. Le variabili vengono utilizzate sia per i valori di input che per i valori di verifica. Gli stessi script di test vengono preparati utilizzando Linear Scripting o Test Library Framework.
Es: lo sviluppo dello script di accesso per la prenotazione del volo utilizzando questo metodo richiederà due passaggi.
Passaggio 1) Crea un file di test - Dati che potrebbe essere Excel, CSV o qualsiasi altra origine di database.
AgentName |
Parola d'ordine |
---|---|
Jimmy |
Mercurio |
Tina |
MERCURIO |
Conto |
Mercurio |
Passaggio 2) Sviluppa lo script di test e fai riferimento alla tua origine dati di test.
SystemUtil.Run "flight4a.exe", "", "", "open"Finestra di dialogo ("Login"). WinEdit ("Agent Name:"). Imposta DataTable ("AgentName", dtGlobalSheet)Finestra di dialogo ("Login"). WinEdit ("Password:"). Imposta DataTable ("Password", dtGlobalSheet)Finestra di dialogo ("Login") WinButton ("OK") Fare clic su'La finestra di controllo della prenotazione del volo è stata caricataFinestra ("Prenotazione volo") CheckPoint ("Prenotazione volo")** Nota "dtGlobalSheet" è il foglio Excel predefinito fornito da QTP.
Vantaggi
- Le modifiche agli script di test non influiscono sui dati di test
- I casi di test possono essere eseguiti con più set di dati
- È possibile eseguire una varietà di scenari di test semplicemente variando i dati di test nel file di dati esterno
Svantaggi
- È necessario più tempo per pianificare e preparare sia gli script di test che i dati di test
4) Il framework di test basato su parole chiave o su tabella.
Il framework Keyword-Driven o Table-Driven richiede lo sviluppo di tabelle di dati e parole chiave, indipendentemente dallo strumento di automazione del test utilizzato per eseguirle. I test possono essere progettati con o senza l'applicazione. In un test basato su parole chiave, la funzionalità dell'applicazione sottoposta a test è documentata in una tabella e in istruzioni dettagliate per ogni test.
Ci sono 3 componenti di base di una visualizzazione Framework basata su parole chiave. Parola chiave, mappa dell'applicazione, funzione del componente.
Cos'è una parola chiave?
La parola chiave è un'azione che può essere eseguita su un componente della GUI. Es. Per la casella di testo del componente GUI alcune parole chiave (azione) sarebbero InputText, VerifyValue, VerifyProperty e così via.
Cos'è la mappa dell'applicazione?
Una mappa dell'applicazione fornisce riferimenti con nome per i componenti della GUI. Le mappe delle applicazioni non sono altro che " repository di oggetti "
Cos'è la funzione componente?
Le funzioni dei componenti sono quelle funzioni che manipolano o interrogano attivamente il componente della GUI. Un esempio di una funzione sarebbe fare clic sul pulsante Web con tutta la gestione degli errori, inserire i dati in una modifica Web con tutta la gestione degli errori. Le funzioni dei componenti possono essere dipendenti dall'applicazione o indipendenti.
Es : per comprendere la visualizzazione delle parole chiave, prendiamo lo stesso esempio. Richiede 2 passaggi
Passaggio 1 : creazione della tabella dati (diversa dalla tabella dati di test creata in Data Driven Framework). Questa tabella dati contiene l'azione da eseguire sugli oggetti GUI e gli eventuali argomenti corrispondenti. Ogni riga rappresenta una fase del test.
Oggetto (MAPPA dell'applicazione) |
Azione (PAROLE CHIAVE) |
Discussione |
---|---|---|
WinEdit (nome agente) | Impostato | Guru99 |
WinEdit (password) | Impostato | Mercurio |
WinButton (OK) | Clic | |
Finestra (prenotazione del volo) | Verificare | Esiste |
Passaggio 2 : scrittura del codice sotto forma di funzioni componenti.
Dopo aver creato le tabelle di dati, è sufficiente scrivere un programma o una serie di script che legge in ogni passaggio, esegue il passaggio in base alla parola chiave contenuta nel campo Azione, esegue il controllo degli errori e registra tutte le informazioni pertinenti. Questo programma o insieme di script sarebbe simile allo pseudo codice seguente:
Funzione main (){Call ConnectTable (Name of the Table) {// Calling Function per la connessione alla tabella.while (Call TableParser ()! = -1) // Richiamo della funzione per l'analisi e l'estrazione dei valori dalla tabella.{Passa i valori alle funzioni COMPONENT appropriate, come Set (Object Name, Argument) ex.Set (Agent Name, Guru99).}}Chiama CloseConnection () // Funzione per la chiusura della connessione dopo che tutte le operazioni sono state eseguite.} // Fine del main
Questo è tutto per Keyword Driven Framework.
Il vantaggio di Keyword Driven Framework è che le parole chiave sono riutilizzabili. Per capire questo, considera che vuoi verificare il funzionamento di accesso per un sito Web, dire YAHOO MAIL. Il tavolo sarà così:
Oggetto (MAPPA DELL'APPLICAZIONE) | Azione (PAROLA CHIAVE) | Discussione |
---|---|---|
WebEdit (UserName) | Impostato | Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo. |
WebEdit (password) | Impostato | xxxxx |
WebButton (OK) | Clic | |
Finestra (Yahoo Mail) | Verificare | Carichi |
Se osservi in questo caso le parole chiave Set, Click, Verify rimangono le stesse per le quali le funzioni dei componenti corrispondenti sono già sviluppate. Tutto quello che devi fare è cambiare l'Application Mapping (Object Repository) dalla precedente Flight Reservation a Yahoo Mail, con una modifica nei valori degli argomenti e lo stesso script funzionerà!
Vantaggi
- Fornisce un'elevata riutilizzabilità del codice
- Strumento di test indipendente
- Indipendentemente dall'applicazione in prova, lo stesso script funziona per AUT (con alcune limitazioni)
- I test possono essere progettati con o senza AUT
Svantaggi
- Essendo l'investimento iniziale piuttosto elevato, i vantaggi di questo possono essere realizzati solo se l'applicazione è considerevolmente grande e gli script di test devono essere mantenuti per parecchi anni.
- Per creare il Keyword Driven Framework è necessaria un'elevata competenza nell'automazione.
NOTA: anche se Micro Focus UFT si pubblicizza come KeyWord Driven Framework, non è possibile ottenere uno strumento di test completo e l'idependence dell'applicazione utilizzando HP UFT.
5) L'Hybrid Test Automation Framework.
Come suggerisce il nome, questo framework è la combinazione di uno o più framework discussi sopra, attingendo ai loro punti di forza e cercando di mitigare i loro punti deboli. Questo framework ibrido di automazione dei test è ciò in cui la maggior parte dei framework si evolve nel tempo e in molteplici progetti. L'industria massima utilizza Keyword Framework in una combinazione del metodo di scomposizione delle funzioni.
PS: Altri framework degni di nota sono
Test Modularity Framework
In questo framework, un'attività comune nello script di test viene raggruppata come moduli.
Es : l'utilizzo di azioni in QTP consente di creare uno script Modualr
Script di esempio per l'accesso
SystemUtil.Run "flight4a.exe", "", "", "open"Finestra di dialogo ("Login"). WinEdit ("Agent Name:"). Imposta "Guru99"Finestra di dialogo ("Login"). WinEdit ("Password:"). Imposta "Mercury"Finestra di dialogo ("Login") WinButton ("OK") Fare clic su'Fine del copione
Ora puoi chiamare questa azione nello script principale come segue:
RunAction ("Login [Argument]", oneIteration)
Test dei processi aziendali (BPT)
Questo framework, suddivide grandi processi aziendali in componenti che possono essere riutilizzati più volte nello stesso o in diversi script di test. Ad esempio, il processo aziendale di prenotazione di un volo è suddiviso in componenti come accesso, ricerca di voli, prenotazione, pagamento e disconnessione che possono essere riutilizzati nello stesso processo aziendale o in processi diversi. Inoltre, BPT facilita un più stretto coordinamento tra le PMI e gli ingegneri dell'automazione.