how perform software product testing detailed process
I prodotti software necessitano del proprio approccio unico per eseguire test in modo adeguato e corretto. Spesso i team li trattano come qualsiasi altro software (ovvero applicazioni interne create per un cliente o un team specifico; non accessibili al pubblico in generale; non generatrici di entrate) e questo è il punto di partenza dei problemi.
Il test del prodotto software richiede uno stile di test personalizzato e una strategia per aggiungere valore. Lo sviluppo e il sostentamento di prodotti software è di per sé un ecosistema complesso e per prosperare i tester devono adattarsi.
Permettetemi di spiegare perché è importante e perché penso che lo sviluppo del prodotto sia complesso, complicato e composito, anche nel migliore dei casi.
Cosa imparerai:
- Sfide nello sviluppo di prodotti software:
- Fase # 1) Introduzione al prodotto
- Fase # 2) Crescita del prodotto
- Fase 3) Maturità del prodotto
- Fase 4) Declino del prodotto / Ritorno alla crescita del prodotto
- Cosa ti rende un tester di prodotto di successo?
- Lettura consigliata
Sfide nello sviluppo di prodotti software:
Ecco alcune delle sfide che i team di sviluppo di prodotti software devono affrontare:
# 1)Mancanza di controllo su dati demografici, dispositivi, ambienti, piattaforme, ecc. Degli utenti : I prodotti software, a differenza del software creato per stakeholder specifici, non vengono utilizzati in situazioni controllate e prevedibili. Ci sono molti fattori da tenere in considerazione.
#Due)Visione nebbiosa del prodotto : Il comportamento e le funzionalità del prodotto cambiano continuamente e il viaggio verso la maturità non è chiaramente visibile. Oppure il prodotto sta crescendo troppo rapidamente che sfugge al controllo che i team non sanno cosa sta succedendo.
# 3)Tempistiche aggressive : A causa della forte concorrenza nel mercato dei prodotti software, le cose devono muoversi a una velocità vertiginosa e i team devono stare un passo avanti rispetto ai loro colleghi. Altrimenti, sono sicuri che perderanno la concorrenza.
# 4)Paura di sbagliare : I prodotti software sono generalmente innovativi. Quindi, il loro successo non è sempre scontato. Questo è il motivo per cui le aziende non possono fare di tutto in termini di budget, tecnologie, infrastrutture, ecc. Spesso devono trattenersi per ottenere una certa immunità dal fallimento o persino dal pareggio.
# 5)Mancanza di feedback utilizzabile: Poiché non ci sono stakeholder, utenti aziendali o clienti, per così dire, è difficile capire cosa possa piacere o meno all'utente finale. Le aziende giocano costantemente a indovinare e spesso hanno difficoltà a colmare il divario tra ciò che vogliono per il software e ciò che il cliente desidera.
Queste sfide interessano tutte le aree dello sviluppo del prodotto, del marketing e del sostentamento e hanno anche un impatto intrinseco sui test dei prodotti.
Per andare avanti nel gioco, questo tipo di test deve tenere conto di cinque punti chiave:
- Velocità di sviluppo e rilascio
- Obiettivi di prodotto a breve e lungo termine del prodotto
- Entità e natura della concorrenza
- Scegli come target il pubblico e il loro ambiente
- Requisiti - Funzionale, prestazioni, sicurezza, usabilità, configurazione, ecc.
Prima di entrare in maggiori dettagli, comprendiamo il ciclo di vita del prodotto (questo è un ciclo di vita del prodotto generico e non specifico per i prodotti software, ma il software segue uno schema simile):
Una buona strategia / approccio per il test del prodotto dovrebbe prendere in considerazione la fase attuale del prodotto nel suo ciclo di vita.
Leggi anche => Come scrivere un buon documento di strategia di test
Esempio: Il prodotto di una società XYZ è un software di tracciamento dei difetti chiamato 'TrackFast'. È un nuovo prodotto e la prima versione sarà lanciata come soluzione cloud e on-premise. TrackFast funziona come qualsiasi altro sistema di gestione dei difetti ed è progettato per l'accesso sia mobile che web. Attualmente, ci sono sprint da 2 a 4 settimane in cui il prodotto viene creato in parti. Fai parte del team di test che prova 'TrackFast' prima che incontri i suoi clienti. Il test prevede il controllo di funzionalità, prestazioni e sicurezza.
miglior software di clonazione di unità Windows 10
Per riassumere, questi sono i parametri con cui stai lavorando. O se preferisci, questo è il tuo contesto
il gateway predefinito non è disponibile
Vediamo come eseguire il test in ogni fase. Questo è test del prodotto processo, metodo o ciclo di vita in ogni fase.
Fase # 1) Introduzione al prodotto
Poiché questa è la prima volta che TrackFast viene lanciato sul mercato, l'idea è di fare una buona prima impressione. Quindi non lasciare nulla di intentato. Prova tutto e da ogni angolazione. Oltre a ciò, getta le basi per test futuri.
Una buona strategia di test a questo punto dovrebbe includere quanto segue:
- Test che convalidano gli obiettivi a breve termine di TrackFast. 'Di cosa ha bisogno per essere spedito correttamente' dovrebbe essere in prima linea nello sforzo di test. Creare Test end to end (front-end, middleware e backend) per test approfonditi di ogni funzionalità
- Test che confrontano TrackFast con la concorrenza (idealmente questo è il lavoro dei proprietari del prodotto, ma come tester possiamo aggiungere i nostri due centesimi. Inoltre, questo passaggio è più semplice se il software ha già alcuni peer. Per esempio: È facile confrontare TrackFast con Bugzilla o JIRA o altri sistemi legacy . Ma diciamo che sto creando un'app che fa qualcosa di insolito come essere in grado di prevedere quando un bambino è affamato o irritabile :), potrebbe essere difficile trovare un'applicazione che puoi usare come base)
- Piattaforma, browser e dispositivo test di compatibilità
- Test per facilità di installazione , configurazione e aggiornamento
- Test per prestazioni, sicurezza e usabilità
- Test di integrazione se si interfaccia con altri sistemi. Un semplice esempio di integrazione è che i sistemi di tracciamento dei difetti spesso interagiscono con i client di posta elettronica per inviare notifiche
- Pianifica la regressione - È una buona idea contrassegnare o contrassegnare i test critici che pensi faranno parte dei futuri cicli di regressione e pensare ad automatizzarli per le versioni future
- Pianifica i problemi noti (li aggiungerai al backlog o li manterrai come CR, ecc.)
- Flessibilità di cambiare quando il prodotto passa alla fase successiva del ciclo di vita.
A volte potrebbe essere necessaria una lunga attesa prima che il prodotto si spenga, quindi utilizza tutto il tempo che hai per svolgere un lavoro il più completo possibile.
In questa fase, sebbene ci sia un pezzo del prodotto pronto alla fine degli sprint di 2-4 settimane, molto spesso ogni sprint non si traduce in codice spedito. Pertanto, non considerare mai l'ultimo sprint test 'fatto e consegnato'. Ripeti i test critici ad ogni sprint fino al rilascio. Ad ogni sprint, prova l'intero prodotto che hai fino a quel punto.
Fase # 2) Crescita del prodotto
Dopo l'introduzione iniziale del progetto, se tutto va bene, aspettati un afflusso di attività perché la crescita del prodotto è una corsia veloce. Ora stai nuotando insieme ai grandi squali e, a meno che non tieni il passo, vieni inghiottito.
Qui le versioni si accorciano, i miglioramenti apportati al software diventano sempre più numerosi e l'entità della regressione diventa quasi ingestibile.
La strategia di test del prodotto dovrebbe funzionare con il ritmo con cui sta procedendo lo sviluppo del software e non dovrebbe diventare un collo di bottiglia.
Questi possono aiutare:
- Tieni a mente gli obiettivi a lungo termine del progetto. Non si tratta di farla finita adesso. Si tratta di vivere con le caratteristiche e prosperare con esse.
- Test in anticipo Considera TDD o BDD invece di rimandare i test alla fine con nuovi requisiti
- Automatizza la regressione e rafforzala - Crea una suite di regressione automatizzata in modo da non rimanere con mine non testate nel tuo sistema
- Se i proprietari della tua azienda / prodotto vogliono essere coinvolti nei test, prendi in considerazione uno strumento di automazione basato sul linguaggio aziendale come Cucumber.
- Mantieni l'usabilità e la progettazione del sito centrale per i test. Perché più funzionalità aggiungiamo, più pulito dovrebbe apparire il sito
- Eseguire test di prestazioni e sicurezza quando si verifica una versione principale o viene apportata una modifica significativa all'architettura. (Nuovo server introdotto, ecc.) La maggior parte dei sistemi software non ne ha bisogno con ogni versione.
- Resta in contatto con la concorrenza e conosci la visione del prodotto
- Adattare il test di coppia , per un feedback e una correzione immediati. Includere il proprietario del prodotto quando possibile
- Pianifica modifiche e problemi noti
- Cerca di mettere le mani sul feedback dei clienti e controlla se possono essere monitorati come suggerimenti di miglioramento per mantenere costante la crescita. (ancora una volta, questa non è la responsabilità principale del team QA, ma contano tutti)
Fase 3) Maturità del prodotto
Congratulazioni per il fatto che il tuo prodotto è arrivato così lontano. A questo punto, le funzionalità non cambiano così spesso. Il team del prodotto si concentrerà maggiormente sul portare più affari o sui loro sforzi di marketing. Tuttavia, lo sviluppo e il test del prodotto non devono e spesso non si interrompono.
Pertanto, il team di test può:
- Lavora sulla maturazione della tua strategia di test. A questo punto, le suite di regressione, i metodi di progettazione dei test e le pratiche di gestione dei test devono funzionare come macchine ben oliate.
- Concentrati sui dettagli più fini. Perché nel complesso il prodotto funziona e sta andando bene, ma come si suol dire- ' Dio è nei dettagli' - trova anche il più piccolo dei problemi che possono migliorare la qualità del sistema
- Considera il feedback dei clienti
- Testare periodicamente le prestazioni e la sicurezza
- Prendi in considerazione i nuovi dispositivi, piattaforme e browser che potrebbero essere entrati sul mercato dall'ultima volta che hai eseguito il test
- Testare le pagine del manuale utente e delle domande frequenti perché ormai ne hai il tempo e te lo puoi permettere.
- Sperimenta con un nuovo prodotto, strumenti di test, servizi o un processo perché ora puoi farlo.
- Testare il processo di installazione con ogni versione, per quanto piccola possa essere, e ottenere statistiche su quanto sia facile o difficile per l'utente finale.
Qualunque cosa tu faccia, non ti compiacere.
Fase 4) Declino del prodotto / Ritorno alla crescita del prodotto
I proprietari dei prodotti e le aziende sono intelligenti in questi giorni e sanno molto bene che non possono mantenere lo stesso prodotto e si aspettano che gli utenti rimangano fedeli. Le cose si muovono troppo velocemente e anche i prodotti.
Quindi, TrackFast non può sedersi e rilassarsi. Se ha bisogno di avere una presenza continua sul mercato e rimanere leader, deve evolversi. Piaccia o odi, Facebook è nato come un semplice social network per connettere le persone ed è una grande piattaforma software che si integra con un milione di altre cose e si mantiene aggiornato.
Anche TrackFast deve evolversi. Dopo aver dimostrato che si tratta di un sistema di tracciamento dei difetti affidabile ed efficace, deve evolversi o diminuirà. Pertanto, la società XYZ decide di migliorare TrackFast rendendolo un sistema di ticketing generale che può essere utilizzato per tenere traccia di eventuali incidenti o casi da parte dell'azienda diversa dai team IT / di test (qualcosa come JIRA) e non solo per difetti nel processo di sviluppo del software .
La ruota ha fatto un giro completo e ti ritrovi a trattare il sistema come uno nuovo di zecca e segui la strategia che abbiamo discusso nella sezione Introduzione al prodotto. Solo ora hai più esperienza e familiarità con il trapano. Ma ricorda, con ogni nuova svolta arriva una nuova sfida. Quindi stai attento :)
Cosa ti rende un tester di prodotto di successo?
- Tester del prodotto deve avere un acuto senso degli affari, comprensione dei modelli di sviluppo della consegna rapida e dovrebbe essere degli ottimi tester che non hanno paura di sperimentare strumenti e diventare essi stessi un po 'di programmatori se necessario. Queste cose possono avere un impatto positivo su qualsiasi tipo di test, ma sono una necessità assoluta in questo tipo di test.
- Un'altra qualità importante è che a il tester del prodotto deve credere nel prodotto e voglio sinceramente che abbia successo. Quando come tester penso che il software sia una spazzatura totale, c'è poca speranza che farò qualcosa per migliorarlo.
- Condividi la visione del prodotto / del proprietario dell'azienda . A meno che tu non sappia dove sta andando il prodotto e come si evolverà, i test saranno super limitati.
- Le abilità interfunzionali sono utili - Sapere come testare il DB, come eseguire benchmark delle prestazioni, come abilitare i certificati di sicurezza, come distribuire, ecc. Sii curioso ed esplora .
- Non stabilire confini - non pensare che valutare il manuale utente o controllare le FAQ non sia il tuo lavoro e un redattore tecnico dovrebbe occuparsene. Bene, dovrebbero e lo faranno. Ma quando lo guardi come un insider come qualcuno che conosce il prodotto a fondo, il tuo feedback è super utile.
- Cerca il feedback degli utenti finali. Il prossimo grande gruppo di persone che testano dopo te sono gli utenti in tempo reale. Conoscere e capire che tipo di problemi stanno affrontando. Questo ti aiuta a migliorare il design del tuo test così la prossima volta che sai cosa fare per evitare questi problemi.
- Lavora velocemente e sii un decisore
- Evita il debito tecnico . In una situazione di sviluppo e test veloce, è facile eseguire test esclusivamente esplorativi e perdere il quadro di riferimento per le versioni future. Non lasciare che accada. Mantieni la documentazione scheletrica in modo da poter monitorare, tracciare e misurare
La più grande differenza tra il software di test costruito come servizio e il software costruito come prodotto è che: nel primo caso, una volta raggiunta la strategia di test, viene applicata per tutti i test successivi.
Tuttavia, per un prodotto la strategia di test deve cambiare a seconda dell'attuale fase del ciclo di vita in cui si trova il prodotto e dei cambiamenti nelle dinamiche di mercato (nuovi dispositivi, nuovi browser, ecc.). La strategia di test del prodotto deve essere molto più flessibile per cambiare.
Circa l'autore: Questo articolo è pubblicato dal membro del team STH Swati S.
Speriamo che questo articolo sia stato utile. Non esitare a pubblicare commenti, domande e feedback di seguito.
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Lavoro assistente QA test software
- Scegliere il test del software come carriera
- Lavoro freelance di scrittore di contenuti tecnici di test del software
- Che cos'è il test di resistenza nel test del software (esempi)
- Alcune interessanti domande di intervista sul test del software
- Feedback e recensioni sul corso di test del software