how use poka yoke technique improve software quality
hur man öppnar körbar jar-fil
Software Engineering är en disciplin som syftar till att producera högkvalitativ programvara genom ett systematiskt, välplanerat tillvägagångssätt för mjukvaruutveckling.
Den innehåller många goda metoder som följer standarderna för att uppnå kvalitetsprodukten. De tre huvudfaserna i mjukvaruutveckling är analys - design - implementering. Att åstadkomma högkvalitativ programvara är viktigt för att producera en produkt utan defekter.
Vad du kommer att lära dig:
Programvaruteknik
Defekthantering
Felet är det oväntade eller oönskade beteendet som uppstår i produkten. Allt som är relaterat till defekter är en kontinuerlig process, inte ett särskilt tillstånd.
Att hitta och åtgärda defekten i det tidiga skedet av mjukvaruutveckling minskar tid, omarbetning och pengar. Att hitta defekten i senare steg kostar alltid flera gånger än de tidiga stadierna. Det förbättrar kvaliteten genom att lägga till tillförlitlighet, bärbarhet, underhållbarhet etc.
Därför är det lämpligt att varje företag ska gå med en Felhantering system- och defekthanteringsgruppen i varje steg i utvecklingen för att uppnå god kvalitet i produkterna och för att få kundernas förtroende.
En av sådana felsäkra tekniker är POKA-YOKE,
Vad är Poka-Yoke?
Det är en kvalitetssäkringsprocess som introducerats av den japanska ingenjören Shigeo Shingo. Denna term används på det japanska språket som 'Poka' som betyder misstag och 'ok' som betyder förhindra dvs misstag förebyggande eller felsäker teknik.
Syftet med Poka-Yoke är att utveckla processer för att minska defekter genom att undvika eller korrigera (design för att visa varningar eller varningsmeddelanden till användaren) misstag i tidiga design- och utvecklingsfaser. Denna teknik används mest inom tillverkningsindustrin men nu är den här effektiva tekniken också anpassad till mjukvaruutvecklingsprocesser.
Poka-Yoke-exempel från en tillverkningsindustri
Ett bra exempel på Poka-Yoke-design från tillverkningsindustrin - SIM-kortplats i mobiltelefoner är utformade på ett sådant sätt att användaren endast får sätta in SIM-kortet på rätt sätt. Det finns ingen chans för användaren att göra ett misstag när han placerar SIM-kortet på en mobiltelefon. Detta gör designen felsäker.
Poka-Yoke-exempel från en programvara
Det perfekta exemplet på Poka-ok-processen i mjukvaruapplikationen är - Gmail e-postbilagefunktion - när du skriver ordet 'hitta bifogad' medan du skapar ett nytt e-postmeddelande och försöker skicka det utan att bifoga en fil visar Google dig en popup-påminnelse som säger att du använda ord 'hitta bifogade' i din e-post men bifogade inga filer, vill du fortfarande fortsätta skicka?
Hur fungerar Poka-Yoke-tekniken?
Steg för att genomföra en Poka-Yoke-process:
Nedan följer några steg för att utforma och implementera en process för att förhindra programvarudefekter:
- Lista alla användarscenarier eller end-to-end testfall för applikationen.
- Analysera alla dessa användarscenarier genom att fråga 5-varför frågor för att förstå hur dessa scenarier kan misslyckas.
- När du väl har identifierat hur dessa användarscenarier kan vara fel, utforma och använd en Poka-Yoke-teknik för att undvika eventuella problem ( Till exempel, denna design kan vara ett enkelt enhetstest för att kontrollera om någon funktion som skrivits fungerar korrekt eller inte).
- Se till att tekniken som är utformad för att undvika defekten fungerar korrekt genom att ge fel eller varningsmeddelandet för felaktig inmatning eller hantering av användarscenariot.
- När försöket har godkänts lägg till denna teknik i listan över Poka-Yoke-processer som ska utföras varje gång vid ny release / build. (I exemplet ovanstående enhetstestning, när enhetstestet är skrivet för att kontrollera funktionskoden, kontrollera om det fungerar för positiva och negativa värden. När detta test passerar lägger du till det i 'Unit tests' -förvaret som ska utföras varje gång någon förändring görs i relevanta moduler)
- Mät framgången för denna Poka-Yoke-process. Kontrollera om den här tekniken verkligen har förhindrat eller fångat defekter när det inträffar.
Kategorier av Poka-ok
- Förebyggande av defekter
- Defektavkänning
Förebyggande av defekter är den viktigaste aktiviteten i SDLC. Denna metod används för att identifiera alla möjliga problem och åtgärder som behövs för att eliminera dessa problem. Många programfel kan förhindras i själva designfasen.
Kvalitetssäkringsteamet kan hjälpa till att förhindra dessa defekter genom att granska Dokument för specifikation av programvarukrav . Alla problem som identifierats i det här steget behandlas i programvarukodningsfasen och förhindras från att transporteras till senare steg.
Tillverknings- och programvaruindustrin som tillhandahålls ovan är bra exempel på tekniker för förebyggande av defekter.
Defektavkänning är den vanligaste uppgiften för kvalitetssäkringsteam. QA-team använder olika metoder och strategier för att effektivt genomföra testfall. Fel upptäcks av många andra testmetoder som Rök och utforskande testning.
Vilka är egenskaperna hos en bra Poka-Yoke-process?
- Poka-Yoke ska vara enkelt att skapa och underhålla. Det ska vara enkelt att hantera och kostnadseffektivt. Att upprätthålla en komplex Poka-Yoke är tidskrävande och resulterar ofta i problem om den inte underhålls ordentligt.
- Poka-Yoke bör utformas tidigt i SDLC så att det snabbt kan upptäcka problem.
- Ett bra Poka-ok bör vara noggrant för att hitta problem när de uppstår.
- Ett bra Poka-ok bör utformas på ett sådant sätt att det ska stoppa de vanligaste problemen som uppstår i programvaran.
- Det bör vara en del av mjukvarudesign och kodningsprocessen.
Behovet av Poka-ok i programvarufasongen
För att utveckla kvalitetsprogramvara är det viktigt att utforma den enligt användarens förväntningar. Användaren ska kunna använda / hantera programvaran med lätthet utan att göra några dyra misstag.
Poka-Yoke-exempel i design och kvalitet
# 1) Ett exempel på saknade bilagefiler när du skapar ett e-postmeddelande med Gmail.
# 2) Vissa webbplatser visar lösenordsstyrkaindikatorn för att visa lösenordsstyrkan. Det guidar också användare att använda ett starkt lösenord med kombinationer av tecken och siffror.
# 3) Googles sökmotorfunktion för att automatiskt föreslå stavningskorrigeringar för användarsökfrågan. Detta hjälper användare att undvika att göra misstag.
# 4) Bankwebbplatser använder dubbel textfältfunktion för att acceptera känslig information som lösenord eller kontonummer. Det andra textfältet är vanligtvis krypterat för att undvika misstag när du anger inmatningsvärdet och för att kontrollera om båda textfältets värden matchar.
Behovet av Poka-ok i programvaruutveckling
Från otaliga branschexempel är det nu välkänt att kostnaden för att åtgärda en defekt efter produktsläpp är många gånger större än att åtgärda den i utvecklingscykeln.
Ytterligare läsning = >> Vad är kostnaden för kvalitet (COQ)?
Den bästa lösningen för att undvika problem efter lanseringen är att introducera Poka-Yoke-tekniker som kan fånga defekter i tidiga utvecklingsfaser vilket gör det billigare att fixa. Implementeringen av Poka-Yoke-processen beror till stor del på Testarens förmåga för att fånga och eliminera problemen.
Poka-Yoke-exempel i mjukvaruutveckling
- Enhetstestning är ett av de mest effektiva sätten för felsäker programutveckling.
- Att ha validering av Poka-Yoke i satsen är alltid ett bra förslag för utvecklare. Valideringsfel ska hanteras i din kod. Dessa valideringsproblem bör ses över och uppdateras regelbundet.
- Ett vanligt och mest effektivt Poka-Yoke är att anställa rätt kandidater för att misståka din programvara.
Slutsats
Att göra misstag är OK; gör bara inte samma misstag om och om igen . Och för att undvika att göra samma misstag bör det finnas några kontroller eller processer på plats. Poka-Yoke-tekniker utvecklas för att lösa detta problem.
Artikelreferenser:- Shigeo Shingo, Zero Quality Control
- Wikipedia referens
- Boris Beizer, Software Testing Techniques, 2: a upplagan Van Nostrand Reinhold
Om författaren: Detta är ett gästinlägg av Nataraj Kanchyani. Han arbetar som Senior Software Engineer-Testing vid Centurylink Technologies India Pvt Ltd, Bangalore.
Har du någon erfarenhet av att arbeta med den här tekniken? Eller har du någonsin arbetat med att utveckla sådana processer för förebyggande och upptäckt av defekter? Låt oss veta i kommentarerna nedan.
Rekommenderad läsning
- Vilka är kvalitetsattributen?
- Fake God of Quality Versus True Humans - Vem är ansvarig för programvarukvalitet?
- Vad är kvalitetssäkring av programvara (SQA): en guide för nybörjare
- Ömsesidig förståelse vid testning: En nyckel för att leverera en kvalitetsprogramvara
- Programvarutestning och kvalitetssäkringscertifieringar - Del 2