Test Automation Framework: cos'è Archistruttura e tipi
Cos'è il Framework nei test di automazione?
A Test del framework di automazione è un insieme 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 un maggiore riutilizzo del codice, una maggiore portabilità, costi di manutenzione degli script ridotti ecc. Queste sono solo linee guida e non regole; non sono obbligatorie e puoi comunque scrivere script senza seguire le linee guida. Ma perderai i vantaggi di avere un Framework.
Perché hai bisogno di un quadro?
Consideriamo un esempio per capire perché è necessario un Framework.
Sono sicuro che hai partecipato a un seminario/lezione/conferenza in cui ai partecipanti è stato chiesto di osservare le seguenti linee guida:
- I partecipanti dovranno occupare i propri posti 5 minuti prima dell'inizio della lezione.
- Porta con te un quaderno e una penna per prendere appunti.
- Leggi l'abstract, così avrai un'idea di cosa tratterà la presentazione.
- I telefoni cellulari dovrebbero essere impostati sulla modalità silenziosa.
- Utilizza i cancelli di uscita all'estremità opposta rispetto all'oratore se hai bisogno di uscire nel bel mezzo della lezione.
- Al termine della sessione verranno poste delle domande.
Pensi di poter condurre un seminario SENZA osservando queste linee guida👍
La risposta è una grande SÌ! Certamente, è possibile condurre un seminario/lezione/conferenza/dimostrazione senza le linee guida di cui sopra... infatti, alcuni di noi non le seguiranno anche se sono predisposte!
Ma se le linee guida vengono seguite, si otterranno risultati positivi come una minore distrazione del pubblico durante le lezioni, una maggiore fidelizzazione dei partecipanti e una maggiore comprensione dell’argomento.
Sulla base di quanto sopra, a Il framework può essere definito come un insieme di linee guida che, se seguite, producono risultati benefici.
Tipi di framework di automazione dei test
Di seguito sono riportati i diversi tipi di framework di test automatizzati:
- 1) Script lineare
- 2) La Biblioteca dei test Archiquadro strutturale.
- 3) Guidato dai dati Testing Struttura.
- 4) Il framework di test basato su parole chiave o basato su tabelle.
- 5) Il framework ibrido per l'automazione dei test.
Vediamoli nel dettaglio –
1) Scripting lineare: registrazione e riproduzione
È il più semplice di tutti i Testing Automation Framework ed è anche conosciuto come “Registrazione e riproduzione”. In questo Test di automazione Framework, il tester registra manualmente ogni passaggio (navigazione e input dell'utente), inserisce checkpoint (passaggi di convalida) nel primo round. Quindi, riproduce la sceneggiatura registrata nei round successivi.
Esempio: Considera l'idea di accedere Domanda di prenotazione del volo e verificare se l'applicazione è stata caricata dopo l'accesso riuscito. Qui, il tester registrerà semplicemente i passaggi e aggiungerà passaggi di convalida.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
Vantaggi
- Il modo più veloce per generare uno script
- Competenza in automazione non richiesta
- Il modo più semplice per apprendere le funzionalità dello strumento di test
Svantaggi
- Piccolo riutilizzo degli script
- I dati del test sono codificati nello script
- Incubo di manutenzione
2) La Biblioteca dei test Archiquadro strutturale
È anche conosciuto come “Script strutturato” or “Decomposizione funzionale”.
In questo Automation Testing Framework, gli script di test vengono inizialmente registrati da "Registra e riproduci" metodo. Later, le attività comuni all'interno degli script vengono identificate e raggruppate in Funzioni. Queste funzioni vengono richiamate dallo script di test principale richiamato Guidatore in diversi modi per creare casi di test.
Esempio: Utilizzando lo stesso esempio di cui sopra, la funzione per accedere alla Prenotazione del volo sarà simile a .
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
Ora chiamerai questa funzione nello script principale come segue
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
Vantaggi
- Nello scripting strutturato si ottiene un livello più elevato di riutilizzo del codice rispetto a "Registrazione e riproduzione"
- Gli script di automazione sono meno costosi da sviluppare grazie al maggiore riutilizzo del codice
- Manutenzione degli script più semplice
Svantaggi
- È necessaria competenza tecnica per scrivere script utilizzando Test Library Framework
- È necessario più tempo per pianificare e preparare gli script di test.
- I dati di test sono codificati all'interno degli script
3) Il quadro di test basato sui dati
In questo quadro, mentre Test Case la logica risiede negli script di test, i dati di test sono separati e mantenuti all'esterno degli script di test. I dati di test vengono letti dai file esterni (file Excel, file di testo, file CSV, sorgenti 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 lo scripting lineare o il framework della libreria di test.
Esempio: Lo sviluppo dello script di accesso alla prenotazione del volo utilizzando questo metodo comporterà due passaggi.
Passo 1) Crea un test: file di dati che potrebbe essere Excel, CSV o qualsiasi altra origine di database.
NomeAgente | Password |
---|---|
Jimmy | Mercury |
Tina | MERCURY |
Bill | Mercurio |
Passo 2) Sviluppa lo script di test e fai riferimento alla tua origine dati di test.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") **Note "dtGlobalSheet" is the default excel sheet provided by 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 basato su tabelle
Lo sviluppo del framework di automazione basato su parole chiave o tabelle richiede tabelle di dati e parole chiave, indipendente dal strumento di automazione dei test utilizzati per eseguirli. 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 passo passo per ciascun test.
Ci sono 3 componenti di base di un Framework basato su parole chiave, ovvero parola chiave, mappa dell'applicazione, funzione del componente.
Cos'è una parola chiave?
La parola chiave è un'azione che può essere eseguita su un componente GUI. Ad esempio, per la casella di testo del componente GUI, alcune parole chiave (azione) potrebbero essere InputText, VerifyValue, VerifyProperty e così via.
Cos'è la mappa delle applicazioni?
Una mappa dell'applicazione fornisce riferimenti denominati per i componenti della GUI. Le mappe applicative non sono altro che “Repository di oggetti"
Cos'è la funzione componente?
Le funzioni del componente sono quelle funzioni che manipolano o interrogano attivamente il componente della GUI. Un esempio di funzione potrebbe essere 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 potrebbero essere dipendenti o indipendenti dall'applicazione.
Esempio: Per comprendere Keyword View, prendiamo lo stesso esempio. Implica 2 passaggi
Passo 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 argomenti corrispondenti, se presenti. Ogni riga rappresenta una fase del test.
Oggetto | Action | |
---|---|---|
(MAPPA dell'applicazione) | (PAROLE CHIAVE) | Argomento |
WinEdit(Nome agente) | Impostato | Guru99 |
WinModifica(Password) | Impostato | Mercury |
Pulsante Win(OK) | Clicchi | |
Finestra (Prenotazione del volo) | Verifica | Esiste |
Passo 2 : Scrivere codice sotto forma di funzioni componenti.
Dopo aver creato le tabelle di dati, scrivi semplicemente un programma o una serie di script che leggono ogni passaggio, eseguono il passaggio in base alla parola chiave contenuta nel campo Azione, eseguono il controllo degli errori e registrano tutte le informazioni rilevanti. Questo programma o insieme di script sarebbe simile allo pseudo codice seguente:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
Questo è tutto per il Keyword Driven Framework.
Il vantaggio di Keyword Driven Framework è che le parole chiave sono riutilizzabili. Per capirlo, considera di voler verificare l'operazione di login per un sito Web, ad esempio YAHOO MAIL. La tabella apparirà così:
Oggetto | Action | |
---|---|---|
(MAPPA DELLE APPLICAZIONI) | (PAROLA CHIAVE) | Argomento |
Modifica Web(Nome Utente) | Impostato | abc@yahoo.com |
Modifica Web(Password) | Impostato | xxxxx |
Pulsante Web(OK) | Clicchi | |
Finestra (Yahoo Mail) | Verifica | Carichi |
Se si osserva in questo caso le Parole Chiave Set , Click , Verifica rimangono le stesse per le quali sono già sviluppate le funzioni dei componenti corrispondenti. Tutto quello che devi fare è modificare la mappatura dell'applicazione (repository oggetti) dalla precedente prenotazione del volo 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 test, lo stesso script funziona per AUT (con alcune limitazioni)
- I test possono essere progettati con o senza AUT
Svantaggi
- Poiché l'investimento iniziale è piuttosto elevato, i vantaggi possono essere realizzati solo se l'applicazione è considerevolmente grande e gli script di test devono essere mantenuti per diversi anni.
- Per creare il framework basato sulle parole chiave è necessaria un'elevata esperienza nell'automazione.
NOTA: Anche se Micro Focus UFT si pubblicizza come KeyWord Driven Framework, non è possibile ottenere la completa indipendenza dallo strumento di test e dall'applicazione utilizzando HP UFT.
5) Il framework ibrido per l'automazione dei test
Come suggerisce il nome, questo framework è la combinazione di uno o più framework di automazione discussi sopra, sfruttandone i punti di forza e cercando di mitigarne i punti deboli. Il framework di automazione del QA dei test ibridi è ciò in cui la maggior parte dei framework di automazione dei test si evolve nel tempo e in più progetti. L'industria massima utilizza Keyword Framework in una combinazione del metodo di scomposizione delle funzioni.
PS: Altri framework di automazione degni di nota sono
Testare il quadro di modularità
In questo contesto, un'attività comune nello script di test è raggruppata come Moduli.
Esempio: Utilizzando le azioni in QTP è possibile creare script modulari
Script di esempio per l'accesso
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
Ora puoi chiamare questa azione nello script principale come segue:
RunAction ("Login[Argument]", oneIteration)
Test dei processi aziendali (BPT)
Questi framework di automazione suddividono i processi aziendali di grandi dimensioni in componenti che possono essere riutilizzati più volte negli stessi 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.
Vantaggi del Test Automation Framework Architectura
Di seguito sono riportati i vantaggi dell'architettura del framework di automazione dei test:
- Un framework di automazione dei test aiuta a ridurre i rischi e le spese
- Migliora l'efficienza dei test
- Aiuta a ridurre i costi di manutenzione
- Consente il riutilizzo del codice
- Permette di ottenere la massima copertura del test
- Massimizza la funzionalità dell'applicazione
- Aiuta a ridurre la duplicazione dei test case
- Aiuta a migliorare l'efficienza e le prestazioni dei test con l'automazione dei test
Sintesi
- Un framework è un insieme di linee guida come standard di codifica, gestione dei dati di test, trattamento del repository di oggetti, ecc... che, se seguiti durante lo scripting di automazione, producono risultati benefici come un maggiore riutilizzo del codice, maggiore portabilità, costi di manutenzione degli script ridotti, ecc.
- Lo script lineare è il più semplice di tutti i framework di automazione ed è noto anche come "Registrazione e riproduzione".
- Libreria di prova ArchiLa struttura della struttura è anche conosciuta come “Scripting strutturato” o “Decomposizione funzionale”.
- Nel Data-Driven Testing Framework, la logica del test case risiede negli script di test e i dati di test sono separati e mantenuti all'esterno degli script di test.
- Il framework Keyword-Driven o Table-Driven richiede lo sviluppo di tabelle di dati e parole chiave, indipendentemente dallo strumento di automazione dei test utilizzato per eseguirle.
- Il framework di automazione ibrida è ciò in cui si evolve la maggior parte dei framework di automazione dei test nel tempo e in più progetti.