Quando si parla di Test Funzionali, ci sono diverse opzioni tra le quali scegliere. Qual è quella giusta dipenderà dal tipo di software da testare, il target audience e gli obiettivi del test. Tenendo questo a mente, esploriamo i tre possibili metodi per fare Test Book Testing.
Cos'è il Test Book?
I test funzionali servono a validare le specifiche e i requisiti del software. Ogni azienda ha degli obiettivi unici che punta a raggiungere con il suo software, e il test funzionale è un eccellente metodo per comprendere se quegli obiettivi vengono davvero raggiunti. Un test book è semplicemente la lista dei test case che verranno eseguiti durante il test funzionale.
I test case vengono disegnati con un preciso software in mente. Per esempio, se il gigante dello shopping Amazon vuole testare il funzionamento della funzione di ricerca, l'azienda stessa (o un'azienda esterna al suo posto) dovrà scrivere test case da zero. I test case saranno specifici per il design del sito, i filtri di ricerca disponibili, il processo di aggiunta al carrello ecc.
Il beneficio principale del test funzionale è che ti aiuta a colmare il gap tra come il software dovrebbe funzionare e come funziona realmente. A volte il software sembra logico e lineare alle persone che lo hanno sviluppato, ma allo stesso tempo può confondere quelli che sono (o saranno) i veri utilizzatori finali. Altre volte, invece, qualcosa va storto e il software non funziona come dovrebbe, quindi è necessario un rework.
I 3 metodi del Test Book Testing
1. Crowd Testing
Il Crowd testing, a volte chiamato crowdsourced testing, testa l'usabilità, la funzionalità e quanto (e se) il software è user-friendly nelle condizioni reali di utilizzo.
Il test crowdsourced è un approccio manuale al test del software. I tester sono professionisti che vengono ingaggiati solo per il processo di test, ovvero vengono retribuiti per progetto e performance invece che come dipendenti a tempo pieno.
I benefici del Crowd Testing
- Condizioni d'uso reali: ti permette di testare la funzionalità del software usando end-user reali in condizioni d'uso reali. Grazie all'alto numero di utenti iscritti alle piattaforme di Crowdtesting, come quella di UNGUESS (ex AppQuality), puoi testare ogni giorno dell'anno.
- Una montagna di dati ottenuti dai test: i Crowd tester usano i loro dispositivi reali e operano su diversi sistemi operativi, browser e altri software nativi. Questo rende i dati dei test ricchi sia in termini di diversità dei feedback sia di copertura. PS: non preoccuparti: i Customer Success Manager (CSM) di UNGUESS faranno in modo che tu riceva solo bug unici e in scope!
- Report rapidi e non viziati da bias: i tester danno feedback mentre utilizzano il prodotto, quindi c'è un flusso continuo di feedback di valore durante i giorni di test (tipicamente tre). In più, ti assicurano imparzialità. Loro non hanno interessi diretti sul prodotto, quindi il loro feedback sarà onesto, elemento cruciale quando si sviluppano applicazioni altamente funzionali e user-friendly.
- Coinvolge l'utente finale reale: i tester vengono selezionati con una vasta possibilità di criteri, incluso genere, età, professione, reddito, hobby e molto altro. Il Crowd testing è un metodo eccellente per vedere quanto bene il tuo utente finale reale percepisce il tuo software. Questo aspetto è cruciale nello UX Testing.
In UNGUESS abbiamo creato una vasta community di tester. Siccome sono altamente profilati, possiamo selezionare tester professionisti e/o gli utenti reali del tuo prodotto. I nostri Customer Success Manager scrivono i test case che compongono il test book mirati al software specifico del cliente. I tester caricano sulla nostra piattaforma i bug che trovano, che vengono poi approvati dai CSM solo se sono unici e in scope. A quel punto, il Dev team del cliente deve solo decidere se ricevere un export di tutti i bug o usare un tool di integrazione di bug tracking.
2. Test Automation
Nel Test Funzionale Automatizzato, un programma avvia test funzionali al tuo posto attraverso script e tool. Di solito il software è categorizzato in aree distinte di funzionalità, e uno script viene disegnato per testare la funzionalità in una serie di step. Per ogni step si interagisce con elementi pre selezionati di UI, per esempio, il test automatizzato può riempire una casella di testo, selezionare una opzione da un menu a tendina o premere un bottone. Dopo aver avviato un test automatizzato, puoi controllare i risultati e paragonarli con cosa sarebbe dovuto succedere.
In UNGUESS, ad esempio, abbiamo un range di tool sui quali facciamo leva per la test automation dei nostri clienti, in base alle specifiche del software. In particolare, spesso usiamo Robot Framework - un robusto framework di automation open-source con un ricco ecosistema di librerie e tool (ne abbiamo parlato qui) e Seleniumlibrary (o altre librerie). Questo è solo un esempio, in realtà usiamo diversi tool e framework in base alle necessità del cliente.
I benefici del Test Funzionale Automatizzato
- 24/7: un computer avvia in autonomia il test, quindi non sei vincolato da tester umani che hanno invece bisogno di fare pause, dormire o lavorare solo in determinate ore.
- Più veloce: non dovendo fare affidamento sulle persone (a parte se necessarie per la scrittura del codice di test automation), puoi avviare test molto più velocemente. In media, il test automatizzato è il 70% più veloce del test manuale. Attenzione: con il Test Automatizzato puoi trovare solo quello che stai cercando. Niente fuori da quel percorso può essere trovato.
- Migliora l'accuratezza: quando non ci sono umani, non ci sono neanche errori umani. Ogni errore può ridurre l'accuratezza e l'affidabilità dei tuoi risultati.
- Economicamente vantaggioso: Test Automatizzato spesso significa più economico del test manuale
- Assicura la costanza: i Test Automatizzati possono essere ripetuti ogni volta che apporti una miglioria al software. Questo promuove costanza in ogni step del test funzionale, rendendo più facile paragonare i risultati di più test oggettivamente.
3. FTE (Full Time Equivalent)
FTE (Full-Time Equivalent) o Third-party Test Factory può avere due significati nel mondo del testing:
- L'azienda assume un top tester che scrive l'intero test book e poi lo esegue sull'applicazione, sito, o altro software.
- L'azienda scrive il test book e il tester svolge i test case al posto per personale interno.
L'opzione FTE offre un alto livello di flessibilità e permette alle aziende di affrontare il processo di test nel modo più conveniente. Molte aziende non hanno tempo o risorse (tester skillati) che sviluppino test case e per questo si affidano all'aiuto di terze parti per un breve periodo di tempo. Altre aziende hanno un'idea chiara dei test che vogliono svolgere ma hanno bisogno di un tester esperto imparziale che svolga i test case.
Per saperne di più su FTE (Full-Time Equivalent) o Third-party Test Factory FTE, come funziona e che risultati può portare, leggi questo articolo e il caso di studio di buddybank, dove un nostro tester ha lavorato come FTE.
I benefici delle Third-party Test Factory nel Functional Testing
- Oggettività: i tester sono oggettivi e privi di bias nel riportare i risultati del loro bug hunting. Questa imparzialità può essere difficile da raggiungere con l'in-house testing perché i dipendenti hanno forti interessi nel software, e potrebbero addirittura sottovalutare o lasciarsi sfuggire aspetti negativi delle funzionalità per tranquillizzare il senior management.
- Specializzazione: i tester seguono una formazione formale e ottengono certificazioni nell'amni test. Hanno una conoscenza profonda delle metodologie di test, le best practice e i tool appropriati. La loro professionalità porta a risultati altamente accurati, veloci e affidabili.
- Riduzione del rischio: introdurre una terza parte può ridurre i rischi nell'ambito di test funzionale del software. I tester possono scovare errori nel tuo software che altri avrebbero mancato.
Quale metodo di Test Book testing dovresti usare?
È impossibile rispondere a questa domanda senza contesto. Infatti, è fondamentale conoscere e comprendere il contesto, gli obiettivi, le risorse disponibili, gli strumenti e lo stadio di sviluppo.
UNGUESS offre una piattaforma di Crowdtesting (popolata da decine di migliaia di tester), tecnologie di Test Automation e anche l'approccio "body rental", o FTE.
Se vuoi sapere quale metodo è il più adatto al tuo prodotto, contattaci e pianifica una call con un nostro esperto.