Framework per l'automazione dei test: Archistruttura e tipologie
⚡ Riepilogo intelligente
L'architettura del Test Automation Framework definisce gli standard di codifica, la gestione dei dati di test e le regole del repository degli oggetti che gli script di automazione seguono. Esistono cinque tipologie consolidate, ognuna delle quali bilancia lo sforzo di configurazione con il riutilizzo, i costi di manutenzione e la scalabilità a lungo termine.

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 gli addominalitracCosì avrete 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 otterrà un risultato positivo come una riduzione del disinteresse del pubblicotracmaggiore coinvolgimento durante le lezioni, migliore memorizzazione da parte dei partecipanti e maggiore comprensione della materia.
Sulla base di quanto sopra, a Il framework può essere definito come un insieme di linee guida che, se seguite, producono risultati benefici.
Test del framework di automazione ArchiStruttura: Componenti chiave
Prima di confrontare le diverse tipologie, è utile vedere cosa contiene ciascun framework. ArchiLa struttura descrive come queste parti sono stratificate in modo che una modifica in uno strato non comprometta gli altri.
- Livello dello script di test: Contiene i casi di test. Gli script rimangono brevi perché richiamano funzioni riutilizzabili invece di ripetere i passaggi di navigazione.
- Libreria di funzioni: Memorizza le azioni condivise come l'accesso, la ricerca e la disconnessione, in modo che una modifica al flusso di lavoro venga effettuata una sola volta.
- Archivio degli oggetti: Associa i nomi descrittivi agli elementi dell'interfaccia grafica. Quando l'interfaccia cambia, viene modificato solo questo livello.
- Livello dati di test: Mantiene i valori di input e quelli attesi in file Excel, CSV o database, anziché inserirli nel codice.
- Livello di configurazione: Contiene l'ambiente URLs, scelte del browser, timeout e credenziali.
- Livello di reporting: Genera report di esecuzione, screenshot degli errori e log diagnostici.
- Livello di esecuzione: Attiva le suite da un server di build, collegando l'automazione a integrazione continua.
Le tipologie di framework descritte di seguito si differenziano principalmente per il grado di rigore con cui separano questi livelli.
Tipi di framework di automazione dei test
Di seguito sono riportati i diversi tipi di framework di test automatizzati:
- Scripting lineare
- La libreria di test Archiquadro strutturale.
- I dati guidati Collaudo Struttura.
- Il framework di test basato su parole chiave o tabelle.
- 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, mentre i dati di test sono separati e mantenuti al di fuori degli script di test. I dati di test vengono letti da file esterni (file Excel, file di testo, file CSV, sorgenti ODBC, oggetti DAO, oggetti ADO) e 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 script di test stessi vengono preparati utilizzando Linear Scripting o Test Library Framework. La tecnica è spiegata più dettagliatamente in test guidati dai dati tutorial.
Esempio: Sviluppareping Lo script di accesso alla prenotazione del volo che utilizza questo metodo prevede 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
Migliori Basato su parole chiave oppure lo sviluppo di un framework di automazione basato su 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.
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
Fase 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 |
Fase 2: Scrivere Code 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 in questo caso noti che le parole chiave Imposta, Fai clic, Verifica rimangono le stesse per le quali sono già state sviluppate le corrispondenti funzioni dei componenti. Tutto ciò che devi fare è modificare la Mappa dell'applicazione.ping (Archivio degli oggetti) da prenotazione voli precedente 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: Sebbene OpenText UFT Uno (precedentemente Micro Focus) UFTSebbene si presenti come un framework basato su parole chiave, non è possibile ottenere una completa indipendenza dagli strumenti di test e dalle applicazioni utilizzandolo.
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: Utilizzo delle 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.
Come scegliere il framework di automazione dei test più adatto
Non esiste un unico tipo che risulti sempre vincente. La scelta corretta dipende dalle competenze del team, dalle dimensioni dell'applicazione e dalla durata di validità della suite. La tabella seguente confronta i cinque tipi in base ai fattori che ne determinano l'esito.
| Tipo quadro | Sforzo di installazione | Code Riutilizzo | Costo di manutenzione | Adatto a |
|---|---|---|---|---|
| Scripting lineare | Molto basso | Molto basso | Molto alto | Manifestazioni e controlli del fumo una tantum |
| Libreria di prova Architectura | Medio | Medio | Medio | Applicazioni stabili con flussi di lavoro ripetitivi |
| Data-Driven | Medio | Medio | Basso | Moduli e calcoli che richiedono numerosi set di input |
| Basato su parole chiave | Alto | Molto alto | Basso | Ampie suite gestite da team tecnici misti. |
| IBRIDO | Alto | Molto alto | Basso | Programmi aziendali di lunga durata |
Rifletti su queste domande prima di prendere una decisione:
- Quanto durerà la suite? Anni di manutenzione giustificano l'elevato investimento iniziale di un design basato su parole chiave o ibrido. Un progetto di breve durata non lo giustifica.
- Chi elabora i test? Se i tester manuali contribuiscono con dei casi di studio, una tabella di parole chiave consente loro di lavorare senza dover imparare il linguaggio di scripting.
- Quanto è instabile l'interfaccia? I frequenti cambi di schermata rendono indispensabile un repository di oggetti separato, altrimenti ogni script necessita di essere modificato.
- Di quanta variabilità dei dati c'è bisogno? Molte combinazioni di input indicano chiaramente una progettazione basata sui dati.
- Quale strumento è già in uso? La struttura deve adattarsi a quella scelta strumento di automazione e una lingua che la squadra conosce, come ad esempio Selenium con Java or Cucumber.
La maggior parte dei team inizia con un approccio basato su una libreria o sui dati, per poi evolversi verso un modello ibrido man mano che regressione La suite si espande.
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
