how use poka yoke technique improve software quality
Software Engineering er en disciplin, der sigter mod at producere software af høj kvalitet gennem en systematisk, velplanlagt tilgang til softwareudvikling.
Den indeholder mange gode fremgangsmåder, der følger standarderne for at opnå kvalitetsproduktet. De tre hovedfaser af softwareudvikling er analyse - design - implementering. At opnå software af høj kvalitet er afgørende for at producere et produkt uden fejl.
Hvad du vil lære:
Software Process Engineering
Fejlhåndtering
Fejlen er den uventede eller uønskede adfærd, der opstår i produktet. Alt, hvad der er relateret til mangler, er en kontinuerlig proces, ikke en bestemt tilstand.
At finde og rette fejlen i den tidlige fase af softwareudvikling reducerer tid, omarbejde og penge. At finde manglen i senere stadier koster altid flere gange end de tidlige stadier. Det forbedrer kvaliteten ved at tilføje pålidelighed, bærbarhed, vedligeholdelsesevne osv.
Derfor er det tilrådeligt, at alle virksomheder skal gå med en Fejlhåndtering system- og defektstyringsteam på hvert trin i udviklingen for at opnå god kvalitet i produkterne og for at få kundernes tillid.
En af sådanne fejlsikringsteknikker er POKA-YOKE,
Hvad er Poka-Yoke?
Det er en kvalitetssikringsproces introduceret af den japanske ingeniør Shigeo Shingo. Dette udtryk bruges på det japanske sprog som 'Poka', der betyder fejl og 'åg', der betyder forhindrer dvs. fejlforebyggelse eller fejlsikringsteknik.
Formålet med Poka-Yoke er at udvikle processer for at reducere defekter ved at undgå eller rette (design for at vise advarsler eller advarsler til brugeren) fejl i tidlige design- og udviklingsfaser. Denne teknik bruges mest i fremstillingsindustrien, men nu er denne effektive teknik også tilpasset softwareudviklingsprocesser.
Poka-Yoke-eksempel fra en fremstillingsindustri
Et godt eksempel på Poka-Yoke-design fra fremstillingsindustrien - SIM-kortspor i mobiltelefoner er designet på en sådan måde, at brugeren kun får lov til at indsætte SIM-kortet på en korrekt måde. Der er ingen chance for brugeren at begå en fejl, mens han sætter SIM-kortet på en mobiltelefon. Dette gør designet fejlsikkert.
Poka-Yoke-eksempel fra en softwareapplikation
Det perfekte eksempel på Poka-åg-processen i softwareapplikationen er - Gmail-vedhæftningsfunktion til e-mail - når du skriver ordet 'find vedhæftet', mens du komponerer en ny e-mail og prøver at sende det uden at vedhæfte en fil, vil Google vise dig en popup-påmindelse, der siger, at du brugte ord 'find vedhæftet' i din e-mail, men vedhæftede ikke nogen filer, vil du stadig fortsætte med at sende?
Hvordan fungerer Poka-Yoke-teknikken?
Trin til implementering af en Poka-Yoke-proces:
Nedenfor er et par trin til at designe og implementere en proces for at forhindre softwarefejl:
- Liste over alle brugerscenarier eller end-to-end testtilfælde til applikationen.
- Analyser alle disse brugerscenarier ved at spørge 5-hvorfor spørgsmål for at forstå, hvordan disse scenarier kan mislykkes.
- Når du først har identificeret, hvordan disse brugerscenarier kan være forkerte, skal du designe og anvende en Poka-Yoke-teknik for at undgå de mulige problemer ( For eksempel, dette design kunne være en simpel enhedstest for at kontrollere, om en funktion, der blev skrevet, fungerer korrekt eller ej).
- Sørg for, at den teknik, der er designet til at undgå defekten, fungerer korrekt ved at give fejl eller en advarselsmeddelelse om forkert indtastning eller håndtering af brugerscenariet.
- Når forsøget er bestået, skal du tilføje denne teknik til listen over Poka-Yoke-processer, der skal udføres hver gang ved ny frigivelse / build. (I ovenstående eksempel på enhedstest, når enhedstesten er skrevet for at kontrollere funktionskoden, skal du kontrollere, om den fungerer for positive og negative værdier. Når denne test består, skal du tilføje den til 'Enhedstest' -lager, der skal udføres hver gang en ændring er lavet i relevante moduler)
- Mål succesen med denne Poka-Yoke-proces. Kontroller, om denne teknik virkelig har forhindret eller fanget fejl, når den sker.
Kategorier af Poka-åg
- Fejlforebyggelse
- Defektdetektion
Fejlforebyggelse er den vigtigste aktivitet i SDLC. Denne metode bruges til at identificere alle mulige problemer og handlinger, der er nødvendige for at eliminere disse problemer. Mange softwarefejl kan forhindres i selve designfasen.
Kvalitetssikringsteamet kan hjælpe med at forhindre disse mangler ved at gennemgå Specifikationsdokumenter til softwarekrav . Alle problemer identificeret i dette trin behandles i softwarekodningsfasen og forhindres i at transportere til senere stadier.
Ovenstående fremstillings- og softwareindustrieksempler er gode eksempler på teknikker til forebyggelse af mangler.
Defektdetektion er den mest almindelige opgave for kvalitetssikringshold. QA-hold bruger forskellige tilgange og strategier til effektivt at udføre testsager. Fejl opdages ved mange andre testmetoder som f.eks Røg og sonderende test.
Hvad er kvaliteterne ved en god Poka-Yoke-proces?
- Poka-Yoke skal være let at skabe og vedligeholde. Det skal være let at håndtere og omkostningseffektivt. Vedligeholdelse af en kompleks Poka-Yoke er tidskrævende og resulterer ofte i problemer, hvis de ikke vedligeholdes ordentligt.
- Poka-Yoke skal designes tidligt i SDLC, så det hurtigt kan opdage problemer.
- En god Poka-Yoke skal være nøjagtig nok til at finde problemer, når de opstår.
- En god Poka-Yoke skal designes på en sådan måde, at den skal stoppe de mest almindelige problemer, der opstår i softwaren.
- Det skal være en del af softwaredesign og kodningsprocessen.
Behov for Poka-åg i fase af softwaredesign
For at udvikle kvalitetssoftware er det vigtigt at designe det efter brugerens forventninger. Brugeren skal være i stand til let at bruge / håndtere softwaren uden at lave dyre fejl.
Poka-Yoke eksempler i design og kvalitet
# 1) Et eksempel på manglende vedhæftede filer, mens du skriver en e-mail ved hjælp af Gmail.
# 2) Nogle websteder viser adgangskodestyrkeindikatoren for at vise adgangskodestyrken. Det guider også brugere til at bruge en stærk adgangskode med kombinationer af tegn og tal.
# 3) Googles søgemaskinefunktion til automatisk at foreslå stavekorrektioner for brugersøgeforespørgslen. Dette hjælper brugerne med at undgå at lave utilsigtede fejl.
# 4) Bankwebsteder bruger dobbelt tekstfeltfunktion til at acceptere følsomme oplysninger som adgangskoder eller kontonumre. Det andet tekstfelt er normalt krypteret for at undgå at tage fejl, mens du angiver inputværdien, og for at kontrollere om begge tekstfeltværdier stemmer overens.
Behovet for Poka-Yoke inden for softwareudvikling
Fra utallige brancheeksempler er det nu velkendt, at omkostningerne ved at rette en fejl efter produktudgivelse er mange gange større end at rette den i udviklingscyklussen.
Yderligere læsning = >> Hvad er omkostningerne ved kvalitet (COQ)?
Den bedste løsning for at undgå problemer efter frigivelse er at introducere Poka-Yoke-teknikker, der kan fange fejl i tidlige udviklingsfaser, hvilket gør det billigere at rette. Implementering af Poka-Yoke-processen afhænger stort set af Testers evne at fange og fjerne problemerne.
Poka-Yoke eksempler i softwareudvikling
- Enhedstest er et af de mest effektive midler til fejlsikring af softwareudvikling.
- At have validering af Poka-Yoke i sættet er altid et godt forslag for udviklere. Valideringsfejl skal håndteres i din kode. Disse valideringsproblemer bør revideres og opdateres regelmæssigt.
- En almindelig og mest effektiv Poka-Yoke er at ansætte de rigtige kandidater til fejlsikring af din software.
Konklusion
At lave fejl er OK; bare tag ikke den samme fejl igen og igen . Og for at undgå at lave de samme fejl igen, bør der være nogle kontroller eller processer på plads. Poka-Yoke teknikker er udviklet til at løse dette problem.
Artikelhenvisninger:- Shigeo Shingo, Zero Quality Control
- Wikipedia reference
- Boris Beizer, Software Testing Techniques, 2. udgave. Van Nostrand Reinhold
Om forfatter: Dette er et gæstepost af Nataraj Kanchyani. Han arbejder som Senior Software Engineer-Testing hos Centurylink Technologies India Pvt Ltd, Bangalore.
forskel mellem test case og test scenario
Har du nogen erfaring med at arbejde med denne teknik? Eller har du nogensinde arbejdet med at udvikle sådanne defekte forebyggelses- og detekteringsprocesser? Lad os vide i kommentarerne nedenfor.
Anbefalet læsning
- Hvad er kvalitetsattributterne?
- Falske Gud for kvalitet versus sande mennesker - Hvem er ansvarlig for softwarekvalitet?
- Hvad er softwarekvalitetssikring (SQA): En guide til begyndere
- Gensidig forståelse i test: En nøgle til levering af kvalitetssoftware
- Softwaretest og kvalitetssikringscertificeringer - Del 2