how use poka yoke technique improve software quality
L'ingegneria del software è una disciplina che mira a produrre software di alta qualità attraverso un approccio sistematico e ben pianificato allo sviluppo del software.
Contiene molte buone pratiche, seguendo gli standard per ottenere il prodotto di qualità. Le tre fasi principali dello sviluppo del software sono Analisi - Progettazione - Implementazione. Per realizzare software di alta qualità è essenziale produrre un prodotto privo di difetti.
Cosa imparerai:
Ingegneria dei processi software
Gestione dei difetti
Il difetto è il comportamento imprevisto o indesiderato che si verifica nel prodotto. Tutto ciò che riguarda il difetto è un processo continuo, non uno stato particolare.
Trovare e correggere il difetto nella fase iniziale dello sviluppo del software riduce il tempo, la rilavorazione e il denaro. Trovare il difetto nelle fasi successive costa sempre più volte rispetto alle fasi iniziali. Migliora la qualità aggiungendo affidabilità, portabilità, manutenibilità, ecc.
Quindi è consigliabile che ogni azienda dovrebbe andare con a Gestione dei difetti team di gestione del sistema e dei difetti in ogni fase dello sviluppo per ottenere una buona qualità dei prodotti e ottenere la fiducia dei clienti.
Una di queste tecniche a prova di errore è POKA-YOKE,
Cos'è Poka-Yoke?
È un processo di garanzia della qualità introdotto dall'ingegnere giapponese Shigeo Shingo. Questo termine è usato nella lingua giapponese come 'Poka' che significa errore e 'Giogo' che significa prevenzione, ovvero tecnica di prevenzione degli errori o di correzione degli errori.
differenza tra join sinistro e join esterno sinistro
Lo scopo di Poka-Yoke è quello di sviluppare processi per ridurre i difetti evitando o correggendo (design per mostrare allarmi o messaggi di avvertimento all'utente) errori nelle prime fasi di progettazione e sviluppo. Questa tecnica è utilizzata principalmente nelle industrie manifatturiere, ma ora questa tecnica efficace è adattata anche ai processi di sviluppo del software.
Esempio Poka-Yoke da un'industria manifatturiera
Un buon esempio di design Poka-Yoke dall'industria manifatturiera: gli slot per schede SIM nei telefoni cellulari sono progettati in modo tale che l'utente possa inserire la scheda SIM solo in modo corretto. Non c'è alcuna possibilità per l'utente di commettere un errore mentre inserisce la carta SIM su un telefono cellulare. Ciò rende la progettazione a prova di errore.
Esempio di Poka-Yoke da un'applicazione software
L'esempio perfetto del processo Poka-yoke nell'applicazione software è: la funzione Allegati e-mail di Gmail: quando digiti la parola 'trova allegato' durante la composizione di una nuova e-mail e provi a inviarla senza allegare un file, Google ti mostrerà un promemoria popup che ti dice ha usato le parole 'trova allegato' nella tua email ma non ha allegato alcun file, vuoi continuare a inviare?
Come funziona la tecnica Poka-Yoke?
Passaggi per implementare un processo Poka-Yoke:
Di seguito sono riportati alcuni passaggi per progettare e implementare un processo per prevenire i difetti del software:
- Elenca tutti gli scenari utente o i test case end-to-end per l'applicazione.
- Analizza tutti questi scenari utente chiedendo 5 perché domande per capire i modi in cui questi scenari possono fallire.
- Una volta identificati i modi in cui questi scenari utente possono essere sbagliati, progetta e applica una tecnica Poka-Yoke per evitare i possibili problemi ( Per esempio, questo progetto potrebbe essere un semplice test unitario per verificare se una funzione è stata scritta funziona correttamente o meno).
- Assicurarsi che la tecnica progettata per evitare il difetto funzioni correttamente fornendo errori o il messaggio di avviso per un input o una gestione errati dello scenario utente.
- Una volta superato il periodo di prova, aggiungi questa tecnica all'elenco dei processi Poka-Yoke da eseguire ogni volta su una nuova versione / build. (Nell'esempio di test unitario sopra, una volta che lo unit test è stato scritto per controllare il codice della funzione, controlla se funziona per valori positivi e negativi. Quando questo test ha esito positivo, aggiungilo al repository 'Test unitari' da eseguire ogni volta che qualsiasi modifica è realizzato in moduli pertinenti)
- Misura il successo di questo processo Poka-Yoke. Controlla se questa tecnica ha davvero prevenuto o rilevato difetti durante il verificarsi.
Categorie di Poka-Yoke
- Prevenzione dei difetti
- Rilevamento dei difetti
Prevenzione dei difetti è l'attività più importante in SDLC. Questo metodo viene utilizzato per identificare tutti i possibili problemi e le azioni necessarie per eliminarli. Molti difetti del software possono essere prevenuti nella fase di progettazione stessa.
Il team di controllo qualità può aiutare a prevenire questi difetti esaminando il Documenti di specifica dei requisiti software . Tutti i problemi identificati in questa fase vengono affrontati nella fase di codifica del software e viene impedito il trasferimento alle fasi successive.
Gli esempi dell'industria manifatturiera e del software forniti sopra sono buoni esempi di tecniche di prevenzione dei difetti.
Rilevamento dei difetti è il compito più comune per i team di garanzia della qualità. I team di controllo qualità utilizzano vari approcci e strategie per eseguire efficacemente i casi di test. I difetti vengono rilevati da molti altri metodi di test come Fumo e test esplorativi.
Quali sono le qualità di un buon processo Poka-Yoke?
- Poka-Yoke dovrebbe essere semplice da creare e mantenere. Dovrebbe essere facile da gestire e conveniente. Mantenere un Poka-Yoke complesso richiede tempo e spesso causa problemi se non viene mantenuto correttamente.
- Poka-Yoke dovrebbe essere progettato all'inizio dell'SDLC in modo che possa rilevare rapidamente i problemi.
- Un buon Poka-Yoke dovrebbe essere abbastanza preciso da trovare i problemi quando si verificano.
- Un buon Poka-Yoke dovrebbe essere progettato in modo tale da fermare i problemi più comuni che si verificano nel software.
- Dovrebbe far parte del processo di progettazione e codifica del software.
Necessità di Poka-Yoke in fase di progettazione del software
Per sviluppare software di qualità, è importante progettarlo in base alle aspettative dell'utente. L'utente dovrebbe essere in grado di utilizzare / gestire il software con facilità senza commettere errori costosi.
Esempi di Poka-Yoke nel design e nella qualità
# 1) Un esempio di file allegati mancanti durante la composizione di un'e-mail utilizzando Gmail.
# 2) Alcuni siti Web mostrano l'indicatore di sicurezza della password per mostrare la forza della password. Inoltre, guida gli utenti a utilizzare una password complessa con combinazioni di caratteri e numeri.
# 3) Funzione del motore di ricerca di Google per suggerire automaticamente le correzioni ortografiche per la query di ricerca dell'utente. Questo aiuta gli utenti a evitare di commettere errori involontari.
# 4) I siti Web bancari utilizzano la funzione di doppio campo di testo per accettare informazioni sensibili come password o numeri di conto. Il secondo campo di testo è solitamente crittografato per evitare di commettere errori durante la fornitura del valore di input e per verificare se entrambi i valori del campo di testo corrispondono.
La necessità di Poka-Yoke nello sviluppo di software
Da innumerevoli esempi di settore, è ormai risaputo che il costo della riparazione di un difetto dopo il rilascio del prodotto è molte volte maggiore rispetto alla correzione nel ciclo di sviluppo.
Ulteriore lettura = >> Qual è il costo della qualità (COQ)?
La migliore soluzione per evitare problemi post-rilascio è l'introduzione delle tecniche Poka-Yoke che potrebbero rilevare i difetti nelle prime fasi di sviluppo, rendendola più economica da risolvere. L'implementazione del processo Poka-Yoke dipende in gran parte dal Abilità del tester per acquisire ed eliminare i problemi.
Esempi di Poka-Yoke nello sviluppo di software
- Test di unità è uno dei mezzi più efficaci per lo sviluppo di software a prova di errore.
- Avere la convalida Poka-Yoke nel kit è sempre un buon suggerimento per gli sviluppatori. Gli errori di convalida dovrebbero essere gestiti nel codice. Questi problemi di convalida dovrebbero essere rivisti e aggiornati periodicamente.
- Un Poka-Yoke comune ed efficace è assumere i candidati giusti per mettere a prova di errore il tuo software.
Conclusione
Fare errori va bene; semplicemente non fare lo stesso errore ancora e ancora . E per evitare di ripetere gli stessi errori, dovrebbero esserci alcuni controlli o processi in atto. Le tecniche Poka-Yoke vengono sviluppate per risolvere questo problema.
Riferimenti dell'articolo:- Shigeo Shingo, Zero Quality Control
- Wikipedia riferimento
- Boris Beizer, Tecniche di test del software, seconda edizione Van Nostrand Reinhold
Circa l'autore: Questo è un guest post di Nataraj Kanchyani. Lavora come Senior Software Engineer-Testing presso Centurylink Technologies India Pvt Ltd, Bangalore.
Hai qualche esperienza lavorando su questa tecnica? O hai mai lavorato allo sviluppo di tali processi di prevenzione e rilevamento dei difetti? Fateci sapere nei commenti qui sotto.
Lettura consigliata
- Quali sono gli attributi di qualità?
- Il falso dio della qualità contro i veri esseri umani: chi è responsabile della qualità del software?
- Che cos'è Software Quality Assurance (SQA): una guida per principianti
- Comprensione reciproca nei test: una chiave per fornire un software di qualità
- Test del software e certificazioni di garanzia della qualità - Parte 2