shift left testing secret mantra
Il nuovo test Shift Left, un mantra DevOps nello sviluppo software:
Un veloce Riepilogo di tutti i tutorial video in DevOps è stato spiegato nel nostro precedente tutorial. Ora vedremo i test di spostamento a sinistra.
Quando utilizzo il termine 'Spostamento a sinistra', vi starete chiedendo a cosa mi riferisco a Spostamento a sinistra in un software?
Più di 2 decenni fa, quando ho iniziato la mia carriera come tester di software, non esisteva una 'Fase di test' separata per lo sviluppo del software e il ruolo di tester non esisteva mai. Gli sviluppatori erano soliti sviluppare il software, testare se stessi e fare una versione del software.
Ulteriori letture => Serie di tutorial informativi DevOps
Il concetto di Test del software è stato introdotto gradualmente quando i difetti della produzione hanno iniziato a raggiungere il budget del progetto e quindi il 'Test funzionale' è entrato in vigore con un team di tester molto snello. A quel punto, eravamo solo due tester contro un team di 20 sviluppatori.
Il settore IT ha iniziato a seguire il modello a cascata per lo sviluppo del software in cui, come tutti sappiamo, il ciclo di vita dello sviluppo del software procede sequenzialmente nell'ordine di Requisiti => Progettazione => Codifica => Test .
Quindi, se inizi da sinistra a destra, la fase di test è all'estrema destra del ciclo di vita dello sviluppo del software.
Cosa imparerai:
- Introduzione al concetto di spostamento a sinistra
- Che cos'è il test Shift Left?
- In che modo Shift Left influenza lo sviluppo del software?
- Cosa dovrebbero fare i tester in modo diverso in Shift Left?
- Vantaggi del test Shift Left
- Conclusione
- Lettura consigliata
Introduzione al concetto di spostamento a sinistra
Per un periodo di tempo, le persone si sono rese conto dell'importanza di Test del software e l'impatto di mantenere la 'Fase di test' all'estrema destra o alla fine del ciclo di vita dello sviluppo del software. Questa realizzazione è avvenuta perché il costo del bug individuato verso l'estrema destra e alla fine era molto alto e uno sforzo enorme ed è stato richiesto troppo tempo per risolverli.
Ci sono stati casi in cui, dopo aver speso così tanto tempo e impegno su un software, a causa del bug cruciale identificato alla fine, il software mission-critical non poteva essere rilasciato sul mercato con conseguente perdita enorme.
Quindi, a causa di identificazione del bug durante l'ultima fase o il rilascio è stato ritardato o, a volte, il software è stato scartato considerando lo sforzo richiesto per risolverli, il che non era davvero degno.
'I difetti sono meno costosi se rilevati in anticipo'.
Questa consapevolezza e la grande lezione appresa, hanno introdotto una grande rivoluzione nell'industria del software e hanno dato vita a un nuovo concetto chiamato 'Shift Left' , il che significa spostare la 'Fase di test' da sinistra a destra o coinvolgere i test in ogni fase e coinvolgere i tester durante tutto il tempo.
Il test Shift Left significa anche che alla fine non testare ma testare continuamente.
Che cos'è il test Shift Left?
In primo luogo, il principio di 'Shift left' supporta il Team di test per collaborare tempestivamente con tutti gli stakeholder nella fase di sviluppo del software. Quindi possono capire chiaramente i requisiti e progettare i casi di test per aiutare il software 'Fail Fast' e consentire al team di correggere tutti i guasti al più presto.
casting char in int c ++
L'approccio Shift Left non è altro che il coinvolgimento dei tester molto prima nel ciclo di vita dello sviluppo del software, il che a sua volta consentirebbe loro di comprendere i requisiti, la progettazione del software, l'architettura, la codifica e le sue funzionalità, porre domande difficili a clienti, analisti aziendali e sviluppatori , chiedere chiarimenti e fornire feedback ove possibile per supportare il team.
Questo coinvolgimento e comprensione porteranno i tester ad acquisire una conoscenza completa del prodotto, a riflettere su vari scenari, a progettare scenari in tempo reale basati sul comportamento del software che aiuterebbero il team a identificare i difetti anche prima che la codifica sia completata.
In che modo Shift Left influenza lo sviluppo del software?
L'approccio Shift Lift influenza lo sviluppo del software in diversi modi.
Di seguito sono riportati alcuni punti chiave su Shift Left:
- L'approccio Shift Left si concentra su coinvolgere i tester in tutte e soprattutto nelle fasi critiche del programma . Ciò consente ai tester di deviare la loro attenzione dal rilevamento dei difetti alla prevenzione dei difetti e di guidare gli obiettivi di business del programma.
- L'approccio Shift Left fornisce, grande importanza per i test con cui i ruoli e la responsabilità dei tester aumentano immensamente.
- Con l'aumento della responsabilità per il team di test, il team non si concentra 'Testare il software per identificare i bug' , ma lavora in modo proattivo con il team fin dalle fasi iniziali per pianificare e costruire una strategia di test robusta ed efficace fornendo un'ottima leadership e guida per i test al team concentrandosi sulla visione a lungo termine del prodotto, piuttosto che prendere solo il responsabilità del lavoro di prova.
- L'approccio Shift Left dà il opportunità per i tester di progettare prima i test , dove i test sono completamente focalizzati sull'esperienza del cliente e sulle sue aspettative che a loro volta consentiranno agli sviluppatori di sviluppare il software sulla base di questi test e quindi soddisfare le esigenze del cliente.
- L'approccio Shift Left non finisce con i soli tester. Lo farà anche il trasloco in affitto e lo svolgimento continuo delle attività di collaudo consentire agli sviluppatori di assumere più proprietà del loro codice e aumentare le loro responsabilità sui test.
- Anche l'approccio Shift Left incoraggia Tester da adottare Sviluppo guidato dal comportamento BDD e sviluppo guidato da test TDD , che aiuta a prevenire l'induzione di difetti nel software.
- Shift Left Testing in Agile: L'approccio Shift Left supporta la formazione Agile Scrum Team che includono obbligatoriamente i tester insieme agli altri ruoli e include i tester in regolari chiamate in piedi, altre interazioni, riunioni di revisione che hanno portato i tester ad avere maggiori informazioni relative al programma e quindi ha permesso loro di indulgere e coinvolgere nell'analisi dettagliata del software e fornire feedback rapido che aiuterebbe a prevenire i difetti radicati nel software.
Il test generale Shift Left richiede ai tester di farlo 'Partecipa presto' , il più presto possibile e impegnarsi nella discussione e collaborare su idee, requisiti in ogni fase in cui il risultato della fase ha un'incidenza sul valore del deliverable finale e anche aiutare il progetto a identificare i rischi e mitigarli in anticipo.
Cosa dovrebbero fare i tester in modo diverso in Shift Left?
Di seguito sono riportati alcuni fattori chiave da notare come ciò in cui i tester fanno in modo diverso Strategia Shift Left:
# 1) Il team di test deve farlo impegnarsi presto nel sistema fin dall'inizio del progetto in modo da sviluppare l'integrazione con il resto del team e l'azienda a fornire input utili in ogni fase dello sviluppo del software.
#Due) Il team di test dovrebbe lavorare con il team Business & Operations e acquisire chiarezza sul programma e fornire una visione chiara su richiesta e aiutare a pianificare in modo efficiente le esigenze di aumento delle risorse, le esigenze di formazione e i requisiti degli strumenti di test per il programma con largo anticipo.
# 3) I team di test devono interagire con tutti gli stakeholder aziendali nelle prime fasi dello sviluppo del software ottenere una chiara visibilità del prodotto & progettare una strategia di test unificata e pianificare uno sforzo di test ottimizzato, analizzare la dipendenza da ambienti di test, terze parti, stub, ecc. e preparare una solida strategia e framework di automazione e creare un piano di gestione dei dati di test efficace.
# 4) Il team di test deve lavorare con il resto del team nel fornire un ottimo Test Leadership e guida al team tenendo così presente la visione del prodotto a lungo termine piuttosto che assumersi la responsabilità delle attività di test.
# 5) I requisiti sono la chiave e la base per il successo di qualsiasi programma e requisiti ben definiti definiscono il successo del progetto. Durante la fase di pianificazione dei requisiti, i tester necessità di rivedere e analizzare i requisiti per qualsiasi ambiguità, migliore chiarezza, completezza, testabilità, definizione dei criteri di accettazione ecc.
È inoltre necessario identificare i requisiti mancanti (se presenti), comprendere le dipendenze e le strategie di implementazione. Requisiti chiari aiuta il software a 'fallire velocemente' e a correggere tutti i guasti al più presto.
# 6) Fornire sufficiente chiarezza e precisione nei requisiti mettendo in evidenza il file esempi reali che illustrano le funzionalità in uso.
# 7) I tester devono partecipare alle riunioni di revisione del progetto regolarmente e comprendere la progettazione e l'architettura del prodotto e identificare i difetti di progettazione, suggerire opzioni di progettazione alternative, identificare le lacune e creare scenari di test di conseguenza per rompere i progetti.
# 8) I tester devono effettuare Test statici (recensioni) con largo anticipo e fornire feedback sui documenti chiave del progetto in modo da evitare che i difetti vengano radicati nel software e ampliare il suo effetto in seguito.
# 9) Il team di test dovrebbe collaborare con il team di progettazione e sviluppo nel fornire scenari di test in anticipo per sviluppare il codice e affrontare tutti i possibili scenari e flussi aziendali in tempo reale.
come utilizzare i file torrent dopo il download
# 10) Il team di test deve progettare scenari di test forti e robusti in modo che solo pochi difetti vengano identificati durante il test e che i difetti maggiori vengano prevenuti mentre si entra nella fase di test.
#undici) I tester devono farlo Esegui il test il prima possibile , sia su un sistema autonomo che locale, in modo che il difetto non entri nelle fasi successive.
L'intero punto cruciale del concetto di 'Spostamento a sinistra' per i tester è trovare i difetti il prima possibile con tutti i mezzi possibili.
Vantaggi del test Shift Left
L'approccio Shift Left funziona sulla base del manifesto agile e presenta anche diversi vantaggi.
Sono:
- Individui e interazioni su processi e strumenti.
- Software funzionante documentazione completa.
- Collaborazione con i clienti sulla negoziazione del contratto.
- Rispondere al cambiamento oltre a seguire un piano.
Possiamo vedere che mentre il valore è presente negli elementi a destra, diamo più valore per gli elementi a sinistra.
Bene, Shift Left significa portare l'idea di testare all'inizio del processo, ottenendo così un test migliore ed efficiente e migliorando la qualità del software.
In poche parole, il processo di test Shift Left è:
- Trovare i difetti in anticipo riducendo così il costo del progetto.
- Testare continuamente ancora e ancora per ridurre i difetti alla fine.
- Per automatizzare tutto e migliorare il time to market.
- Per concentrarsi sulle esigenze del cliente e migliorare l'esperienza del cliente.
Conclusione
'Shift Left' Il concetto ha portato una grande trasformazione per l'intero ruolo di 'Test'. Fino ad allora, l'unico obiettivo del test era solo il 'rilevamento dei difetti' e ora l'obiettivo del 'Spostamento a sinistra' dalla prospettiva del test è un viaggio di 'Rilevamento precoce dei difetti per Prevenzione dei difetti ' .
Pertanto, Shift Left è un grande passo avanti nell'industria del software nella metodologia di sviluppo software verso la velocità di commercializzazione, il miglioramento della qualità del software e la riduzione del 'Time to Market'.
Circa l'autore: Questo articolo è stato scritto da un membro del team STHGayathri Subrahmanyam. È impegnata nel test del software dagli anni '90, proprio quando il ruolo di tester è stato introdotto nel settore. Durante la sua carriera di test, ha svolto molte valutazioni TMMI, lavori di industrializzazione di test, configurazioni TCOE oltre a gestire consegne di test e implementato pratiche DevOps per un enorme impegno. Ma secondo lei, l'apprendimento non si ferma mai ...
Fateci sapere i vostri pensieri / suggerimenti nella sezione commenti qui sotto.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Lavoro assistente QA test software
- Shift-Left of Quality: in che modo è altrettanto importante di Shift-Left nei test?
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro freelance di scrittore di contenuti tecnici di test del software
- Alcune interessanti domande di intervista sul test del software
- Feedback e recensioni sul corso di test del software