Tutorial sui test di automazione: che cos'è il test automatizzato?

Sommario:

Anonim

Che cos'è il test di automazione?

Test di automazione o Test di automazione è una tecnica di test del software che viene eseguita utilizzando speciali strumenti software di test automatizzati per eseguire una suite di casi di test. Al contrario, il test manuale viene eseguito da un essere umano seduto di fronte a un computer che esegue attentamente le fasi del test.

Il software di test dell'automazione può anche inserire i dati di test nel sistema sottoposto a test, confrontare i risultati previsti ed effettivi e generare rapporti di test dettagliati. Software Test Automation richiede notevoli investimenti di denaro e risorse.

I cicli di sviluppo successivi richiederanno l'esecuzione ripetuta della stessa suite di test. Utilizzando uno strumento di automazione dei test, è possibile registrare questa suite di test e riprodurla secondo necessità. Una volta automatizzata la suite di test, non è richiesto alcun intervento umano. Questo ha migliorato il ROI di Test Automation. L'obiettivo dell'automazione è ridurre il numero di casi di test da eseguire manualmente e non eliminare del tutto il test manuale.

Fare clic qui se il video non è accessibile

In questo tutorial di test del software automatizzato, imparerai le basi dell'automazione del test come:

  • Che cos'è il test di automazione?
  • Perché test automatizzati?
  • Quali casi di test automatizzare?
  • Processo di test automatizzato
  • Selezione dello strumento di test
  • Definisci l'ambito dell'automazione
  • Pianificazione, progettazione e sviluppo
  • Esecuzione del test
  • Framework per l'automazione
  • Best practice per lo strumento di automazione
  • Vantaggi dei test di automazione
  • Tipi di test automatizzati
  • Come scegliere uno strumento di automazione?
  • Strumenti di test di automazione

Perché l'automazione del test?

Perché l'automazione del test?

Test Automation è il modo migliore per aumentare l'efficacia, la copertura dei test e la velocità di esecuzione nei test del software. Il test automatico del software è importante per i seguenti motivi:

  • Il test manuale di tutti i flussi di lavoro, tutti i campi, tutti gli scenari negativi richiede tempo e denaro
  • È difficile testare manualmente i siti multilingue
  • L'automazione del test nei test del software non richiede l'intervento umano. Puoi eseguire test automatizzati senza supervisione (durante la notte)
  • Test Automation aumenta la velocità di esecuzione dei test
  • L'automazione aiuta ad aumentare la copertura dei test
  • Il test manuale può diventare noioso e quindi soggetto a errori.

Quali casi di test automatizzare?

I casi di test da automatizzare possono essere selezionati utilizzando il seguente criterio per aumentare il ROI dell'automazione

  • Alto rischio: casi di test critici per l'azienda
  • Casi di test che vengono eseguiti ripetutamente
  • Casi di test molto noiosi o difficili da eseguire manualmente
  • Casi di test che richiedono molto tempo

La seguente categoria di casi di test non è adatta per l'automazione:

  • Casi di test di nuova concezione e non eseguiti manualmente almeno una volta
  • Casi di test per i quali i requisiti cambiano frequentemente
  • Casi di test eseguiti ad hoc.

Processo di test automatizzato:

I seguenti passaggi sono seguiti in un processo di automazione

Passaggio 1) Selezione dello strumento di prova

Passaggio 2) Definire l'ambito dell'automazione

Fase 3) Pianificazione, progettazione e sviluppo

Passaggio 4) Esecuzione del test

Passaggio 5) Manutenzione

Processo di automazione del test

Selezione dello strumento di test

La selezione dello strumento di test dipende in gran parte dalla tecnologia su cui si basa l'applicazione sottoposta a test. Ad esempio, QTP non supporta Informatica. Quindi QTP non può essere utilizzato per testare le applicazioni Informatica. È una buona idea condurre una prova di concetto di strumento su AUT.

Definisci l'ambito dell'automazione

Lo scopo dell'automazione è l'area della tua applicazione sotto test che sarà automatizzata. I seguenti punti aiutano a determinare l'ambito:

  • Le caratteristiche importanti per l'azienda
  • Scenari con una grande quantità di dati
  • Funzionalità comuni tra le applicazioni
  • Fattibilità tecnica
  • La misura in cui i componenti aziendali vengono riutilizzati
  • La complessità dei casi di test
  • Possibilità di utilizzare gli stessi casi di test per i test cross-browser

