qtp frameworks test automation frameworks keyword driven
=> Fare clic qui per la serie di tutorial di formazione QTP
domande e risposte dell'intervista di programmazione Java per le matricole
Cos'è Test Automation Framework e cos'è QTP Framework?
Nel contesto di un'implementazione di successo di QTP per un progetto di test del software ci imbattiamo spesso nel concetto di framework. Il framework non è altro che l'approccio che seguiamo costantemente durante il processo di automazione: una serie di linee guida.
Personalmente, non mi piace fare nomi e dire che uno funziona meglio dell'altro. La selezione di un determinato quadro non è l'inizio di un progetto. È vero il contrario. Nel processo di ideazione di una strategia di test, costruisci le regole che sono applicabili alla situazione attuale del tester e che proprio lì è il tuo framework.
Detto questo, i seguenti sono alcuni dei punti importanti che dobbiamo considerare:
- Riusabilità
- Facile manutenzione dello script
- Leggibilità degli script
- Buona struttura di cartelle praticabile per tutte le risorse di prova
- Nessun valore di hard coding
- Nessuna cascata di guasti. (cioè se un test fallisce, non dovrebbe causare il fallimento o l'arresto degli altri)
Questo è l'elenco di base e altro può essere aggiunto in base al requisito.
Qualsiasi strategia di test che cerchi di incorporare alcuni o tutti questi punti di cui sopra è il tuo Test Automation Framework.
Esistono vari nomi e tipi di framework. Di seguito è riportato l'elenco dei framework secondo me:
Cosa imparerai:
- Tipi di framework di automazione: (si applica a QTP Framework)
- Quadro lineare
- Framework basato sulle parole chiave
- Lettura consigliata
Tipi di framework di automazione: (si applica a QTP Framework)
- Lineare - La forma più semplice per creare un test. Basta scrivere un singolo programma senza modularità in passaggi sequenziali
- Basato sulle parole chiave - Crea diverse parole chiave per un diverso insieme di operazioni e nello script principale possiamo semplicemente fare riferimento a queste parole chiave.
- Basato sui dati - Per eseguire lo stesso set di operazioni su più set di dati conservati in file separati, principalmente fogli Excel.
- Ibrido - Un framework combinato che può essere in parte basato sui dati e in parte basato su parole chiave
- BPT - Ciò significa semplicemente che i programmi sono suddivisi in componenti aziendali e vengono utilizzati con l'uno o l'altro dei tipi di framework di cui sopra
Quadro lineare
Come discusso, questo approccio implica semplicemente la scrittura del codice mentre registriamo e procediamo.
Per esempio, se l'operazione che devi verificare è la creazione di un nuovo account in Gmail i seguenti saranno i passaggi:
- Apri gmail.com
- Fare clic su 'Crea account'
- Inserisci i dettagli
- Verifica i dettagli
- Crea l'account
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Quanto sopra è un esempio di come appare un programma che utilizza il metodo lineare. È ovvio a questo punto quali sono i vantaggi e gli svantaggi di questo metodo.
Vantaggi:
- Semplicità. Per il programmatore principiante, questo metodo è adatto
- Tempo: non è necessario molto tempo per creare il test
- È richiesta pochissima pianificazione
Svantaggi:
- Nessuna riusabilità
- Se è presente un altro script che verifica un determinato aspetto della pagina 'Account Google', dovrai riscrivere il codice per avviare anche la pagina gmail.com. Quindi molte ripetizioni.
- Tutti i dati sono direttamente incorporati nel codice. L'hardcoding non consente l'utilizzo del codice per nessun altro insieme di dati.
- È soggetto a errori e la manutenzione è difficile
Sebbene i contro superino i pro, questo metodo può essere utilizzato quando il tuo obiettivo è rigoroso per eseguire un'attività senza convalide.
I componenti degli asset di test in questo tipo di framework sono:
- Script di test
- Repository di oggetti (questo può essere evitato utilizzando la programmazione descrittiva se necessario)
Framework basato sulle parole chiave
Come possiamo migliorare il test del framework lineare di cui sopra? Come possiamo superare i contro?
ruolo di analista aziendale in agile scrum
Ovviamente, abbiamo bisogno di riusabilità, modularità e leggibilità. Cercare di incorporare queste caratteristiche e arrivare a una soluzione ottimale non è altro che un tentativo di creare un nuovo framework più migliorato.
Quali sono i componenti riutilizzabili?
- Lancio di Gmail e arrivo alla pagina 'Google Account'. Questo è un dato di fatto, poiché convalidare questa pagina significa prima arrivare qui. 'GoTo Google Account' - può essere trasformato in una funzione separata che può essere richiamata più e più volte.
- Immettere i dettagli e convalidarli: è possibile suddividerlo ulteriormente in blocchi positivi e negativi per includere un maggiore livello di modularità
- Creazione dell'account: il livello finale di convalida e completamento dell'attività in questione
Una volta arrivato qui, non solo hai identificato i componenti che possono essere richiamati più e più volte, ma hai anche suddiviso il tuo programma lineare in moduli.
Funzioni:
Finora nella nostra serie, non abbiamo trattato le funzioni. Le funzioni non sono altro che un pezzo di codice che esegue determinate operazioni. Accetta parametri di input dal programma che lo chiama e gli restituisce valore.
Come pratica generale, tutte le parti di codice riutilizzabili sono raggruppate in un file che contiene tutte le funzioni riutilizzabili. Questo file è associato a una risorsa al tuo test QTP. Tipicamente una libreria di funzioni può essere un file del tipo: .vbs, .txt o .qfl
Torniamo al nostro esempio- Ecco come può essere il file della libreria delle funzioni:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Ora il tuo script effettivo sarà:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Dal programma di cui sopra, è ora chiaro che abbiamo raggiunto leggibilità, modularità e se nel caso un altro programma volesse utilizzare la funzione di login, possiamo sicuramente riutilizzarla. Tutto quello che devi fare è associare la libreria di funzioni anche a quel nuovo test e sei a posto.
Puoi anche vedere che nel tuo script i nomi delle funzioni funzionano come se lo fossero VBScript's parole chiave e da qui il nome di questo framework.
I componenti degli asset di test in questo tipo di framework sono:
- Script di test
- OR condiviso
- Libreria di funzioni condivise
Ora, cos'altro renderebbe questo programma ancora migliore? Se potessimo fare in modo che la funzione EnterDetails () prenda diversi set di dati e crei account diversi e non ci limitiamo ai dati che abbiamo codificato nel programma. Questo è esattamente il passo successivo. I dati che guidano i tuoi test e l'approccio con cui lo facciamo sono il framework basato sui dati.
Noi discuteremo Framework basati sui dati e ibridi in dettaglio nel prossimo tutorial.
=> Visita qui per la serie di tutorial di formazione QTP
app per convertire youtube in mp3
Se riscontri problemi relativi al framework QTP che non sono trattati in questi articoli, faccelo sapere. Cercheremo sicuramente di rispondere alle tue domande.
Lettura consigliata
- I framework di automazione dei test più popolari con vantaggi e svantaggi di ciascuno - Selenium Tutorial # 20
- Test Automation - È una carriera specializzata? I normali tester possono eseguire anche l'automazione?
- Perché abbiamo bisogno di un framework per l'automazione dei test?
- Tutorial QTP n. 18 - Framework basati sui dati e ibridi spiegati con esempi QTP
- In che modo differisce la pianificazione dei test per i progetti manuali e di automazione?
- Come funziona il test basato sui dati (esempi di QTP e selenio)
- Come scegliere il miglior strumento di test di automazione (una guida completa)
- Data Driven Framework in Selenium WebDriver utilizzando Apache POI