testim io tutorial speed up authoring
In questo tutorial pratico, imparerai come creare test stabili in pochi minuti utilizzando lo strumento di automazione Testim e utilizzare il processo di apprendimento automatico per accelerare la creazione, l'esecuzione e la manutenzione dei test automatizzati.
Quando sentiamo la frase 'Strumento di automazione', le principali considerazioni che vengono in mente riguardo ai nostri test includono:
miglior strumento di gestione dei casi di test per jira
- Creazione ed esecuzione
- Stabilità
- Riusabilità
- Estensibilità
- Manutenzione
- Risoluzione dei problemi
- Segnalazione
- Integrazione CI / CD
Ci sono molti strumenti sul mercato che affrontano uno o pochi dei suddetti fattori ma non tutti. È qui che entra in gioco Testim.io.
Testim.io non è uno strumento ma una piattaforma che include quasi tutti i fattori principali come la creazione e l'esecuzione, la manutenzione, la risoluzione dei problemi, il reporting, ecc., dei test automatizzati. Con l'introduzione al concetto di localizzatori dinamici, si concentrano su più pochi tipi di test come test funzionali, test end-to-end e test dell'interfaccia utente.
Aumenta l'estensibilità e la stabilità delle suite di test. Inoltre, offre ai team e alle organizzazioni la flessibilità di estendere le funzionalità della piattaforma utilizzando complesse logiche di programmazione con JavaScript e HTML.
Ecco una panoramica dettagliata su Testim.io e su come aiuta a superare alcune delle sfide che i clienti devono affrontare durante l'automazione.
Cosa imparerai:
- In che modo questo strumento è diverso dagli altri strumenti?
- Testim.io è una piattaforma e NON un record né uno strumento di riproduzione
- Affrontare i fattori chiave
- Conclusione
- Lettura consigliata
In che modo questo strumento è diverso dagli altri strumenti?
Per capire in che modo Testim si differenzia dagli altri strumenti, facciamo un passo indietro sull'evoluzione degli strumenti di automazione negli ultimi dieci anni.
Negli ultimi 10 anni, ci sono stati diversi strumenti di fornitori e strumenti open source che hanno cercato di affrontare i vari problemi relativi ai test automatizzati. Ma uno dei problemi principali che nessuno ha affrontato fino ad ora è l'uso di ID statici.
Per esempio , diciamo che uno sviluppatore cambia il nome dell'ID o qualche attributo di un elemento sulla pagina web. I test automatici si interrompono immediatamente a causa di questa modifica, poiché si riferisce ancora al vecchio nome ID. Ciò porta a test instabili e i tester devono dedicare molto tempo alla loro manutenzione.
Hanno introdotto il concetto di Localizzatori dinamici . L'Intelligenza Artificiale (AI) sotto la piattaforma in tempo reale, analizza tutti gli oggetti DOM di una pagina ed estrae gli oggetti e le sue proprietà.
Infine, l'IA decide la migliore strategia di localizzazione per individuare un particolare elemento in base a questa analisi.
Per questo motivo, anche se uno sviluppatore modifica l'attributo di un elemento, il test continua comunque a essere eseguito e questo porta a test più stabili. Di conseguenza, la creazione e l'esecuzione di test automatizzati sono molto più veloci e stabili.
Testim.io è una piattaforma e NON un record né uno strumento di riproduzione
Prima di tutto, questo non è uno strumento ma una piattaforma.
Ha funzionalità robuste che non solo aiutano ad automatizzare i tuoi test, ma si occupa anche di altri aspetti importanti dei tuoi test come l'esecuzione dei tuoi test localmente e nel cloud (la loro griglia privata o di terze parti), integrandosi con CI / CD sistemi, catturando log e screenshot delle esecuzioni dei test, fornendo rapporti dettagliati delle esecuzioni dei test con grafici, statistiche e altre informazioni correlate.
E infine rendendo molto semplice l'acquisizione e la segnalazione dei bug integrandoli con gli strumenti di tracciamento dei bug ampiamente utilizzati.
In secondo luogo, offre alle organizzazioni e ai team la flessibilità di creare i propri wrapper attorno alla piattaforma utilizzando una logica di programmazione complessa con JavaScript e HTML. In questo modo chiunque può estendere le funzionalità della piattaforma.
Infine, la piattaforma si allinea con il file Paradigma Shift-Left dove sviluppatori e tester possono iniziare a scrivere i test fin dall'inizio lavorando su diversi rami senza sovrascrivere le modifiche reciproche. Aiuta inoltre i team a collaborare e offre a chiunque la flessibilità di scrivere test automatizzati tramite le sue funzionalità integrate.
In questo modo, anche un membro del team non tecnico può dare un prezioso contributo ai tuoi test automatizzati. La piattaforma aiuta a instillare il concetto che, i test automatizzati dovrebbero essere semplici, efficaci, stabili e collaborativi.
Affrontare i fattori chiave
In che modo Testim affronta i fattori chiave che sono vitali per i test automatizzati?
Creazione ed esecuzione
I test automatizzati devono essere facili da creare ed eseguire da qualsiasi luogo e in qualsiasi momento.
Testim aiuta a farlo nei seguenti modi:
1) Creazione di un test
Creiamo un nuovo Test cliccando su 'Crea nuovo' o 'Nuovo test' .
2) Registrazione e riproduzione di un test
Dopo aver fatto clic sul file 'Disco' pulsante, possiamo registrare diverse azioni dell'utente nella nostra applicazione.
Dopo aver registrato le diverse azioni, fare clic su 'Interrompi registrazione' per terminare la registrazione dei nostri test. Usa il 'Giocare' per riprodurre il test registrato e il pulsante 'Salva' pulsante per salvare i test.
3) Validazioni e asserzioni
Questa piattaforma aiuta a convalidare diversi attributi di un elemento e API davvero semplici.
Varie opzioni per gli utenti come:
- Aggiunta di convalide personalizzate utilizzando JavaScript e HTML
- Convalida la visibilità degli elementi
- Convalida il testo dell'elemento
- Convalida a livello di pixel
- Convalida a livello di API
4) Screenshot
Mentre ogni test viene registrato, la piattaforma acquisisce uno screenshot di tutti i risultati Passato e Non superato di ogni singolo passaggio. Di conseguenza, gli utenti trovano più facile risolvere i problemi e capire cosa succede sotto il cofano.
Per esempio , Nello screenshot qui sotto, noteremo che gli attributi di 'Seleziona destinazione' Il pulsante è cambiato ma il test è ancora stato eseguito perché lo strumento AI utilizzato Localizzatori dinamici . Inoltre, la funzionalità del sistema non è cambiata ma solo l'attributo di un elemento.
Otteniamo anche lo screenshot di ciò che è accaduto esattamente durante l'esecuzione del test visualizzando l'immagine prevista (linea di base) e l'immagine effettiva.
(Nota:Clicca sull'immagine sottostante per una visualizzazione ingrandita)
5) Feedback su ogni passaggio
L'utente ottiene anche il feedback su ogni passaggio in termini di se i test sono stati superati o non riusciti mostrando un file 'Verde' o 'Icona rossa' nella parte in alto a sinistra di ogni passaggio come mostrato di seguito:
6) Test di etichettatura
Testim fornisce la funzione per etichettare ogni test creato da un utente.
Ci sono 2 ragioni per cui potremmo voler etichettare un test:
- Aiuta a identificare il motivo per cui il test è stato creato in primo luogo.
- Aiuta a eseguire i test con la stessa etichetta tutti in una volta tramite la funzione CLI.
Il modo in cui creiamo le etichette è facendo clic su 'Etichetta' e selezionare un'etichetta esistente o crearne una nuova.
7) Documentazione per l'utente
Forniscono agli utenti tutta la documentazione di cui avranno bisogno per utilizzare le diverse funzionalità di questa piattaforma.
La maggior parte delle risposte sull'utilizzo di questa piattaforma può essere trovata facendo clic su 'Educare' scheda e visitando il sito della documentazione come mostrato di seguito:
Per i motivi di cui sopra, Testim.io aiuta a rendere la creazione e l'esecuzione dei test molto veloci e semplici. In pochi secondi, un utente può registrare, riprodurre e salvare i test.
Stabilità
Usi di prova Localizzatori dinamici invece di ID statici. Per questo motivo, i test sono più stabili e più eseguiamo i test più intelligente diventa l'IA nel garantire maggiore stabilità ai test automatizzati.
Un utente sarà in grado di vedere la diversa strategia di localizzazione che la sua AI utilizza per individuare un elemento nell'IDE, attraverso il Pannello delle proprietà , per ogni elemento con cui interagiamo tramite i nostri test automatizzati.
Come possiamo notare, l'IA analizza tutti gli oggetti DOM, li elenca nel pannello delle proprietà insieme alle classifiche di ogni strategia di localizzazione per quel particolare elemento. In questo modo, anche se l'attributo di un elemento cambia, l'IA può utilizzare una strategia di localizzazione diversa dall'elenco già analizzato di oggetti DOM.
Pertanto, un utente non deve preoccuparsi di test instabili.
Riusabilità
Una delle buone pratiche per scrivere test automatizzati è creare componenti riutilizzabili che possono essere utilizzati in diverse parti della nostra suite di test.
Perché questo è importante?
La creazione di componenti riutilizzabili è importante perché:
- Aiuta ad aumentare la leggibilità dei test automatizzati.
- Risparmia fatica non ripetendo la stessa serie di passaggi in parti diverse dei test.
- Qualsiasi modifica al passaggio riutilizzabile deve essere eseguita in un unico punto e si riflette in tutti i test, in diversi progetti.
- Rende i test automatizzati più estensibili.
Testim aiuta a garantire la riusabilità di 'Raggruppamento' e 'Parametrizzazione'.
1) Raggruppamento
Qualsiasi numero di passaggi correlati può essere raggruppato in un componente riutilizzabile.
Per esempio - Il 'Login' scenario è uno dei passaggi più comunemente utilizzati in qualsiasi applicazione. Il modo in cui possiamo creare un passaggio di 'Login' riutilizzabile sarebbe selezionare i passaggi che vogliamo raggruppare e quindi fare clic su 'Aggiungi nuovo gruppo' come mostrato di seguito:
2) Parametrizzazione
Questa piattaforma offre la possibilità di testare l'applicazione attraverso varie combinazioni di input tramite la parametrizzazione.
Ciò può essere ottenuto in vari modi.
Un modo per farlo è fornire tutti i parametri di input di cui avremmo bisogno per testare l'applicazione sotto forma di file JSON nel passaggio di configurazione (primo passaggio dei nostri test) come mostrato di seguito:
Estensibilità
Questo strumento offre alle organizzazioni la flessibilità di estendere le funzionalità di questa piattaforma utilizzando JavaScript e HTML. In questo modo, in qualsiasi funzionalità che questa piattaforma non gestisce, l'utente può scrivere il proprio codice per costruire un robusto framework di automazione
Per esempio - Diciamo che vogliamo convalidare il file 'Seleziona destinazione' pulsante dai nostri esempi precedenti.
Il modo per farlo sarebbe.
- Clicca su 'Aggiungi azione personalizzata'.
- Assegna un nome al nuovo passaggio e fai clic su 'Confermare'.
- Fare clic su 'PARAMS' e selezionare 'HTML' per questo esempio.
- Aggiungi codice personalizzato.
- Il nuovo passaggio con Codice personalizzato viene aggiunto all'elenco dei passaggi già esistenti.
Manutenzione
Uno dei fattori più importanti relativi ai test automatizzati è ' Manutenzione '.
Viene speso molto impegno per mantenere i test che per scrivere i test effettivi. Ciò porta allo spreco di tempo e sforzi preziosi dalle risorse che avrebbero potuto dedicare quel tempo a testare l'applicazione effettiva.
Testim aiuta a ridurre al minimo lo sforzo richiesto per mantenere i test automatizzati nei seguenti modi:
1) Controllo della versione
In qualsiasi momento, è importante avere i log delle modifiche apportate a un determinato test. In questo modo possiamo sempre tornare alla versione precedente di un test come e quando richiesto. Questa piattaforma fornisce questa funzionalità mostrando tutta la cronologia delle versioni andando al pannello Proprietà della fase di configurazione e facendo clic su 'Vedi le vecchie revisioni' .
2) Ramificazione
Nel ' Paradigma di spostamento a sinistra 'Dove sia lo sviluppo che il test devono iniziare in parallelo il prima possibile nel ciclo di vita dello sviluppo del software.
Tenendo presente questo, fornisce la funzionalità ai team per creare rami separati per ogni membro del team e lavorare sugli stessi progetti e test. In questo modo, nessuno può sovrascrivere le modifiche degli altri membri del team e i team possono lavorare sulla stessa base di codice in qualsiasi momento.
Devi solo selezionare 'Forchetta' per creare un nuovo ramo e puoi anche passare da un ramo esistente all'altro.
Gli utenti hanno la possibilità di programmare i propri test. Ciò aiuta a eseguire i test automaticamente in un determinato giorno e ora senza alcun intervento manuale. Possiamo anche ricevere una notifica via e-mail in caso di errori.
Risoluzione dei problemi
In qualità di tester, dedichiamo molto tempo alla risoluzione dei problemi. Per aiutare nella risoluzione dei problemi, questa piattaforma offre diverse opzioni agli utenti per restringere l'ambito del problema.
Queste opzioni includono:
1) Screenshot
La funzione screenshot spiegata nella sezione 'Creazione ed esecuzione' aiuta gli utenti a sapere qual era l'immagine di base e qual è l'immagine effettivamente trovata.
2) Pannello delle proprietà
Il pannello delle proprietà aiuta a catturare i messaggi di errore e mostrarli all'utente.
Per esempio, Quando un elemento non è visibile e il test fallisce, viene visualizzato il seguente messaggio di errore nel pannello.
3) Registri di prova
I log sono una ricca fonte di informazioni su ciò che è accaduto sotto l'interfaccia utente. Lo strumento fornisce registri di test quando l'utente esegue i test sulla nostra griglia o su una griglia di terze parti. L'opzione può essere trovata nel pannello delle proprietà della fase di configurazione.
4) Documentazione
Testim si è impegnato molto per documentare la maggior parte delle funzionalità dello strumento nella documentazione per l'utente che si trova sotto 'Educare' tab.
Segnalazione
Questo è uno degli aspetti più importanti dei tuoi test per ottenere visibilità su quali test sono stati eseguiti, superati, falliti, durata dell'esecuzione, quali combinazioni di browser e così via.
Testim.io fornisce 2 tipi di funzionalità di reporting:
1) Reportistica della suite e dei test
Quando gli utenti fanno clic sull'opzione 'Esegui' nel menu laterale, possono vedere tutta la suite e le esecuzioni di prova con tutti i dettagli richiesti come mostrato di seguito. Questo aiuta a ottenere la visibilità sulle esecuzioni dei test e aiuta a semplificare la segnalazione.
2) Segnalazione di bug
Trascorriamo una notevole quantità di tempo in una giornata a segnalare bug. Questa è una delle parti più critiche e dispendiose in termini di tempo.
Testim.io aiuta a ridurre i tempi di segnalazione dei bug e ad aumentare la produttività fornendo un'estensione Chrome per acquisire e segnalare rapidamente i bug. Possiamo catturare screenshot, video del bug e registrare un vero test automatizzato con questa estensione. Si integra con la maggior parte dei sistemi di tracciamento dei bug ampiamente utilizzati.
Dopo aver catturato il difetto e aver fatto clic su 'Pubblicare', popola automaticamente tutti i passaggi richiesti nella descrizione del bug. Aggiunge anche lo screenshot, il video e i test automatizzati con il difetto.
(Nota:Clicca sull'immagine sottostante per una visualizzazione ingrandita)
Integrazione CI / CD
Questo strumento si integra con diversi sistemi CI / CD come Jenkins, Travis CI, Circle CI e altri strumenti di compilazione. Si integra anche con griglie di terze parti che ospitano il proprio cloud privato per eseguire test. Tutto questo avviene tramite la CLI (Command Line Interface) che forniamo nella piattaforma.
Facendo clic sul file 'Impostazioni' L'icona dal menu laterale apre la CLI.
È precompilato con i comandi necessari per eseguire i test su sistemi CI / CD, griglie di terze parti o relative griglie. Dobbiamo solo cliccare su 'Copia' e letteralmente, incolla il comando in qualsiasi strumento di compilazione o griglia utilizzata dall'organizzazione.
La CLI accetta anche gli altri parametri per eseguire test specifici, per eseguire test in parallelo, per sovrascrivere l'URL di base e molte più funzionalità.
=> Tutti i parametri che possono essere utilizzati sono elencati qui in questa guida per l'utente .
Conclusione
In poche parole, la piattaforma Testim.io aiuta a superare alcune delle principali sfide con l'automazione come descritto nelle sezioni precedenti. Con questo, puoi rendere l'automazione più semplice e stabile.
Questa piattaforma aiuterà:
- Membri del team non tecnici per essere coinvolti nell'automazione e scrivere test solidi.
- I membri del team tecnico utilizzano una logica di programmazione complessa per estendere le funzionalità di questa piattaforma.
- La creazione e l'esecuzione dei test sono super veloci.
- I test sono più stabili con l'uso di 'Localizzatori dinamici' .
Nel complesso si tratta di una piattaforma che aiuta in vari aspetti dell'automazione dei test e sono in procinto di costruire più funzionalità per aiutare i team e le organizzazioni agili a collaborare con il motto di UNA SQUADRA e UN OBIETTIVO.
=> Puoi esplora di più su questo strumento qui
Sentiti libero di chiedere se hai domande e condividi anche i tuoi pensieri nella sezione commenti, poiché ci piacerebbe sapere quali sfide devi affrontare con l'automazione e come sei riuscito a risolverle.
Lettura consigliata
- Come eseguire l'esecuzione su larga scala di test Appium in parallelo
- Integralo nel tuo IDE per eseguire i tuoi test Appium
- Crea test Appium per un'app Android
- Esecuzione dei test di Appium in parallelo utilizzando Appium Studio per Eclipse
- Creazione di test di epoche utilizzando epochs Studio for Eclipse
- Scrittura di unit test con Spock Framework
- Report di Specflow: come generare report di test ed eseguire test selettivi
- Distribuzione Java: creazione ed esecuzione di file JAR Java