Pianificazione, progettazione e sviluppo

Durante questa fase, crei una strategia e un piano di automazione, che contiene i seguenti dettagli:

  • Strumenti di automazione selezionati
  • Progettazione del framework e sue caratteristiche
  • Elementi di automazione in ambito e fuori ambito
  • Preparazione banco prova automazione
  • Pianificazione e sequenza temporale di scripting ed esecuzione
  • Deliverables di test di automazione

Esecuzione del test

Gli script di automazione vengono eseguiti durante questa fase. Gli script necessitano di dati di test di input prima di essere impostati per l'esecuzione. Una volta eseguiti, forniscono rapporti di prova dettagliati.

L'esecuzione può essere eseguita utilizzando lo strumento di automazione direttamente o tramite lo strumento Gestione test che richiamerà lo strumento di automazione.

Esempio: il centro qualità è lo strumento di gestione dei test che a sua volta richiamerà QTP per l'esecuzione di script di automazione. Gli script possono essere eseguiti in una singola macchina o in un gruppo di macchine. L'esecuzione può essere eseguita durante la notte, per risparmiare tempo.

Approccio alla manutenzione dell'automazione del test

L'approccio alla manutenzione dell'automazione del test è una fase di test dell'automazione eseguita per verificare se le nuove funzionalità aggiunte al software funzionano correttamente o meno. La manutenzione nei test di automazione viene eseguita quando vengono aggiunti nuovi script di automazione e devono essere rivisti e mantenuti al fine di migliorare l'efficacia degli script di automazione con ogni ciclo di rilascio successivo.

Framework per l'automazione

Un framework è un insieme di linee guida per l'automazione che aiutano in

  • Mantenere la coerenza dei test
  • Migliora la strutturazione del test
  • Utilizzo minimo del codice
  • Meno manutenzione del codice
  • Migliora la riutilizzabilità
  • I tester non tecnici possono essere coinvolti nel codice
  • Il periodo di formazione per l'utilizzo dello strumento può essere ridotto
  • Coinvolge i dati laddove appropriato

Esistono quattro tipi di framework utilizzati nei test del software di automazione:

  1. Framework di automazione basata sui dati
  2. Framework di automazione basata su parole chiave
  3. Framework di automazione modulare
  4. Framework di automazione ibrida

Best practice per lo strumento di automazione

Per ottenere il massimo ROI dell'automazione, osservare quanto segue

  • Lo scopo dell'automazione deve essere determinato in dettaglio prima dell'inizio del progetto. Questo definisce le aspettative giuste dall'automazione.
  • Seleziona lo strumento di automazione giusto: uno strumento non deve essere selezionato in base alla sua popolarità, ma è adatto ai requisiti di automazione.
  • Scegli un framework appropriato
  • Standard di scripting: gli standard devono essere seguiti durante la scrittura degli script per l'automazione. Alcuni di loro sono-
    • Crea script, commenti e rientri uniformi del codice
    • Adeguata gestione delle eccezioni: come viene gestito l'errore in caso di errore di sistema o comportamento imprevisto dell'applicazione.
    • I messaggi definiti dall'utente devono essere codificati o standardizzati per la registrazione degli errori affinché i tester possano comprenderli.
  • Misurare le metriche: il successo dell'automazione non può essere determinato confrontando lo sforzo manuale con lo sforzo di automazione, ma acquisendo anche le seguenti metriche.
    • Percentuale di difetti rilevati
    • Il tempo richiesto per i test di automazione per ogni ciclo di rilascio
    • Tempo minimo per il rilascio
    • Indice di soddisfazione del cliente
    • Miglioramento della produttività

Le linee guida di cui sopra, se osservate, possono essere di grande aiuto per il successo della tua automazione.

Vantaggi dei test di automazione

Vantaggi dei test di automazione

Di seguito sono riportati i vantaggi di Test Automation:

  • 70% più veloce rispetto al test manuale
  • Copertura di test più ampia delle funzionalità dell'applicazione
  • Affidabile nei risultati
  • Garantire la coerenza
  • Risparmia tempo e costi
  • Migliora la precisione
  • L'intervento umano non è richiesto durante l'esecuzione
  • Aumenta l'efficienza
  • Migliore velocità nell'esecuzione dei test
  • Script di test riutilizzabili
  • Testare frequentemente e accuratamente
  • Più ciclo di esecuzione può essere ottenuto tramite l'automazione
  • Early time to market

