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
