top 10 test automation strategies
Questo è l'ultimo articolo del serie di test automation . Questo articolo riassume le migliori pratiche e strategie per eseguire l'automazione dei test.
Sebbene i nostri articoli precedenti menzionino le migliori pratiche (e alcune di esse potrebbero essere ripetute qui), ho sentito fortemente di elencare le poche, ma le migliori pratiche di automazione più importanti qui in un articolo per riferimento .
Queste strategie sono prese dalla mia esperienza e dalla letteratura di guru dei test come Michael Bolton, James Bach e Cem Kaner. Queste pratiche dovrebbero essere seguite in ogni progetto di automazione.
Cosa imparerai:
- 10 migliori strategie e pratiche di automazione del test
- # 1. Assumi un ingegnere o un team dedicato all'automazione
- # 2. Uno strumento di automazione è importante, ma non è la soluzione a tutto
- # 3. Seleziona lo strumento di automazione che è familiare alle tue risorse
- # 4. Conoscere l'applicazione in fase di test
- # 5. Una buona automazione significa un buon caso di test manuale
- # 6. Identifica le opportunità con l'automazione
- # 7. Non puoi automatizzare tutto
- # 8. Evita l'automazione della GUI quando è presente un'alternativa
- # 9. Usa l'automazione anche per altri scopi utili
- # 10. L'automazione è lo sviluppo del software
- Conclusione
- Lettura consigliata
10 migliori strategie e pratiche di automazione del test
Eccoci qui..
# 1. Assumi un ingegnere o un team dedicato all'automazione
Questa è una cosa fondamentale da fare. Non chiedere ai tester manuali di dedicarsi all'automazione dei test. Se vuoi che eseguano l'automazione dei test, liberali dal lavoro di test manuale. L'automazione dei test è un lavoro a tempo pieno. Per questo, hai bisogno di risorse dedicate.
Consiglio di creare un team di automazione dei test composto da almeno un architetto dell'automazione. È possibile assumere più ingegneri dell'automazione per lavorare sotto la guida dell'architetto dell'automazione del test. Il numero di ingegneri dell'automazione dipende dal numero e dalle dimensioni dei tuoi prodotti.
utility per monitorare la temperatura della CPU e la velocità della ventola
# 2. Uno strumento di automazione è importante, ma non è la soluzione a tutto
Abbiamo parlato della selezione degli strumenti . Ma selezionare lo strumento giusto è solo l'inizio. Alcuni manager hanno l'idea sbagliata che se selezionano lo strumento giusto, possono facilmente automatizzare qualsiasi cosa. Attenzione, gli strumenti di automazione non ti danno tutto. Rendono il processo più semplice. Ma hai bisogno di risorse qualificate per completare il processo.
Spesso gli strumenti di automazione sono difettosi e si bloccano nell'identificazione di oggetti complessi nell'applicazione. Le risorse che assumi, se sono qualificate, escogitano una soluzione alternativa che porta avanti il processo. Altrimenti, se non assumi buone risorse, Tool da solo non può garantire un'automazione di successo.
# 3. Seleziona lo strumento di automazione che è familiare alle tue risorse
Se le tue risorse hanno familiarità con C # e la tua applicazione da testare è sviluppata anche in C #, non ha senso selezionare lo strumento che non offre C # per scrivere script.
L'apprendimento delle lingue è un processo che richiede tempo. Evita questa curva di apprendimento acquistando uno strumento che offre una curva di apprendimento minima.
# 4. Conoscere l'applicazione in fase di test
La selezione dello strumento dipende in larga misura dalle tecnologie utilizzate nel prodotto. Conosci il tuo prodotto a fondo prima di avviare l'automazione.
Se si tratta di un'applicazione web, conoscere i browser che supporterà. Conoscere le tecnologie in uso. Se è un'applicazione desktop, sappi su quale lingua è costruita. Quali controlli di terze parti vengono utilizzati nell'applicazione. Questo ti aiuterà a semplificare la selezione degli strumenti e l'automazione futura.
# 5. Una buona automazione significa un buon caso di test manuale
Casi di test manuali robusti e ben scritti salvaci dall'automazione di quei casi di test che sono facili da automatizzare ma deboli nel trovare i difetti.
Ecco la citazione dal libro Lessons Learned in Software Testing:
'L'automazione senza una buona progettazione del test può comportare molte attività, ma poco valore.'
È sempre consigliabile scrivere prima il test case in formato manuale. Identifica tutti i prerequisiti e i dati di test . Scrivi i passaggi in modo chiaro e scrivi i risultati attesi prima di ogni passaggio. L'obiettivo di un caso di test dovrebbe essere chiaro e dovrebbe essere meno dipendente dagli altri casi di test. Gli ingegneri dell'automazione dovrebbero eseguire questo test case manualmente almeno una volta per decidere chiaramente quali oggetti devono essere identificati e quale sarà il flusso di navigazione. Fai domande con tester manuali.
Questa attività a volte aiuta a identificare i bug anche prima che lo script di automazione venga scritto. Gli esperti dicono che la maggior parte dei bug viene identificata nella fase di sviluppo dell'automazione del test piuttosto che nella fase di esecuzione effettiva.
# 6. Identifica le opportunità con l'automazione
Se ti viene consegnato con un caso di test manuale da automatizzare , non automatizzare il test case così com'è. Invece, trova ulteriori opportunità nella tua automazione, per espandere l'ambito di questo caso di test.
riferimento indefinito alla funzione nel file di intestazione c ++
Per esempio, se il requisito del caso di test manuale è che devi accedere a una pagina web. Puoi espandere questo test case rendendolo basato sui dati. Elenca tutti i possibili scenari di accesso come password non valida, password vuota, nome utente non valido, e-mail non valida, nome utente vuoto, ricordami controllato, non controllato, ecc. Elenca i possibili scenari insieme al loro risultato previsto in un file excel e inserisci questo file excel come origine dati per lo scenario di test. Ora questo caso di test manuale, dopo essere stato automatizzato, può testare tutti i possibili scenari in una volta sola.
Cerca sempre opportunità che possono essere realizzate con l'automazione, ma difficili da fare manualmente. Come scenari di test di carico, benchmark delle prestazioni, stessi test in ambienti diversi con configurazioni diverse, perdite di memoria, test ad alta precisione, ecc. Questi sono tutti scenari difficili per i tester manuali.
# 7. Non puoi automatizzare tutto
Automazione significa eseguire meno test più spesso. Devi iniziare in piccolo attaccando prima i tuoi test del fumo. Quindi copri il tuo costruire test di accettazione . Quindi passa ai test eseguiti di frequente, quindi passa al tempo che impieghi a fare i test. Ma assicurati che ogni test che automatizzi, fa risparmiare tempo a un tester manuale per concentrarsi su cose più importanti.
L'automazione non è qui per sostituire i tester manuali. Né può. È qui per togliere il lavoro ripetuto dai tester manuali in modo che possano usare tutta la loro concentrazione e forza nella ricerca di nuovi scenari di test e bug. (Leggi il mio articolo Idee sbagliate sull'automazione dei test)
Automatizza alcuni test che lo sono prezioso e risparmio di tempo o difficile da fare per tester manuali. Se l'hai fatto, il compito dell'automazione è fatto.
# 8. Evita l'automazione della GUI quando è presente un'alternativa
L'automazione della GUI è sempre più difficile di altri tipi di test automatizzati. Quindi, se c'è una situazione in cui puoi raggiungere il tuo obiettivo non automatizzando la GUI, ma con altri metodi come gli input della riga di comando, la strategia migliore è evitare l'automazione della GUI.
Per esempio, vuoi testare l'installazione dell'applicazione. L'obiettivo è verificare se l'applicazione è installata o meno in un particolare ambiente. Un approccio consiste nell'avviare l'installazione e fare clic sul pulsante ' Il prossimo 'Più volte tramite lo strumento di automazione. Può essere complicato, richiedere molto tempo ed è soggetto a manutenzione se l'interfaccia utente cambia. L'altro approccio consiste nell'iniziare l'installazione dell'applicazione con un file batch che fornisce argomenti silenziosi. L'applicazione verrà installata silenziosamente senza mostrare alcuna GUI. L'obiettivo sarà raggiunto in minor tempo e in modo più affidabile.
# 9. Usa l'automazione anche per altri scopi utili
L'automazione è una cosa così fantastica. Puoi ottenere cose a cui normalmente non pensi. L'automazione non riguarda solo la programmazione di un test case manuale. Anziché, puoi utilizzare l'automazione per facilitare diverse operazioni nella tua organizzazione.
domande e risposte dell'intervista del tester qa
Per esempio, è possibile utilizzare l'automazione per creare dati master e configurare automaticamente le configurazioni per i tester manuali. In modo che possano iniziare i test il prima possibile.
Posso fare un esempio dalla mia azienda. Volevamo passare dal nostro strumento di gestione dei casi di test. Stavamo utilizzando 'Test Director' (ora HP ALM) e volevamo passare a TFS (Team Foundation Server). Abbiamo avuto circa 4000 casi di test manuali e bug in Test Director. Il trasferimento manuale su TFS potrebbe richiedere circa un mese. Quindi il mio manager mi ha chiesto di provare un po 'di automazione.
Ho scavato questi strumenti e ho scoperto che Test Director utilizza il server SQL come repository. Per TFS, ho scoperto uno strumento in grado di leggere casi di test e bug da un file excel, se sono scritti in un formato particolare, e inserirli in TFS. Il resto della storia è semplice. Ho scritto una query SQL per recuperare tutti i casi di test e i bug e li ho esportati in un file Excel nel formato specifico. Ho quindi utilizzato quello strumento che legge tutti i casi di test e i bug dal file excel e li ho inseriti in TFS. L'intero processo ha richiesto solo 3 ore. Il mio manager era molto contento. Spero che anche tu capisca il mio punto.
# 10. L'automazione è lo sviluppo del software
Se sviluppi software di qualità, sono necessarie le migliori pratiche. Ha bisogno di revisioni del codice per scrivere codice di qualità. Ha bisogno di una struttura o di un modello di progettazione da seguire. Necessita di una manutenzione costante.
L'automazione è fondamentalmente lo sviluppo di software. Quindi tutte le migliori pratiche che segui quando sviluppi software dovrebbero essere seguite nel fare automazione. Automation Framework dovrebbe essere presente. Le revisioni del codice dovrebbero essere fatte. I bug di automazione dovrebbero essere segnalati nel repository dei bug. Il codice sorgente dell'automazione dovrebbe essere posto sotto il controllo del codice sorgente, ecc. Più lo trattate come uno sviluppo software, più l'automazione avrà successo.
Conclusione
Questo riassume l'articolo e la serie di automazione dei test. Ho imparato molte cose mentre scrivevo questi tutorial e spero che anche tu impari leggendo. L'automazione dei test è una carriera interessante e gratificante. Farlo correttamente non è solo vantaggioso per te ma anche per l'organizzazione.
Ogni giorno, mentre lavoro sull'automazione dei test e sulle sue tecniche, trovo nuove e interessanti sfide da risolvere. Questa serie è stata un tentativo di evidenziare ciò che potrebbe accadere in un viaggio di automazione dei test. Spero di averlo consegnato bene e in modo semplice.
Come sempre, aspetto i vostri commenti e suggerimenti. Sentiti libero di scrivere il tuo feedback nella sezione commenti. Sarò felice di ricevere tue notizie e di aiutarti se necessario. Grazie per aver letto.
Tutorial PREV # 6
Lettura consigliata
- Sei un esperto di test manuali o di automazione? Lavora part time per noi!
- Sfide dei test manuali e di automazione
- Top 10+ migliori libri di test del software (manuali e libri di test di automazione)
- Sikuli GUI Automation Testing Tool - Guida per principianti Parte n. 2
- Guida passo passo per implementare il Proof of Concept (POC) nei test di automazione
- Processo di test di automazione in 10 passaggi: come avviare il test di automazione nella tua organizzazione
- Come decidere quale tipo di test è richiesto per un progetto? - Manuale o automazione
- Come eseguire il test manuale delle prestazioni?