Tipi di test automatizzati

  • Test del fumo
  • Test unitario
  • Test d'integrazione
  • Test funzionali
  • Test delle parole chiave
  • Test di regressione
  • Test basato sui dati
  • Test della scatola nera

Come scegliere uno strumento di automazione?

Selezionare lo strumento giusto può essere un compito complicato. I seguenti criteri ti aiuteranno a selezionare lo strumento migliore per le tue esigenze:

  • Supporto ambientale
  • Facilità di utilizzo
  • Test del database
  • Identificazione di oggetti
  • Test delle immagini
  • Test di recupero dagli errori
  • Mappatura degli oggetti
  • Linguaggio di scripting utilizzato
  • Supporto per vari tipi di test, inclusi funzionali, gestione dei test, dispositivi mobili, ecc ...
  • Supporto per più framework di test
  • Facile eseguire il debug degli script del software di automazione
  • Capacità di riconoscere oggetti in qualsiasi ambiente
  • Rapporti di prova e risultati estesi
  • Riduci al minimo i costi di formazione degli strumenti selezionati

La selezione degli strumenti è una delle maggiori sfide da affrontare prima di passare all'automazione. Innanzitutto, identifica i requisiti, esplora i vari strumenti e le sue capacità, imposta le aspettative dallo strumento e scegli una prova di concetto.

Strumenti di test di automazione

Ci sono tonnellate di strumenti per test funzionali e di regressione disponibili sul mercato. Ecco i migliori strumenti di automazione dei test certificati dai nostri esperti

  1. Ranorex Studio

Ranorex Studio è uno strumento all-in-one per automatizzare i test funzionali dell'interfaccia utente, i test di regressione, i test basati sui dati e molto altro ancora. Ranorex Studio include un'interfaccia click-and-go facile da usare per automatizzare i test per applicazioni web, desktop e mobili.

Caratteristiche:

  • Interfaccia utente funzionale e test end-to-end su desktop, Web e dispositivi mobili
  • Test su più browser
  • SAP, ERP, Delphi e applicazioni legacy.
  • iOS e Android
  • Esegui test in locale o in remoto, in parallelo o distribuiscili su una griglia di selenio
  • Reporting affidabile

Per saperne di più


  1. Testim

Testim è il percorso più veloce per test end-to-end resilienti senza codice, codificati o entrambi. Testim ti consente di creare test senza codice incredibilmente stabili che sfruttano la nostra intelligenza artificiale, ma anche la flessibilità di esportare i test come codice. Clienti come Microsoft, NetApp, Wix e JFrog eseguono milioni di test su Testim ogni mese

Caratteristiche

  • Puoi sfruttare la moderna API JavaScript di Testim e il tuo IDE per eseguire il debug, personalizzare o eseguire il refactoring dei test.
  • Memorizza i test nel tuo sistema di controllo della versione per mantenerli sincronizzati con i rami ed eseguire test su ogni commit.
  • Integrazione con strumenti popolari

Per saperne di più


  1. Selenio

È uno strumento di test del software utilizzato per i test di regressione. È uno strumento di test open source che fornisce funzionalità di riproduzione e registrazione per il test di regressione. L'IDE Selenium supporta solo il browser web Mozilla Firefox.

  • Fornisce la possibilità di esportare script registrati in altri linguaggi come Java, Ruby, RSpec, Python, C #, ecc.
  • Può essere utilizzato con framework come JUnit e TestNG
  • Può eseguire più test contemporaneamente
  • Completamento automatico per i comandi Selenium comuni
  • Test dettagliati
  • Identifica l'elemento utilizzando id, nome, percorso X, ecc.
  • Memorizza i test come Ruby Script, HTML e qualsiasi altro formato
  • Fornisce un'opzione per affermare il titolo per ogni pagina
  • Supporta il file selenio user-extensions.js
  • Permette di inserire commenti al centro dello script per una migliore comprensione e debugging

Scarica Selenium


  1. QTP (MicroFocus UFT)

