7 factors affecting test estimation selenium automation project selenium tutorial 32
Nell'ultimo paio di tutorial sul selenio, abbiamo imparato test di automazione utilizzando lo strumento Cetriolo e Selenio . Abbiamo anche discusso del integrazione di Selenium WebDriver con Cucumber .
In questo tutorial, discuteremo di diversi fattori che influenzano la stima dello sforzo dell'automazione del selenio .
La pianificazione e la stima sono due aspetti più importanti del ciclo di vita di uno sviluppo software.
Personalmente ritengo che nel settore del software ci siano nessun metodo antiproiettile di fare qualsiasi cosa. Poiché ogni progetto è esclusivo e presenta diversi set di complessità e fattori ambientali, l'implementazione della strategia di stima e pianificazione dovrebbe essere uno sforzo collaborativo dei singoli team con interventi adeguati degli anziani e supporto gestionale.
Prima di iniziare con la stima di qualsiasi progetto, è imperiale comprendere ogni fase che attraverserà il tuo progetto, in modo da poter dare una stima corretta e giustificata.
software di recupero dati gratuito per windows 10
La stima non può essere eseguita solo per il processo di test manuale, ma in questa era di automazione, le tecniche di stima vengono applicate anche all'automazione del test. Ora il selenio sta guadagnando slancio e popolarità nel mercato, sto cercando di scrivere su alcuni fattori che dovrebbero essere presi in considerazione durante la stima di un progetto Selenium.
Iniziamo!!
Presumo che stiamo avviando l'iniziativa di automazione da zero e che non abbiamo a disposizione un framework già pronto.
Cosa imparerai:
- Fattori che influenzano la stima dell'automazione del selenio
- # 1 Scopo del progetto
- # 2 Complessità dell'applicazione
- # 3 Uso di strumenti / tecnologie di supporto
- # 4 Implementazione del Framework
- # 5 Apprendimento e formazione
- # 6 Configurazione dell'ambiente
- # 7 Codifica / scripting e revisione
- Conclusione:
- Lettura consigliata
Fattori che influenzano la stima dell'automazione del selenio
Di seguito sono spiegati i vari fattori che hanno effetto e che dovresti considerare per la stima del progetto specifico 'Selenium':
# 1 Scopo del progetto
Scope in genere significa identificare i casi di test corretti per l'automazione. Applicare la strategia 'Dividi e regola' per realizzarlo. Suddividi la tua applicazione in piccoli blocchi o moduli e analizza ciascuno di essi per trovare i casi di test appropriati per l'automazione.
I passaggi coinvolti sono:
- Identificare i vari fattori che formeranno la base per identificare i casi di test candidati.
- Suddividi l'applicazione in moduli più piccoli
- Analizza ogni modulo per identificare i casi di test candidati
- Calcola il ROI
Per maggiori dettagli su come identificare il caso di test corretto, consultare il mio documento precedente: Selezione dei casi di test corretti per l'automazione
# 2 Complessità dell'applicazione
I passaggi coinvolti qui sono:
- Determina la dimensione dell'applicazione in base al numero di casi di test che devono essere automatizzati.
- Complessità dimensionale attraverso le serie di Fibonacci.
- Identificare il punto di verifica e il punto di controllo di ogni caso di test
Qui dobbiamo stabilire la definizione di applicazione di grandi / medie e piccole dimensioni. Questa definizione differisce da una prospettiva individuale / di gruppo. Il modo in cui classifichi la tua applicazione, dipende può anche dipendere dal numero di casi di test.
Per esempio:
Se la tua applicazione ha 300-500 casi di test da automatizzare, puoi considerarla come un'applicazione di piccole dimensioni. Se i casi di test sono più di 1500, può essere classificato come complesso. Questo fattore può essere diverso a seconda dell'applicazione. Per alcuni, 1500 casi di test da automatizzare possono essere considerati a scala piccola / media. Quindi, una volta identificato il numero esatto di casi di test, ridimensionalo a piccolo / medio o grande. La tua strategia per stimare lo sforzo dipenderà enormemente da questi criteri.
Devi anche considerare i diversi punti di controllo e punti di verifica per il tuo caso di test. Uno scenario di test può avere più di 1 checkpoint
ma avrà solo 1 punto di verifica. Nel caso in cui si disponga di più di 1 punto di verifica, si consiglia di biforcare in casi di test separati. Ciò faciliterà anche la manutenzione e il miglioramento della suite di test.
# 3 Uso di strumenti / tecnologie di supporto
I passaggi coinvolti qui sono:
- Identifica il framework e le esigenze di automazione
- In base alle esigenze, analizzare e identificare gli strumenti da utilizzare.
- Identificare le dipendenze / implicazioni dell'utilizzo dello strumento.
Il selenio da solo non è sufficiente per costruire un framework o completare l'automazione. Selenium (driver Web) eseguirà solo lo script del test case, ma ci sono anche altre attività, come segnalare il risultato, tracciare i log, acquisire screenshot ecc.
Per ottenere questi risultati sono necessari strumenti separati che verranno integrati con il framework. Quindi è importante qui identificare queste entità di supporto che si adattano meglio alle tue esigenze e ti aiuteranno a ottenere un ROI positivo
# 4 Implementazione del Framework
Ecco che arriva la parte difficile J sono i passaggi coinvolti !!
- Identifica l'input (pattern in cui i dati vengono inseriti nello script) e l'output (report / risultati dei test) della tua suite di automazione.
- Progetta i tuoi file di input. Questo può variare da un semplice file di testo a un file Excel complesso. È fondamentalmente il file che conterrà i tuoi dati di prova.
- Progettare la struttura delle cartelle in base ai parametri di input e
- Implementa la funzionalità di reportistica (in alcuni file excel o utilizzando qualsiasi strumento come ReportNG)
- Determina / implementa il logger nel tuo framework
- Implementa lo strumento di compilazione nel tuo framework
- Implementare il framework di unit test (Junit o TestNG)
Ci sono molti altri requisiti oltre al semplice scripting nell'automazione dei test con Selenium, come leggere i dati da un file, riportare / tracciare i risultati del test, tracciare i log, attivare gli script in base alle condizioni di input e all'ambiente ecc. Quindi abbiamo bisogno di una struttura che si prenderà cura di tutti questi script. Questa struttura non è altro che il tuo Framework.
Le applicazioni web sono complesse per natura perché richiedono molti strumenti e tecnologie di supporto da implementare. In modo simile, anche l'implementazione del framework in Selenium è complicata (non dirò complessa) in quanto coinvolge altri strumenti da integrare. Poiché sappiamo che Selenium NON è uno strumento ma in realtà una raccolta / gruppo di file jar, è configurato e non 'installato', Selenium stesso non è abbastanza potente per costruire un framework complesso. Richiede un elenco di strumenti di terze parti per la creazione di un framework.
Dobbiamo ricordare qui che non c'è niente di “pronto” nel selenio. Per tutto, dobbiamo programmare, quindi le disposizioni nella stima dovrebbero essere lì per cercare su Google gli errori e risolvere i problemi.
Qui dobbiamo capire che la creazione del Framework è l'aspetto più importante del tuo sforzo di automazione. Se il tuo framework è solido come una roccia, la manutenzione e il miglioramento diventano più facili soprattutto nell'era dell'Agile, se il tuo framework è buono, puoi integrare facilmente i tuoi test in tutti gli sprint.
Non sbaglierò se dico che questo particolare fattore di progettazione del Framework dovrebbe essere l'aspetto più importante della stima. Se necessario (come in applicazioni complesse) questo fattore dovrebbe essere nuovamente suddiviso in una WBS separata e la stima dovrebbe essere eseguita.
# 5 Apprendimento e formazione
Imparare il selenio è un po 'diverso dall'apprendimento di qualsiasi altro strumento di automazione. Fondamentalmente implica l'apprendimento di un linguaggio di programmazione piuttosto che un linguaggio di scripting (sebbene il linguaggio di script aiuti durante la creazione di un framework come se si desidera scrivere uno script che richiamerebbe i propri script automatizzati dopo aver apportato le modifiche alle impostazioni dell'ambiente).
Nel caso in cui stiamo combinando WebDriver con java, direi che se uno è esperto con core java, sono in ottima forma per iniziare con l'automazione Selenium.
Insieme all'apprendimento di java, dovrebbero esserci disposizioni per apprendere altre tecnologie come ANT / Maven (per la creazione), TestNG / jUnit (framework di unit test), Log4J (per la registrazione), reportistica (per la creazione di report) ecc. il livello del framework. Più cresce questo elenco, più tempo ci vorrà.
Se la direzione ha deciso di utilizzare il selenio, queste attività di apprendimento possono essere svolte parallelamente all'attività di pianificazione. Poiché non ci sono limiti all'apprendimento di queste tecnologie, si suggerisce di avere un piano definito (programma) pronto per il team in modo che possano iniziare il loro processo di apprendimento in una direzione definita e tutti siano sulla stessa pagina.
In pratica, noi tester non abbiamo una grande passione per l'apprendimento di un linguaggio di programmazione completo e riteniamo che questo sia un gioco da ragazzi per gli sviluppatori. Ma ora dobbiamo cambiare questa mentalità e dovremmo considerare l'apprendimento del linguaggio di programmazione come altrettanto importante dell'apprendimento del nuovo processo di test. Ciò non solo aumenterà la conoscenza del tester sulla lingua e l'automazione, ma darà anche la possibilità di capire come funziona l'applicazione internamente, il che potrebbe aumentare il loro ambito di ricerca di nuovi bug.
# 6 Configurazione dell'ambiente
La creazione dell'ambiente si occupa di (non limitato a): -
- Configurazione del codice nell'ambiente di test
- Impostazione del codice nell'ambiente di produzione
- Scrittura di script per l'attivazione dei test automatici.
- Sviluppare la logica per il reporting
- Stabilire la frequenza di esecuzione degli script e sviluppare la logica per la sua implementazione
- Creazione di file di testo / excel per l'immissione dei dati di test e dei casi di test
- Creazione di file di proprietà per il monitoraggio degli ambienti e delle credenziali
# 7 Codifica / scripting e revisione
Prima di iniziare effettivamente a scrivere i test, ci sono 2 prerequisiti:
- I casi di test candidati dovrebbero essere utili
- Il framework è pronto
Identifica le diverse azioni eseguite dalla tua applicazione web. Possono essere semplici azioni come navigazione, clic, immissione di testo; o un'azione complessa come connettersi a un database, gestire flash o Ajax. Prendi un caso di test alla volta e identifica tutte le azioni che fa quel particolare caso di test e stima le ore di conseguenza per ogni caso di test. La somma di tutte le ore per l'intera suite di test ti darà il numero esatto.
Dovrebbe esserci anche una disposizione per la revisione. Le revisioni sono semplicemente la revisione del codice che può essere eseguita da un collega o da uno sviluppatore. La programmazione in coppia è l'opzione migliore che è veloce, ma se non è possibile, in base alle risorse disponibili o alla strategia di revisione dell'organizzazione, è necessario assegnare delle ore.
Maggiori dettagli su ciascun fattore che influenza la stima:
Fattore n. 1: ambito
Significato : Identificazione dei casi di test candidati per l'automazione attraverso il ROI
Passaggi coinvolti:
- Identificare i vari fattori che formeranno la base per identificare i casi di test candidati.
- Suddividi l'applicazione in moduli più piccoli
- Analizza ogni modulo per identificare i casi di test candidati
- Calcola il ROI
Consegnabile: Elenco dei casi di test che devono essere automatizzati.
Osservazioni: È importante congelare l'ambito una volta che si procede con altri passaggi di stima.
Fattore n. 2: complessità
Significato: Stabilire la definizione di applicazione semplice e di piccole dimensioni.
Passaggi coinvolti:
- Dimensionare l'applicazione in base al numero di casi di test che devono essere automatizzati.
- Complessità dimensionale attraverso le serie di Fibonacci.
- Identificare il punto di verifica e il punto di controllo di ogni caso di test.
Consegnabile: Dimensioni dell'applicazione: piccola, media o grande.
Una serie di casi di test e il corrispondente punto di controllo e punto di verifica.
Osservazioni : Consigliato: uno scenario di test può avere più punti di controllo ma solo 1 punto di verifica. Se un test case ha più di 1 punto di verifica, dovrebbe essere biforcato in un test case separato.
Fattore n. 3: strumenti di supporto
Significato: Il selenio stesso non è abbastanza forte per costruire una struttura complessa. Richiede un elenco di strumenti di framework per la creazione di un framework.
Passaggi coinvolti:
- IDE finalizzato
- Strumento di unit test finalizzato
- Registratore finalizzato
- Strumento di reporting finalizzato
- Strumento di compilazione finalizzato
Consegnabile: Elenco degli strumenti necessari per creare il framework.
Osservazioni:
Esempi:
- Eclipse / RAD - come IDE
- Ant / Maven - Come strumento di compilazione
- jUnit / TestNG - come framework di unit test
- Log4j - come Logger
- ReportiNG - come strumento di reporting
- File di testo: per monitorare gli ambienti / le credenziali
- File Excel: per tenere traccia dei dati del test
- Perl / Python - per configurare un ambiente e attivare gli script di test.
Fattore n. 4: implementazione del framework
Significato: Creazione della struttura
Passaggi coinvolti:
- Progetta i tuoi file di input.
- Progetta la struttura delle cartelle
- Determina / implementa il logger nel tuo frame work
- Implementa lo strumento di compilazione nel tuo framework
- Implementare il framework di unit test
Consegnabile:
- Framework e struttura di cartelle creati nell'IDE.
- Fogli Excel contenenti i dati di input
- File delle proprietà contenenti dati e credenziali relativi all'ambiente.
Osservazioni: Questo è il passaggio più cruciale. Si consiglia di includere un po 'di tempo di buffer durante la stima perché un po' di tempo per la risoluzione dei problemi richiede più tempo del previsto.
Fattore n. 5: impostazione dell'ambiente
come aprire i file .jar windows 10
Significato: Si occupa della configurazione del codice e del download / preparazione per la distribuzione del codice
Passaggi coinvolti:
- Preparare il file di input e il report
- Crea lo script di attivazione
Consegnabile: Pronto per l'ambiente
Osservazioni: Dovremmo provare a costruire il nostro framework in modo tale che con il minimo sforzo, il nostro codice venga distribuito in detto ambiente / box.
Non dovrei sbagliarmi se dico che con voci minime nei nostri file di testo (che hanno l'URL e le credenziali) il nostro codice dovrebbe essere pronto per essere eseguito e ROCK!
Fattore n. 6: apprendimento e formazione
Significato: Imparare un linguaggio di programmazione e altre tecnologie di supporto
Passaggi coinvolti: Prepara un piano secondo le tue esigenze di automazione e condividilo con il team e incoraggiali a imparare e procedere come da programma.
Consegnabile: Piano di allenamento e relativo tracker che seguiranno i progressi della squadra.
Osservazioni: L'enfasi dovrebbe essere sulla costruzione di logiche piuttosto che sull'apprendimento della sintassi.
Fattore n. 7: codifica / scripting e revisione
Significato: Scrivere gli script di test effettivi e rivederli
Passaggi coinvolti:
- I casi di test e il framework sono pronti.
- Prendi / dividi i casi di test e convertili in script automatici e monitora i tuoi progressi
Consegnabile: Script di test automatizzati
Osservazioni: il L'intero team dovrebbe partecipare alla scrittura degli script di test utilizzando il framework implementato. Quindi, durante la stima, è necessario prendere in considerazione gli sforzi dell'intero team.
Conclusione :
Detto questo su tutti questi punti, non dimenticare di includere il sovraccarico di gestione e un po 'di tempo di buffer nella stima finale dell'automazione Selenium. Il modo migliore e collaudato per eseguire qualsiasi stima è seguire il meccanismo WBS (Work Break down Structure). Questo è semplice e serve allo scopo di implementare le esigenze di stima dell'automazione.
I fattori sopra menzionati sono quelli basati sulla mia esperienza, ma possono esserci anche altre entità che potrebbero influenzare la strategia.
La regola del pollice qui è “Identifica determinati criteri, dividi i tuoi moduli o il test case su quei criteri; e scalalo ”. Sulla base della tua cifra in scala, puoi arrivare a una stima accurata.
Prossimo tutorial # 33 : Concluderemo il nostro serie di tutorial gratuiti di formazione online Selenium più completa con l'ultimo tutorial, ovvero ' Selenio che prova le domande dell'intervista con le risposte '.
Facci sapere se hai altri suggerimenti per la stima dello sforzo dei progetti Selenium.
Lettura consigliata
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Scripting efficiente del selenio e scenari di risoluzione dei problemi - Tutorial sul selenio n. 27
- Debug degli script di selenio con i registri (tutorial di Log4j) - Esercitazione di selenio # 26
- 30+ Migliori tutorial sul selenio: impara il selenio con esempi reali
- Esercitazione sul selenio di cetriolo: integrazione con WebDriver di selenio Java di cetriolo
- Come individuare gli elementi nei browser Chrome e IE per la creazione di script di selenio - Tutorial sul selenio n. 7
- I framework di automazione dei test più popolari con vantaggi e svantaggi di ciascuno - Selenium Tutorial # 20
- Implementazione del nostro primo script WebDriver - Selenium WebDriver Tutorial # 10