how use poka yoke technique improve software quality
Software Engineering er et fagområde som tar sikte på å produsere programvare av høy kvalitet gjennom en systematisk, godt planlagt tilnærming til programvareutvikling.
Den inneholder mange gode fremgangsmåter som følger standardene for å oppnå kvalitetsproduktet. De tre hovedfasene i programvareutvikling er analyse - design - implementering. Å oppnå programvare av høy kvalitet er viktig for å produsere et produkt uten feil.
Hva du vil lære:
Programvare prosess engineering
Feilbehandling
Mangelen er den uventede eller uønskede oppførselen som oppstår i produktet. Alt relatert til mangler er en kontinuerlig prosess, ikke en bestemt tilstand.
Å finne og fikse feilen i den tidlige fasen av programvareutvikling reduserer tid, omarbeid og penger. Å finne feilen i senere stadier koster alltid flere ganger enn de tidlige stadiene. Det forbedrer kvaliteten ved å legge til pålitelighet, bærbarhet, vedlikehold, etc.
Derfor er det tilrådelig at hvert selskap skal gå med et Feilbehandling system- og defektstyringsteam på hvert trinn i utviklingen for å oppnå god kvalitet i produktene og for å få kundenes tillit.
En av slike feilbeskyttelsesteknikker er POKA-YOKE,
Hva er Poka-Yoke?
Det er en kvalitetssikringsprosess introdusert av den japanske ingeniøren Shigeo Shingo. Dette begrepet brukes på det japanske språket som 'Poka' som betyr feil og 'åk' som betyr forhindre dvs. feilhindring eller feilsikker teknikk.
Formålet med Poka-Yoke er å utvikle prosesser for å redusere feil ved å unngå eller korrigere (design for å vise varsler eller advarsler til brukeren) feil i de tidlige design- og utviklingsfasene. Denne teknikken brukes mest i produksjonsindustrien, men nå er denne effektive teknikken også tilpasset programvareutviklingsprosesser.
Poka-Yoke-eksempel fra en produksjonsindustri
Et godt eksempel på Poka-Yoke-design fra produksjonsindustrien - SIM-kortspor i mobiltelefoner er designet på en slik måte at brukeren bare får sette inn SIM-kortet på en riktig måte. Det er ingen sjanse for brukeren å gjøre en feil mens han setter SIM-kortet på en mobiltelefon. Dette gjør design feilaktig.
Poka-Yoke-eksempel fra et program
Det perfekte eksempelet på Poka-åk-prosessen i programvareapplikasjonen er - Gmail e-postvedleggsfunksjon - når du skriver ordet 'finn vedlagt' mens du skriver en ny e-post og prøver å sende det uten å legge ved en fil, vil Google vise deg en popuppåminnelse om at du brukte ord “finn vedlagt” i e-posten din, men ikke la ved noen filer, vil du fortsatt fortsette å sende?
Hvordan fungerer Poka-Yoke-teknikken?
Fremgangsmåte for å implementere en Poka-Yoke-prosess:
Nedenfor er noen trinn for å designe og implementere en prosess for å forhindre programvaredefekter:
- Liste over alle brukerscenarier eller end-to-end testtilfeller for applikasjonen.
- Analyser alle disse brukerscenariene ved å spørre 5-hvorfor spørsmål for å forstå hvordan disse scenariene kan mislykkes.
- Når du har identifisert måtene disse brukerscenariene kan være feil, kan du designe og bruke en Poka-Yoke-teknikk for å unngå mulige problemer ( For eksempel, dette designet kan være en enkel enhetstest for å sjekke om en funksjon som ble skrevet, fungerer som den skal eller ikke).
- Forsikre deg om at teknikken som er designet for å unngå feilen fungerer som den skal ved å gi feil eller advarsler om feil inntasting eller håndtering av brukerscenariet.
- Når prøven er bestått, legg denne teknikken til listen over Poka-Yoke-prosesser som skal utføres hver gang ved ny utgivelse / bygging. (I det ovennevnte eksemplet på enhetstesting, når enhetstesten er skrevet for å sjekke funksjonskoden, må du sjekke om den fungerer for positive og negative verdier. Når denne testen består, legg den til i 'Enhetstester' -registeret som skal utføres hver gang en endring er laget i relevante moduler)
- Mål suksessen til denne Poka-Yoke-prosessen. Sjekk om denne teknikken virkelig har forhindret eller fanget feil når det skjer.
Kategorier av Poka-åk
- Feilforebygging
- Feiloppdagelse
Feilforebygging er den viktigste aktiviteten i SDLC. Denne metoden brukes til å identifisere alle mulige problemer og handlinger som trengs for å eliminere disse problemene. Mange programvaredefekter kan forhindres i selve designfasen.
Kvalitetssikringsteamet kan bidra til å forhindre disse feilene ved å gå gjennom Programvare kravspesifikasjonsdokumenter . Alle problemene som er identifisert i dette stadiet blir adressert i programvarekodingsfasen og forhindret fra å overføre til senere stadier.
Eksemplene på produksjon og programvareindustri gitt ovenfor er gode eksempler på teknikker for forebygging av mangler.
Feiloppdagelse er den vanligste oppgaven for kvalitetssikringsteam. QA-team bruker ulike tilnærminger og strategier for å utføre testsaker effektivt. Mangler oppdages av mange andre testmetoder som f.eks Røyk og utforskende testing.
Hva er egenskapene til en god Poka-Yoke-prosess?
- Poka-Yoke skal være enkelt å lage og vedlikeholde. Det skal være enkelt å håndtere og kostnadseffektivt. Å vedlikeholde en kompleks Poka-Yoke er tidkrevende og resulterer ofte i problemer hvis den ikke vedlikeholdes ordentlig.
- Poka-Yoke bør utformes tidlig i SDLC slik at den raskt kan oppdage problemer.
- En god Poka-Yoke bør være nøyaktig nok til å finne problemer når de oppstår.
- En god Poka-Yoke bør utformes på en slik måte at den skal stoppe de vanligste problemene som oppstår i programvaren.
- Det bør være en del av programvaredesign og koding.
Behov for Poka-åk i programvaredesignfasen
For å utvikle programvare av høy kvalitet er det viktig å designe den i henhold til brukerens forventninger. Brukeren skal være i stand til å bruke / håndtere programvaren uten problemer uten å gjøre noen kostbare feil.
Poka-Yoke eksempler i design og kvalitet
# 1) Et eksempel på manglende vedleggsfiler når du skriver en e-post ved hjelp av Gmail.
# 2) Noen nettsteder viser passordstyrkeindikatoren for å vise passordstyrken. Det guider også brukere til å bruke et sterkt passord med kombinasjoner av tegn og tall.
# 3) Googles søkemotorfunksjon for automatisk å foreslå stavekorrigeringer for brukersøket. Dette hjelper brukere å unngå å gjøre utilsiktede feil.
# 4) Banknettsteder bruker dobbelt tekstfeltfunksjon for å godta sensitiv informasjon som passord eller kontonumre. Det andre tekstfeltet er vanligvis kryptert for å unngå å gjøre feil mens du oppgir inngangsverdien, og for å sjekke om begge tekstfeltverdiene samsvarer.
Behovet for Poka-Yoke innen programvareutvikling
Fra utallige bransjeeksempler er det nå kjent at kostnadene ved å fikse en feil etter produktutgivelsen er mange ganger større enn å fikse den i utviklingssyklusen.
Videre lesing = >> Hva koster kvaliteten (COQ)?
gratis databaseprogramvare for Windows 10
Den beste løsningen for å unngå problemer etter utgivelsen er å introdusere Poka-Yoke-teknikkene som kan fange feil i tidlige utviklingsfaser, noe som gjør det billigere å fikse. Poka-Yoke prosessimplementering avhenger i stor grad av Testers evne for å fange opp og eliminere problemene.
Poka-Yoke eksempler i programvareutvikling
- Enhetstesting er et av de mest effektive måtene for feilsikker programvareutvikling.
- Å ha validering Poka-Yoke i settet er alltid et godt forslag for utviklere. Valideringsfeil bør håndteres i koden din. Disse valideringsproblemene bør revideres og oppdateres med jevne mellomrom.
- En vanlig og mest effektiv Poka-Yoke er å ansette de rette kandidatene for å feilsikre programvaren din.
Konklusjon
Å gjøre feil er OK; bare ikke gjør den samme feilen igjen og igjen . Og for å unngå å gjøre de samme feilene igjen, bør det være noen kontroller eller prosesser på plass. Poka-Yoke-teknikker er utviklet for å løse dette problemet.
Artikkelhenvisninger:- Shigeo Shingo, null kvalitetskontroll
- Wikipedia referanse
- Boris Beizer, Software Testing Techniques, 2. utg. Van Nostrand Reinhold
Om forfatter: Dette er et gjestepost av Nataraj Kanchyani. Han jobber som Senior Software Engineer-Testing i Centurylink Technologies India Pvt Ltd, Bangalore.
Har du noen erfaring med å jobbe med denne teknikken? Eller har du noen gang jobbet med å utvikle slike prosesser for å forebygge og oppdage feil? Gi oss beskjed i kommentarene nedenfor.
Anbefalt lesing
- Hva er kvalitetsattributtene?
- Falske Gud for kvalitet kontra sanne mennesker - Hvem er ansvarlig for programvarekvalitet?
- Hva er programvarekvalitetssikring (SQA): en guide for nybegynnere
- Gjensidig forståelse i testing: en nøkkel for å levere kvalitetsprogramvare
- Programvaretesting og kvalitetssikringssertifiseringer - Del 2