QTP è ampiamente utilizzato per i test funzionali e di regressione, si rivolge a tutte le principali applicazioni software e ambienti. Per semplificare la creazione e la manutenzione dei test, utilizza il concetto di test guidato da parole chiave. Consente al tester di creare casi di test direttamente dall'applicazione.

  • È più facile da usare per una persona non tecnica per adattarsi e creare casi di test funzionanti
  • Corregge i difetti più velocemente documentando e replicando accuratamente i difetti per lo sviluppatore
  • Comprimere la creazione di test e la documentazione di test in un unico sito
  • La parametrizzazione è facile di WinRunner
  • QTP supporta l'ambiente di sviluppo .NET
  • Ha un migliore meccanismo di identificazione degli oggetti
  • Può migliorare gli script QTP esistenti senza che "Applicazione in prova" sia disponibile, utilizzando la schermata attiva

Scarica QTP


  1. Tester funzionale razionale

È uno strumento di test funzionale automatizzato orientato agli oggetti in grado di eseguire test funzionali automatizzati, di regressione, basati sui dati e test GUI. Le caratteristiche principali di questo strumento sono

  • Supporta un'ampia gamma di protocolli e applicazioni come Java, HTML, NET, Windows, SAP, Visual Basic, ecc.
  • Può registrare e riprodurre le azioni su richiesta
  • Si integra bene con gli strumenti di gestione del controllo del codice sorgente come l'integrazione di Rational Clear Case e Rational Team Concert
  • Consente agli sviluppatori di creare script associati a parole chiave in modo che possano essere riutilizzati
  • L'editor di Eclipse Java Developer Toolkit consente al team di codificare gli script di test in Java con Eclipse
  • Supporta controlli personalizzati tramite proxy SDK (Java / .Net)
  • Supporta il controllo della versione per consentire lo sviluppo parallelo di script di test e l'utilizzo simultaneo da parte di team distribuiti geograficamente

Scarica Rational Functional Tester


  1. Watir

È un software di test open source per test di regressione. Ti consente di scrivere test di facile lettura e manutenzione. Watir supporta solo Internet Explorer su Windows mentre il webdriver Watir supporta Chrome, Firefox, IE, Opera, ecc.

  • Supporta più browser su piattaforme diverse
  • Piuttosto che utilizzare script di fornitori proprietari, utilizza un moderno linguaggio di scripting completo di funzionalità Ruby
  • Supporta la tua app web indipendentemente da ciò in cui è sviluppata

Scarica Watir


  1. SilkTest

Silk Test è progettato per eseguire test funzionali e di regressione. Per le applicazioni di e-business, silk test è il principale prodotto di test funzionale. È un prodotto dell'acquisizione di Segue Software da parte di Borland nel 2006. È un linguaggio orientato agli oggetti proprio come il C ++. Utilizza il concetto di oggetto, classi ed ereditarietà. La sua caratteristica principale include

  • Consiste di tutti i file di script di origine
  • Converte i comandi di script in comandi GUI. Sulla stessa macchina, i comandi possono essere eseguiti su una macchina remota o host
  • Per identificare il movimento del mouse insieme alle sequenze di tasti, è possibile eseguire Silktest. Può avvalersi sia del metodo di riproduzione che di registrazione o di metodi di programmazione descrittivi per ottenere le finestre di dialogo
  • Identifica tutti i controlli e le finestre dell'applicazione sottoposta a test come oggetti e determina tutti gli attributi e le proprietà di ciascuna finestra

Scarica SilkTest

Sommario

Test Automation è una tecnica di test del software che viene eseguita utilizzando speciali strumenti software di test automatizzati per eseguire una suite di casi di test.

Test Automation è il modo migliore per aumentare l'efficacia, la copertura dei test e la velocità di esecuzione nei test del software.

La selezione dello strumento di test dipende in gran parte dalla tecnologia su cui si basa l'applicazione sotto test.

L'approccio alla manutenzione dell'automazione del test è una fase di test dell'automazione eseguita per verificare se le nuove funzionalità aggiunte al software funzionano correttamente o meno.

La giusta selezione di strumento di automazione, processo di test e team sono elementi importanti affinché l'automazione abbia successo. I metodi manuali e di automazione vanno di pari passo per il successo dei test.