how choose best automation testing tool
In questo tutorial, abbiamo coperto i criteri di selezione degli strumenti di automazione dei test e l'elenco di controllo con la matrice di confronto degli strumenti di automazione dei test per una facile consultazione.
La guida dalla A alla Z sulla selezione del miglior strumento di automazione per il tuo progetto:
Questo è il 4thtutorial nella nostra serie di tutorial sull'automazione del test. Si prega di controllare tutti gli articoli pubblicati in questa serie su questa pagina: => La guida definitiva per avviare i test di automazione sul tuo progetto
La selezione dello strumento di automazione del test è uno dei passaggi più importanti prima di avviare l'automazione in qualsiasi organizzazione.
È importante perché lo strumento influenzerà notevolmente l'intero sforzo di automazione. Se lo strumento è buono e fornisce le funzionalità richieste, l'automazione diventa più semplice ed efficace.
Ci sono molti criteri da considerare quando si seleziona lo strumento di automazione. Alcuni di loro li ho discussi in uno dei miei articoli precedenti. Qui ho elencato gli aspetti più importanti da considerare durante la selezione dello strumento di automazione del test.
Cosa imparerai:
- Il test automatizzato è una soluzione per te?
- Quando ha senso l'automazione del test?
- Come selezionare lo strumento di automazione per il tuo progetto?
- Criteri di valutazione dello strumento di automazione del test
- Criteri di selezione e lista di controllo dello strumento di automazione del test
- Domanda n. 1: qual è il budget della tua organizzazione per lo strumento di automazione?
- Domanda n. 2: qual è il prezzo effettivo dello strumento?
- Domanda n. 3: lo strumento supporta il sistema operativo / browser o il dispositivo in cui viene eseguita l'applicazione?
- Domanda n. 4: lo strumento supporta le tecnologie ei controlli di terze parti utilizzati nella tua applicazione?
- Domanda n. 5: quante lingue supporta lo strumento? Disponi di risorse qualificate per queste lingue?
- Domanda n. 6: lo strumento supporta la connessione a diverse origini dati?
- Domanda # 7: com'è il meccanismo di segnalazione dello strumento di automazione?
- Domanda n. 8: lo strumento può essere integrato con casi di test e repository di gestione dei bug?
- Domanda n. 9: come è il supporto tecnico ufficiale per lo strumento?
- Domanda # 10: alcuni aspetti tecnici da vedere
- Conclusione
- Lettura consigliata
Il test automatizzato è una soluzione per te?
Ho lavorato a molti progetti nella mia carriera. Quando lavori allo stesso progetto per più di un anno, inizi fortemente a sentire il bisogno di automatizzare alcune attività. Inizi a pensare di introdurre il test di automazione sul progetto se non è stato considerato fino ad ora dalla gestione del progetto.
Un anno è tempo sufficiente per chiunque per conoscere i dettagli di qualsiasi progetto. Una volta conosci le funzionalità del progetto in dettaglio, diventa più facile decidere quali attività ripetitive devono essere automatizzate.
Alcuni anche i tester si annoiano facendo le stesse attività ripetitive ancora e ancora e iniziano a sentire la necessità dell'automazione dei test.
Ciò significa che dovresti passare subito ai test di automazione?
Assolutamente no!
Ci sono molti criteri su cui devi lavorare prima di decidere se l'automazione è una soluzione per te .
Quando ha senso l'automazione del test?
- Quando ci sono molti test ripetitivi
- Quando sono presenti frequenti iterazioni di test di regressione
- Quando ne hai bisogno simulare un gran numero di utenti che utilizzano le risorse dell'applicazione
- Quando AUT ha un'interfaccia utente relativamente stabile
- Quando si dispone di un ampio set di custodie BVT
- Quando non puoi fare affidamento esclusivamente sull'esecuzione manuale dei test per funzionalità critiche
Ulteriore lettura:
- Quando dovresti optare per l'automazione?
- Suggerimenti da leggere prima di iniziare i test automatici
Una volta che sai che è il momento giusto per investire tempo e denaro in un buon strumento di automazione, puoi iniziare a cercare il miglior strumento di automazione che soddisfi le tue esigenze.
Come selezionare lo strumento di automazione per il tuo progetto?
Il successo dei test di automazione dipende in gran parte dalla selezione degli strumenti di test corretti. Ci vuole molto tempo per valutare gli strumenti di automazione rilevanti disponibili sul mercato. Ma questo è un esercizio una tantum che andrà a beneficio del tuo progetto a lungo termine.
Ci sono state poche situazioni in cui ho avuto la possibilità di rivedere e selezionare lo strumento di automazione per i miei progetti. Il compito era difficile in quanto dovevamo gestire le nostre esigenze di test e le restrizioni sui costi, ma è stata un'esperienza degna di nota.
Ecco i criteri da considerare prima di selezionare qualsiasi strumento di test:
Criteri di valutazione dello strumento di automazione del test
1) Hai le risorse qualificate necessarie da allocare per compiti di automazione?
Due) Qual è il tuo badget?
3) Lo strumento soddisfa le tue esigenze di test? È adatto all'ambiente di progetto e alla tecnologia che stai utilizzando? Supporta tutti gli strumenti e gli oggetti utilizzati nel codice? A volte potresti rimanere bloccato per piccoli test a causa dell'incapacità dello strumento di identificare gli oggetti utilizzati nell'applicazione.
Considero i tre fattori sopra indicati come i più importanti per la selezione di qualsiasi strumento.
4) Lo strumento ti fornisce la versione di prova gratuita in modo che tu possa valutarla prima di prendere una decisione? Inoltre, lo strumento ha tutte le funzionalità disponibili nella versione di prova?
5) La versione attuale dello strumento è stabile? La società del fornitore è stabilita con una buona assistenza clienti, risorse di aiuto in linea e manuale utente?
6) Com'è la curva di apprendimento dello strumento? Il tempo di apprendimento è accettabile per i tuoi obiettivi?
7) Vuoi uno strumento di automazione solo per le tue esigenze di progetto o stai cercando uno strumento comune per tutti i progetti nella tua azienda? Sarebbe una buona scelta se selezioni uno strumento che supporti la maggior parte dei linguaggi di codifica nei tuoi progetti.
i migliori sviluppatori di giochi per cui lavorare
8) Quali tipi di test supporta? Uno strumento che supporti il massimo dei tipi di test (unità, funzionale, regressione ecc.) È sempre una scelta migliore.avvertimento- Non scegliere uno strumento solo perché supporta tutti i tipi di test. È anche importante che lo strumento sia abbastanza potente da automatizzare i tuoi requisiti complessi.
9) Lo strumento supporta un'interfaccia semplice per creare e mantenere script di test? Uno strumento di registrazione e riproduzione con capacità di modificare gli script registrati potrebbe essere una buona soluzione.
10) Fornisce un'interfaccia semplice ma potenti funzionalità per eseguire attività complesse?
undici) Quanto è facile fornire dati di test di input per test complessi o di carico? Uno strumento che supporta l'immissione dei dati di test da vari file di dati come Excel, XML, file di testo ecc. Sarebbe un grande sollievo per l'automazione dei tester.
12) Fornisce il potente reporting con interfaccia grafica? Rapporti chiari e concisi ti aiuteranno sempre a concludere rapidamente i risultati del test.
13) Si integra bene con gli altri strumenti di test come la pianificazione del progetto e strumenti di gestione dei test ?
Potresti anche prendere in considerazione altri criteri come:
14) Politica di rimborso del fornitore dello strumento
quindici) Recensioni dei clienti esistenti per lo strumento
16) Il fornitore fornisce una formazione iniziale?
Suggerimenti: La raccolta dei requisiti è di gran lunga il passaggio più importante per selezionare lo strumento giusto. Assicurati di classificare i tuoi requisiti in categorie di funzionalità indispensabili, piacevoli da avere e non richieste. Questo ti aiuterà a valutare rapidamente lo strumento. Ricorda che non troverai uno strumento già disponibile sul mercato che supporterà tutte le tue esigenze di automazione!
I migliori strumenti di automazione :
HP QTP / UFT e selenio sono le due opzioni di test funzionali più popolari attualmente disponibili. QTP / UFT è il miglior strumento di test funzionale supportato su un'ampia gamma di linguaggi e piattaforme di codifica, mentre Selenium è il miglior strumento di test web funzionale open source.
Leggi questo articolo per l'elenco degli strumenti TOP:
I migliori 20 migliori strumenti di test di automazione nel 2020 (elenco completo)
Nel prossimo articolo, discuteremo sfide di test manuali e di automazione .
Criteri di selezione e lista di controllo dello strumento di automazione del test
10 domande da porre prima di scegliere il miglior strumento di test di automazione
Poni le seguenti domande ogni volta che ti trovi in una situazione per selezionare lo strumento di automazione per la tua organizzazione:
Domanda 1: Qual è il budget della tua organizzazione per lo strumento di automazione?
Questa è, a mio parere, la cosa più importante da considerare quando si seleziona lo strumento di automazione.
Perché cercare QTP / UFT e ricercarlo quando non puoi acquistare la licenza? Lo strumento QTP costa circa $ 8000 (circa). Se la tua organizzazione può acquistare la licenza e sei confermato, dovresti scaricare la versione di prova e creare un progetto di automazione pivot su di essa per testarne la funzionalità. Altrimenti, non dovresti perdere tempo a fare ricerche su di esso. (Sto parlando di questo scenario se desideri utilizzare QTP su un progetto live dell'azienda. Se lo stai scaricando solo per scopi di apprendimento, è OK scaricare la versione di prova.)
Domanda 2: Qual è il prezzo effettivo dello strumento?
Il prossimo è il prezzo dello strumento di automazione. Non c'è solo un prezzo di licenza, ma anche il prezzo dei componenti aggiuntivi (se necessario), la tariffa di supporto, la tariffa di formazione e la tariffa di aggiornamento.
Parliamo prima della licenza.
a) Tipi di licenza:
Esistono i seguenti tipi di licenze.
1) Licenza utente con nodo bloccato.
La licenza utente con blocco del nodo supporterà lo strumento di automazione del test da utilizzare su un singolo computer fisico nella rete aziendale. È possibile eseguire solo un'istanza dello strumento alla volta sul computer con licenza. Questa licenza è solitamente vincolata al nome host della macchina.
2) Concurrent Floating User License
Una licenza utente mobile può essere condivisa tra macchine diverse, ma può essere utilizzata solo da una macchina alla volta. Non è vincolato al nome della macchina o altro, invece, utilizza un gestore di licenze (installato su un server) per gestire la stessa licenza su macchine diverse.
Fondamentalmente, con la licenza Node-Locked, non hai la libertà di installare lo strumento su una macchina, disinstallarlo e quindi installarlo di nuovo su qualsiasi altra macchina. Ma con la licenza utente mobile, puoi farlo.
3) Licenza Run Time
I due tipi di licenze sopra menzionati vengono solitamente acquistati per 'sviluppare' gli script. Quindi queste sono licenze di 'sviluppo'. Per eseguire gli script su macchine diverse, è necessario disporre della licenza 'esecuzione' o 'Runtime' per ciascuna macchina.
Esempio:
Ad esempio, se un tester deve sviluppare ed eseguire casi di test sulla stessa macchina, è sufficiente una licenza di sviluppo.
Ma se ha bisogno di sviluppare su una macchina ed eseguire i casi di test su tre diverse macchine virtuali o fisiche, deve acquistare una licenza di 'sviluppo' e tre licenze di runtime.
Alcuni fornitori offrono licenze di runtime gratuite (come l'interfaccia utente codificata) e alcuni offrono un prezzo (come Test Complete, Ranorex ecc.). Quindi tutto dipende da venditore a venditore.
4) Licenza Open Source
È una scelta della tua azienda scegliere uno strumento commerciale e pagare un costo o uno strumento open source.
Gli strumenti commerciali sono costosi, ma offrono un ottimo supporto e sono facili da usare con molto materiale di formazione fornito. Gli strumenti commerciali sono generalmente 'uno strumento per tutte le esigenze'. Gli strumenti open source sono gratuiti ma generalmente più difficili da imparare. C'è poco supporto ufficiale, ma puoi trovare soluzioni visitando diversi forum. Le soluzioni open source sono normalmente per esigenze specifiche.
b) Spese di supporto, aggiornamento e formazione:
cos'è il test di integrazione con l'esempio
Per il supporto, la formazione e una tariffa di aggiornamento, potrebbe essere necessario chiamare il rappresentante dell'azienda. Alcune società offrono sconti speciali sull'acquisto all'ingrosso di licenze, quindi a volte queste informazioni non sono chiaramente menzionate sui siti web. Riceverai le informazioni solo tramite chiamata o e-mail.
Domanda 3: Lo strumento supporta il sistema operativo / browser o dispositivo in cui viene eseguita l'applicazione?
Questa domanda dipende normalmente dal tipo di applicazione che stai utilizzando.
a) Se basato su desktop:
Se stai lavorando su un'applicazione desktop, dovresti indicarlo su quanti sistemi operativi vuoi testare quell'applicazione. Stavo lavorando su un'applicazione basata su desktop e volevo testarla su Windows 7 e Windows 8.1. Quindi ho scelto l'interfaccia utente codificata perché supporta entrambi.
b) Se basato su browser
Se stai lavorando su un'applicazione web, dovresti indicarlo su quanti browser vuoi testare questa applicazione. Volevo eseguire i miei casi di test su FireFox, Chrome e IE. Ho scelto il selenio per la mia applicazione web perché supporta tutti questi browser. Assicurati che lo strumento scelto supporti sia le versioni precedenti che quelle più recenti dei browser richiesti.
c) Se basato su dispositivi mobili
Se stai lavorando su applicazioni mobili, dovresti sapere che su quali sistemi operativi mobili devi eseguire i tuoi casi di test. Se la tua applicazione funziona sia su Android che su IOS, il tuo strumento dovrebbe supportarlo. Selenium ha driver separati per eseguire script su Android, IOS, Windows Phone e BlackBerry. È inoltre possibile utilizzare uno strumento separato per ciascuno dei sistemi operativi mobili. C'è Robotium per Android, Appium per IOS e Android e CodedUI per le app per telefoni Windows.
Ancora una volta, questo arriva al dibattito tra open source e commerciale. Come puoi vedere ci sono open source separati strumenti per testare il web , basato su dispositivi mobili e applicazioni basate su desktop. Ma se scegli uno strumento commerciale come Test complete, Ranorex o Test Studio, possono testare tutti e tre i tipi (applicazioni mobili, desktop e basate su browser). Quindi, in caso di strumento commerciale, è necessario apprendere un solo strumento per testare applicazioni Web, desktop e mobili.
Domanda # 4: Lo strumento supporta le tecnologie ei controlli di terze parti utilizzati nella tua applicazione?
Questo è un aspetto molto importante durante la selezione dello strumento. Dovresti sapere in prima persona quali tecnologie vengono utilizzate nella tua applicazione. Consulta i tuoi sviluppatori e annotali. Se stanno usando HTML 5 o SilverLight nelle applicazioni web, attenzione, non ci sono molti strumenti di automazione per supportarli. Se lo strumento richiede il supporto per queste tecnologie, scarica la versione di prova dello strumento e prova a identificare diversi oggetti nella tua applicazione. Se lo strumento non riesce a identificarli, la loro affermazione è falsa. Quell'attività ti salverà dalla successiva miseria.
Matrice di confronto degli strumenti di automazione del test:
La tabella seguente mette a confronto diversi strumenti in relazione al loro prezzo di licenza e al loro supporto per diverse tecnologie. (Dovresti prendere questo grafico come una pratica di apprendimento su come creare confronti tra diversi strumenti, ma l'accuratezza dei dati forniti non è del 100%)
(Clicca sull'immagine per visualizzarla ingrandita)
Y = Supportato, N = Non supportato, U = Unknown
Domanda # 5: Quante lingue supporta lo strumento? Disponi di risorse qualificate per queste lingue?
L'apprendimento dello strumento è un aspetto. L'apprendimento della lingua è un altro aspetto. Se disponi di risorse che hanno esperienza in Java e il tuo strumento non supporta Java, il tempo per imparare il nuovo linguaggio verrà aggiunto al tuo sforzo di automazione.
Un altro aspetto è che se il tuo prodotto è costruito su Java, devi avere un team di sviluppatori esperti in Java. Questi sviluppatori possono anche aiutare il team di automazione in termini di problemi relativi alla lingua. Selezionare lo strumento che offre una lingua che abbia familiarità con le tue risorse è importante e ti aiuterà a ridurre al minimo la curva di apprendimento per le tue risorse.
Il Selenium WebDriver offre la scrittura di script in più linguaggi come C #, Java, Python, Ruby e in JavaScript. TestComplete offre anche la scrittura di script in più linguaggi di scripting come VBScript, JScript, DelphiScript, C ++ Script e C # Script.
Domanda # 6: Lo strumento supporta la connessione a diverse origini dati?
Se utilizziamo un framework di automazione come basato su parole chiave o basato sui dati, dobbiamo avere la capacità di connettere il nostro strumento a qualsiasi fonte di dati. Se lo strumento fornisce facilmente la connettività con diverse origini dati, sarà molto vantaggioso.
Consulta il supporto per origini dati comuni come file CSV, file Excel, file XML e database. Se questi sono presenti in uno strumento, sei a posto.
Domanda # 7: Com'è il meccanismo di reporting dello strumento di automazione?
Quando eseguiamo lo script, passerà o fallirà. In caso di passaggio, non sono necessarie molte informazioni tranne la durata e le informazioni sull'ambiente. Ma in caso di fallimento, abbiamo bisogno di un rapporto completo sul fallimento. Il report dovrebbe dirci che esattamente in quale passaggio lo script non riesce. Un'istantanea del momento del fallimento sarà un ulteriore vantaggio.
Inoltre, questo rapporto dovrebbe essere esportato in diversi formati in modo da poterlo condividere con le parti interessate. In molti strumenti, queste opzioni sono integrate e in alcuni strumenti ci sono modi per rendere il tuo report completo. Questa è un'altra cosa a cui prestare attenzione quando scarichi la versione di prova dello strumento. Se fornisce rapporti completi sugli errori, è meglio per l'organizzazione.
Domanda # 8: Lo strumento può essere integrato con casi di test e repository di gestione dei bug?
È probabile che la tua organizzazione stia già utilizzando un test case o strumento di gestione dei bug . Le aziende ovviamente vogliono che il loro strumento automatizzato sia integrato con il loro strumento di gestione dei casi di test esistente in modo che l'intero ciclo di vita dell'applicazione sia gestito correttamente. Questo aspetto dovrebbe essere visto anche durante la selezione dello strumento di automazione del test.
QTP supporta QLM, supporta l'interfaccia utente codificata TFS e TestComplete supporta QAComplete. Alcuni strumenti open source supportano anche l'integrazione con gli strumenti di gestione dei test open source esistenti. Tutto dipende da ciò che la tua organizzazione sta effettivamente utilizzando.
Domanda # 9: Com'è il supporto tecnico ufficiale per lo strumento?
Qui stiamo parlando solo di strumenti commerciali. Quando selezioni uno strumento commerciale, il loro aspetto di supporto è molto importante. Vedere il materiale di formazione fornito sul sito web. Il sito web contiene video e tutorial? Il sito web ha un forum ufficiale per porre domande? Scarica la versione di prova e scatta una domanda sul loro forum e guarda per quanti giorni riceve una risposta. Forniscono supporto per una chiamata?
Le domande di cui sopra dovrebbero essere poste ogni volta perché stai spendendo una buona quantità di denaro per lo strumento. Se lo strumento non ha un buon supporto, non preoccuparti di acquistarlo.
Domanda # 10: Alcuni aspetti tecnici da vedere
Ci sono anche altri aspetti tecnici da vedere come:
a) Supporto per la registrazione e la riproduzione
Non è un approccio consigliato nell'automazione dei test, ma è bene avere uno strumento. Semplifica il processo di apprendimento dello strumento e consente di automatizzare facilmente scenari facili.
migliore rimozione di malware per Windows 10
b) Diversi metodi di riconoscimento degli oggetti e supporto per la mappatura degli oggetti
Ci dovrebbe essere una varietà di selezione dello stesso oggetto con metodi diversi. Alcuni oggetti sono difficili da riconoscere. Quindi la varietà di metodi di selezione è sempre utile.Per esempio, il selenio supporta la selezione di oggetti tramite id, nome, classe, test di collegamento, XPATH , Selettore CSS e JavaScript. Ecco un tutorial su - come QTP identifica gli oggetti in modo univoco . Se un metodo di selezione non funziona, abbiamo una varietà di altri metodi tra cui scegliere, che sono sempre utili.
Allo stesso modo, dovrebbe esserci un'opzione per mappare correttamente questi oggetti nel repository degli oggetti. Questo repository dovrebbe essere facilmente aggiornabile e gestito. Solo per ricordarti che Selenium non ha il supporto integrato per la mappatura degli oggetti.
c) Diversi punti di controllo o supporto di asserzioni.
Il test case viene superato o fallito in base a checkpoint o affermazioni. Se lo strumento ha una varietà di metodi per controllare i risultati attesi, è vantaggioso. QTP ha una varietà di punti di controllo come Standard , Bitmap , tavolo , XML, database e punti di controllo del contenuto dei file.
d) Gestione degli scenari di ripristino.
Se il test case fallisce e si desidera continuare l'esecuzione, lo strumento lo supporta facilmente? Se gli scenari di ripristino sono facili da gestire in uno strumento, ti consentirà di eseguire casi di test senza alcun problema tecnico. È possibile eseguire i casi di test di notte e al mattino si ottengono i risultati che indicano quali casi di test non sono riusciti e quali sono stati superati. Ciò accadrà solo se il ripristino da casi di test falliti può essere facilmente gestito dallo strumento. In caso contrario, una buona quantità di sforzi di automazione verrà sprecata nella gestione degli scenari di ripristino. Vedere gestione degli scenari di ripristino in QTP .
Conclusione
Ricorda sempre che nessuno strumento è buono o cattivo. Tutto dipende dalle tue esigenze e dalla natura del prodotto.
Il selenio può essere lo strumento di automazione più popolare, ma se il tuo prodotto è basato su desktop, questo strumento non ha alcuna utilità per te. Comprendi prima il tuo prodotto e poi cerca lo strumento appropriato che corrisponde alle tue esigenze utilizzando le linee guida menzionate in questo tutorial.
La corretta selezione degli strumenti di automazione gioca un ruolo fondamentale per un'automazione di successo.
Prossimo tutorial - Il nostro prossimo tutorial di questa serie è sullo 'Sviluppo di script e framework di automazione con esempi'. Di nuovo, controlla tutti i tutorial di questa serie in questa pagina .
Sentiti libero di pubblicare le tue domande / commenti qui sotto sulla selezione dello strumento di automazione giusto.
Tutorial PREV n. 3 | PROSSIMO Tutorial n. 5
Lettura consigliata
- Sikuli GUI Automation Testing Tool - Guida per principianti Parte n. 2
- Alpha test e beta test (una guida completa)
- Tutorial Geb - Test dell'automazione del browser utilizzando lo strumento Geb
- Guida completa al test di verifica della costruzione (test BVT)
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test funzionale vs test non funzionale
- 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