when opt automation testing
Dovremmo considerare i test di automazione per un progetto? Quando dovremmo andare per il test di automazione?
I test vengono eseguiti per fornire risultati di buona qualità all'utente finale. Fase di test è uno degli aspetti principali di STLC .
Qualsiasi azienda si concentra maggiormente sui test del software poiché la sua qualità garantisce una soddisfazione ottimale del cliente, ma molte di loro hanno ancora difficoltà nella scelta del tipo di test da eseguire, con test automatici o test manuali.
Questo articolo aiuta il lettore a capire che cos'è l'Automation Testing, quando farlo e, soprattutto, quando non farlo. Inoltre, impara l'utilizzo ottimale di Strumenti di automazione per il test .
Qualunque lavoro venga svolto, dovrebbe essere svolto in modo efficace e anche conveniente. Inoltre, dovrebbe avere senso in modo che il cliente si senta soddisfatto dei risultati finali.
Cosa imparerai:
- Test del software e vantaggi in termini di costi
- Intelligenza dietro i test del software
- Automazione: è davvero essenziale?
- Perché l'automazione?
- Fattore di rischio
- Quando l'automazione non dovrebbe essere PREFERITA?
- Costo vs ROI per l'automazione
- Dove può rendere l'automazione una RIDUZIONE dei costi minima e NESSUNA?
- Conclusione
- Lettura consigliata
Test del software e vantaggi in termini di costi
Il Software Testing viene normalmente eseguito da un Software Tester. La differenza tra un tester e un utente reale è che quest'ultimo conoscerà solo un utilizzo parziale del software che viene utilizzato per la propria attività o per le proprie attività e non conoscerà completamente il software. D'altra parte, un tester sarà a conoscenza di tutti i requisiti tecnici e funzionali del software. Sulla base dei requisiti forniti dal cliente, dovranno essere preparati piani di test e casi di test.
Un piano di test non è altro che un piano dettagliato del modo in cui deve essere eseguito il processo di test. Questo avrà dettagli completi sul numero di risorse e fonti coinvolte nel test, cosa fare e quando farlo, cosa non verrà fatto e l'ambiente in cui verrà eseguito ecc.
I casi di test dovrebbero essere preparati dopo una chiara comprensione dell'aspetto funzionale e tecnico del software. Il tester deve possedere un'acuta capacità di osservazione e una conoscenza completa del software.
Inoltre, il costo gioca un ruolo efficace qui. I clienti preferiscono accettare software con la massima qualità a un costo minimo. Quando andiamo per i test manuali, il processo è più noioso e richiede tempo poiché è tutto fatto manualmente da un tester.
Per esempio , quando abbiamo bisogno di un numero 'n' di tester eseguire il test di regressione , potrebbero essere necessarie quasi 50 ore per eseguire tutti i casi di test. E in base alla disponibilità delle risorse, verranno eseguiti i casi di test. Ma con meno tempo per i test automatizzati, viene eseguito un utilizzo ottimale delle risorse insieme alla massima copertura dei casi di test rispetto ai test manuali.
Intelligenza dietro i test del software
È molto importante per qualsiasi organizzazione sapere quando avviare il processo di test e quando uscirne. Dovremmo sapere quando avviare il test perché è inutile iniziare il test quando la fase di sviluppo è terminata e quando i criteri richiesti non sono soddisfatti. È sempre consigliabile iniziare con la fase di progettazione del test mentre lo sviluppo è in corso.
Di seguito sono riportati i criteri per l'ingresso e l'uscita dal test del software:
Criteri di ingresso
Una volta che il documento di progettazione è stato firmato, i piani di prova devono essere preparati nella fase di pianificazione. Un piano di test gioca un ruolo fondamentale. L'hardware richiesto deve essere installato e configurato correttamente e la funzionalità dell'hardware deve essere verificata. I requisiti funzionali devono essere chiari e approvati. Il codice sviluppato deve essere testato dall'unità e firmato dagli sviluppatori.
I casi di test ei dati di test devono essere preparati e approvati. Devono essere disponibili i dati e l'applicazione dei test. Il tester deve possedere una conoscenza significativa e sufficiente dell'applicazione. Le risorse dovrebbero essere ben addestrate sugli strumenti e devono essere chiarite con tutte le funzionalità richieste.
Il tester deve essere disponibile. Quando uno qualsiasi dei criteri non viene raggiunto, il criterio di ingresso del test viene rifiutato.
(Nota: Fare clic su qualsiasi immagine per ingrandirla)
Criteri di uscita
Solo quando almeno il 95% dei casi di test obbligatori sono bloccati con un risultato 'superato', possiamo uscire dalla fase di test del prodotto. Tuttavia, non è così facile determinare quando è possibile interrompere il test del software o se deve ancora essere eseguito. E questo tipo di situazione si verifica comunemente anche.
I criteri principali sono riportati di seguito:
- Quando tutti i bug sono stati corretti.
- Quando viene raggiunta la scadenza.
- Quando il budget è esaurito o esaurito.
- Quando tutti i casi di test vengono superati.
- Quando l'accordo viene firmato.
- Quando viene eseguita una certa percentuale di test.
- Quando il Alfa e il beta testing finisce.
I criteri di uscita possono essere derivati esclusivamente in base a fattori come rischio, costo, ecc. Quando il test del requisito funzionale principale è stato raggiunto, il test verrà solitamente interrotto e non verranno mai cercati bug minori, il che creerà problemi nel periodi successivi.
Esempio: Il software ABC è in una fase di progettazione. Lo sviluppo e la costruzione del test avvengono generalmente contemporaneamente. Dopo che il progetto è stato congelato, inizia lo sviluppo del software. Il completamento dello sviluppo del software, come concordato, indica i criteri di ingresso. I risultati finali qui provengono dal team di sviluppo. Include note sulla versione e problemi noti.
Dopo poche iterazioni di test, quando nessun blocco principale / bloccante / spettacolo è in attesa di risoluzione e il 95% dei test ha dato esito positivo, viene indicato come criterio di uscita.
Automazione: è davvero essenziale?
Quando dobbiamo decidere se lo richiediamo Tecnica di test automatizzata o no, qui si pone la questione delle risorse disponibili. I motivi che dobbiamo automatizzare sono verificare se il flusso di dati e le funzionalità sviluppate funzionano secondo le aspettative senza intervento manuale o meno. Viene utilizzato principalmente in luoghi in cui il software subirà modifiche sotto forma di più versioni / cicli, ecc.
quali sono le basi della programmazione del computer
Alla fine dello sviluppo di ogni ciclo, verrà effettuato il test delle funzionalità attualmente aggiunte. Inoltre, verrà eseguito il test della vecchia funzionalità per garantire che le vecchie funzionalità non siano danneggiate. Questa è la parte principale che ha lo scopo dell'automazione.
Durante la verifica delle logiche guidate dal codice e dei requisiti della GUI, è possibile scegliere Test automatizzati, a condizione che il fattore di rischio sia elevato.
Esempio: Per il software ABC, ci sono aggiornamenti frequenti, aggiornamenti ricercati dal client e forniti dagli sviluppatori. Quindi, come parte del test, viene eseguita la regressione per il software che è già attivo e in esecuzione in produzione. Indipendentemente dal numero di versioni, upgrade e aggiornamenti, la versione corrente sarà valida.
Supponiamo che siano necessari 10 giorni di sforzi manuali per la copertura dei test di regressione, quindi è necessario prestare la massima attenzione per automatizzarli. Può risparmiare almeno il 60% dello sforzo e 10 * 8 = 80 ore di lavoro manuale.
L'automazione può completare 80/24 = solo 3,33 giorni. Ciò consente di risparmiare circa 6,67.
Perché l'automazione?
L'automazione può essere scelta solo quando:
- L'applicazione ha un'area molto vasta con un alto grado di investimento nella regressione.
- Ottimizzazione dei costi avvenuta a causa di errori manuali.
- Il software ha più versioni e rilasci.
- È conveniente nel lungo periodo.
- Il fattore di rischio è maggiore per un ambito più ampio di esecuzione del test.
- Le cifre dei costi e i calcoli matematici sono inclusi nella funzionalità del software.
- C'è un maggiore aumento del tempo di esecuzione, dell'efficienza insieme alla qualità del software.
- Il tempo di risposta è minore, anche per i test del software ad alto rischio.
Fattore di rischio
Il fattore di rischio diventa prevalentemente comune nelle attività in cui ci sono molte dipendenze dal fattore tempo. Il software che funziona in base ai sistemi transazionali e che funziona su più applicazioni richiederà che il software agisca in modo ideale secondo la progettazione del software. In questo caso, ci sono molti rischi coinvolti nell'ottenere il corretto comportamento funzionale registrato.
Qui l'automazione sarà molto utile per eseguire le transazioni funzionali a un ritmo migliore secondo il meccanismo del software.
Per esempio , nel caso di un indicatore di mercato Forex, il fattore tempo è molto importante e critico. Le variazioni delle scorte e delle materie prime avvengono rispetto al tempo, a volte meno di secondi. Qui l'automazione può aiutare a testare tale software ad alto rischio.
Esempio: Il software ABC ha più aggiornamenti e upgrade. Per risparmiare sforzi manuali e ridurre i tempi di consegna per la fase di test, la versione base o le vecchie funzionalità possono essere automatizzate. Questo può diventare valido solo quando le funzionalità di base rimarranno invariate.
Il vantaggio dell'automazione è che possono essere eseguiti senza alcun intervento manuale. Anche questo può essere eseguito parallelamente al test di funzionalità più recenti. Quindi l'automazione consente di risparmiare molto impegno e molto tempo.
Quando l'automazione non dovrebbe essere PREFERITA?
C'è una domanda tra diverse organizzazioni che è: perché l'automazione al 100% non è possibile?
La risposta degli esperti è NON perché gli utenti qualificati sono tenuti a eseguire test automatizzati e devono anche essere ben formati. L'automazione non può essere eseguita durante la fase iniziale dei criteri e i requisiti delle applicazioni non saranno chiari.
Di solito, l'automazione è preferita dalla seconda iterazione di qualsiasi versione del software. L'interfaccia utente può essere modificata, il che è più costoso, e anche la manutenzione degli script è più costosa. Quando il costo richiesto per lo strumento di automazione supera il budget del progetto, possiamo dire di no.
Esempio: Il software XYZ è un tipo di sito di e-commerce in cui i requisiti del cliente non vengono congelati e continuano a cambiare quando richiesto dai clienti.
Qui, in questo caso, l'automazione non può aiutare la regressione. Questo perché le vecchie funzionalità che non sono valide non dovrebbero essere testate e, quindi, devono essere eseguite manualmente. Ad esempio, un client deve avere tutte le caselle di riepilogo nel software di base da modificare come caselle a discesa.
Costo vs ROI per l'automazione
Il ROI è molto basso quando si sceglie l'automazione inizialmente perché l'automazione è costosa per la prima volta. Il ROI continua ad aumentare man mano che lo sforzo manuale nel testare il software diminuisce rispetto alle iterazioni della seconda versione. Dobbiamo essere consapevoli del risultato atteso di qualsiasi test case prima dell'automazione.
Considerare la progettazione dei casi di test più importante quando si sceglie l'automazione e qualsiasi strumento per assicurarsi che non aumenti il costo.
Dove può rendere l'automazione una RIDUZIONE dei costi minima e NESSUNA?
Anche l'automazione costa perché è necessario acquistare lo strumento necessario per i test. Le risorse devono essere addestrate con lo strumento particolare. Lo strumento scelto deve essere fattibile per testare tutte le aree del software.
Quindi la selezione dello strumento dovrebbe essere eseguita con attenzione dagli esperti di test di automazione.
Esempio: Considera il prodotto XYZ che si occupa di assicurazione. Per ridurre il fattore di costo, la società ha utilizzato solo test manuali, ma quando si tratta di assicurazioni, il fattore di rischio è elevato e può costare denaro all'azienda quando uno qualsiasi dei calcoli del premio va male. L'intera perdita sarà a carico della direzione o all'utente finale. L'utente finale non sopporterà la perdita mentre l'azienda deve farlo.
Quando l'importo del premio calcolato non corrisponde al premio originale (ovvero) quando c'è una differenza nel calcolo del premio front-end e back-end, sorge un grosso problema tra il cliente e il venditore del prodotto. Può contenere molti moduli come automobili, casa e altri.
Quando qualcosa va storto, è una perdita totale. La differenza nel calcolo può avere senso per il tester e può sollevare bug. In questo progetto, il test manuale può essere eseguito per l'interfaccia utente di base come la verifica del numero TIN, dell'ID social e di altre informazioni relative al portafoglio utenti e quindi può essere testato manualmente dove il fattore di rischio è basso. Il m Se l'azienda trarrebbe profitto, più preferisce l'automazione per testare il proprio software.
Conclusione
Sia l'automazione che il test manuale hanno vantaggi e svantaggi. Solo quando saremo chiari sui concetti e sui requisiti saremo in grado di scegliere che tipo di test eseguire.
Nessun progetto può essere testato solo con test manuali o automatici. Dipende dal design, dalla piattaforma e dalla tecnologia con cui è stato sviluppato il software. Quindi, quando si prende una decisione, bisogna stare attenti nella scelta del metodo di test e utilizzare i consigli di esperti.
Nell'articolo precedente, potremmo aver tralasciato alcuni fattori, condividi gentilmente i fattori che ritieni importanti nella scelta dell'automazione o anche degli strumenti per l'automazione.
Nel frattempo, sentiti libero di condividere i tuoi commenti / suggerimenti su questo articolo.
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Sfide dei test manuali e di automazione
- Top 10+ migliori libri di test del software (manuali e libri di test di automazione)
- Lavoro assistente QA test software
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- Sei un esperto di test manuali o di automazione? Lavora part time per noi!
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera