how use poka yoke technique improve software quality
Softversko inženjerstvo je disciplina koja ima za cilj proizvodnju visokokvalitetnog softvera kroz sustavni, dobro isplanirani pristup razvoju softvera.
Sadrži mnoštvo dobrih praksi, slijedeći standarde za postizanje kvalitetnog proizvoda. Tri glavne faze razvoja softvera su analiza - dizajn - implementacija. Da bi se postigao visokokvalitetni softver, neophodno je proizvesti proizvod bez nedostataka.
Što ćete naučiti:
Procesno inženjerstvo softvera
Upravljanje nedostacima
Kvar je neočekivano ili neželjeno ponašanje koje se događa u proizvodu. Sve što je povezano s nedostatkom kontinuirani je proces, a ne određeno stanje.
Pronalaženje i otklanjanje kvara u ranoj fazi razvoja softvera smanjuje vrijeme, preradu i novac. Pronalaženje kvara u kasnijim fazama uvijek košta više puta nego u ranim fazama. Poboljšava kvalitetu dodavanjem pouzdanosti, prenosivosti, održavanja itd.
Stoga je poželjno da svaka tvrtka pristane na Upravljanje nedostacima tim za upravljanje sustavima i nedostacima u svakoj fazi razvoja kako bi se postigla dobra kvaliteta proizvoda i steklo povjerenje kupaca.
Jedna od takvih tehnika provjere pogrešaka je POKA-YOKE,
Što je Poka-Yoke?
To je postupak osiguranja kvalitete koji je uveo japanski inženjer Shigeo Shingo. Ovaj se izraz u japanskom jeziku koristi kao 'Poka' što znači pogrešku i 'Jaram' što znači sprječavanje, tj. Tehnika sprečavanja pogrešaka ili provjere pogrešaka.
Svrha Poka-Yokea je razviti procese za smanjenje nedostataka izbjegavanjem ili ispravljanjem (dizajn koji prikazuje upozorenja ili poruke upozorenja korisniku) u ranim fazama dizajna i razvoja. Ova se tehnika uglavnom koristi u proizvodnim industrijama, ali sada je i ova učinkovita tehnika prilagođena procesima razvoja softvera.
Primjer Poka-Yoke iz prerađivačke industrije
Dobar primjer dizajna Poka-Yoke iz proizvodne industrije - utor za SIM karticu u mobitelima dizajniran je na takav način da korisnik može umetnuti SIM karticu samo na ispravan način. Nema šanse da korisnik pogriješi stavljajući SIM karticu na mobitel. To čini dokaz dizajnerske pogreške.
Primjer Poka-Yoke iz softverske aplikacije
algoritam sortiranja hrpe c ++
Savršen primjer Poka-yoke postupka u softverskoj aplikaciji je - značajka Gmail privitaka e-pošte - kada prilikom sastavljanja nove e-pošte utipkate riječ 'find attach' i pokušate je poslati bez dodavanja datoteke, Google će vam prikazati skočni podsjetnik koji kaže da ste upotrijebili riječi 'pronaći priloženo' u svojoj e-pošti, ali niste priložili nijednu datoteku, želite li i dalje nastaviti slati?
Kako djeluje Poka-Yoke tehnika?
Koraci za provedbu procesa Poka-Yoke:
Slijedi nekoliko koraka za dizajniranje i provedbu postupka za sprečavanje softverskih nedostataka:
- Navedite sve korisničke scenarije ili end-to-end test slučajeve za aplikaciju.
- Analizirajte sve ove korisničke scenarije pitajući 5-zašto pitanja kako bi se razumjeli načini na koje ovi scenariji mogu propasti.
- Jednom kada prepoznate načine na koje ovi korisnički scenariji mogu biti pogrešni, osmislite i primijenite Poka-Yoke tehniku kako biste izbjegli moguće probleme ( Na primjer, ovaj dizajn mogao bi biti jednostavan Unit test kojim se provjerava radi li bilo koja funkcija ispravno ili ne).
- Provjerite radi li tehnika dizajnirana za izbjegavanje kvara davanjem pogrešaka ili poruke upozorenja za neispravan unos ili rukovanje korisničkim scenarijem.
- Nakon što probno razdoblje prođe, dodajte ovu tehniku na popis Poka-Yoke procesa koji će se izvoditi svaki put pri novom izdanju / izradi. (U gornjem primjeru Jedinstvenog testiranja, nakon što je jedinični test napisan za provjeru funkcijskog koda, provjerite radi li na pozitivne i negativne vrijednosti. Kad test prođe, dodajte ga u spremište 'Jedinstvenih testova' da se izvršava svaki put kad se promijene izrađen je u relevantnim modulima)
- Izmjerite uspjeh ovog Poka-Yoke procesa. Provjerite je li ova tehnika doista spriječila ili uhvatila nedostatke kada se dogodi.
Kategorije Poka-Yoke
- Prevencija nedostataka
- Otkrivanje nedostataka
Prevencija nedostataka je najvažnija aktivnost u SDLC-u. Ova se metoda koristi za identificiranje svih mogućih problema i radnji potrebnih za uklanjanje tih problema. Mnogo softverskih nedostataka može se spriječiti u samoj fazi dizajniranja.
Tim za osiguranje kvalitete može pomoći u sprečavanju ovih nedostataka pregledavanjem Dokumenti sa specifikacijama softverskih zahtjeva . Svi problemi identificirani u ovoj fazi rješavaju se u fazi kodiranja softvera i sprječavaju prijenos u kasnije faze.
Gore navedeni primjeri proizvodne i softverske industrije dobri su primjeri tehnika sprečavanja kvarova.
Otkrivanje nedostataka je najčešći zadatak timova za osiguranje kvalitete. QA timovi koriste se različitim pristupima i strategijama za učinkovito izvršavanje testnih slučajeva. Kvarovi se otkrivaju mnogim drugim metodama ispitivanja poput Dim i Istraživačko ispitivanje.
Koje su osobine dobrog procesa Poka-Yoke?
- Poka-Yoke treba biti jednostavan za stvaranje i održavanje. Trebao bi biti jednostavan za rukovanje i isplativ. Održavanje složenog Poka-jarma dugo traje i često rezultira problemima ako se ne održava pravilno.
- Poka-Yoke bi trebao biti dizajniran rano u SDLC-u kako bi mogao brzo otkriti probleme.
- Dobar Poka-Yoke trebao bi biti dovoljno točan da pronađe probleme kad se pojave.
- Dobar Poka-Yoke trebao bi biti dizajniran tako da zaustavi najčešće probleme koji se javljaju u softveru.
- Trebao bi biti dio procesa dizajniranja i kodiranja softvera.
Potreba Poka-Yoke-a u fazi dizajniranja softvera
Za razvoj kvalitetnog softvera važno je dizajnirati ga prema očekivanjima korisnika. Korisnik bi trebao biti u mogućnosti koristiti / rukovati softverom s lakoćom bez ikakvih skupih pogrešaka.
Poka-Yoke primjeri u dizajnu i kvaliteti
# 1) Primjer nedostajućih datoteka s privitkom tijekom sastavljanja e-pošte pomoću Gmaila.
kako otvoriti json datoteku
# 2) Neke web stranice prikazuju indikator snage lozinke da bi pokazale snagu lozinke. Također vodi korisnike da koriste snažnu lozinku s kombinacijama znakova i brojeva.
# 3) Značajka Googleove tražilice za automatsko predlaganje ispravki pravopisa za upit pretraživanja korisnika. To pomaže korisnicima da izbjegnu nenamjerne pogreške.
# 4) Web stranice za bankarstvo koriste značajku dvostrukog tekstualnog polja za prihvaćanje osjetljivih podataka poput lozinki ili brojeva računa. Drugo se tekstno polje obično šifrira kako bi se izbjegla pogreška prilikom pružanja ulazne vrijednosti i kako bi se provjerilo podudaraju li se obje vrijednosti tekstnog polja.
Potreba za Poka-Yokeom u razvoju softvera
Od bezbrojnih primjera u industriji, sada je dobro poznato da su troškovi otklanjanja kvara nakon puštanja proizvoda višestruko veći od popravljanja u razvojnom ciklusu.
Daljnje čitanje = >> Kolika je cijena kvalitete (COQ)?
Najbolje rješenje za izbjegavanje problema nakon objavljivanja je uvođenje Poka-Yoke tehnika koje bi mogle uhvatiti nedostatke u ranim fazama razvoja, što bi je učinilo jeftinijim za popravljanje. Provedba Poka-Yoke procesa uvelike ovisi o Testerova sposobnost za hvatanje i uklanjanje problema.
Poka-Yoke primjeri u razvoju softvera
- Jedinstveno ispitivanje jedno je od najučinkovitijih sredstava za razvoj softvera za zaštitu od pogrešaka.
- Imati potvrdu Poka-Yoke u kompletu uvijek je dobar prijedlog za programere. Pogreške u provjeri valja obrađivati u vašem kodu. Ova pitanja provjere valjanosti trebalo bi povremeno pregledavati i ažurirati.
- Uobičajeni i najučinkovitiji Poka-Yoke je angažiranje pravih kandidata koji će zaštititi vaš softver.
Zaključak
Pogriješiti je u redu; samo nemojte ponavljati istu grešku iznova i iznova . Da bi se izbjegle ponoviti iste pogreške, trebaju postojati neke provjere ili procesi. Poka-Yoke tehnike razvijene su za rješavanje ovog problema.
Reference članaka:- Shigeo Shingo, nulta kontrola kvalitete
- Wikipedija referenca
- Boris Beizer, Tehnike ispitivanja softvera, 2. izdanje Van Nostrand Reinhold
O autoru: Ovo je gost gost od Nataraj Kanchyani. Radi kao viši inženjer softverskog inženjera u Centurylink Technologies India Pvt Ltd, Bangalore.
Imate li iskustva u radu na ovoj tehnici? Ili ste ikad radili na razvoju takvih procesa sprečavanja i otkrivanja kvarova? Javite nam u komentarima ispod.
Preporučena literatura
- Koji su atributi kvalitete?
- Lažni bog kvalitete nasuprot istinskim ljudima - tko je odgovoran za kvalitetu softvera?
- Što je osiguranje kvalitete softvera (SQA): Vodič za početnike
- Međusobno razumijevanje u testiranju: ključ za isporuku kvalitetnog softvera
- Potvrde o ispitivanju softvera i osiguranju kvalitete - 2. dio