how use poka yoke technique improve software quality
Softwarové inženýrství je obor zaměřený na produkci vysoce kvalitního softwaru prostřednictvím systematického a dobře naplánovaného přístupu k vývoji softwaru.
Obsahuje mnoho osvědčených postupů dodržujících standardy pro dosažení kvalitního produktu. Tři hlavní fáze vývoje softwaru jsou Analýza - Návrh - Implementace. K výrobě bezchybného produktu je nezbytné dosáhnout vysoce kvalitního softwaru.
Co se naučíte:
Softwarové procesní inženýrství
Správa defektů
Vadou je neočekávané nebo nežádoucí chování, ke kterému dochází v produktu. Cokoli související s vadou je kontinuální proces, nikoli konkrétní stav.
Nalezení a odstranění závady v rané fázi vývoje softwaru snižuje čas, přepracování a peníze. Hledání závady v pozdějších fázích stojí vždy několikrát než počáteční fáze. Zvyšuje kvalitu přidáním spolehlivosti, přenositelnosti, udržovatelnosti atd.
Proto je vhodné, aby každá společnost šla s Správa defektů tým pro správu systémů a defektů v každé fázi vývoje s cílem dosáhnout dobré kvality produktů a získat důvěru zákazníků.
Jednou z takových technik odolnosti proti chybám je POKA-YOKE,
Co je Poka-Yoke?
Jedná se o proces zajišťování kvality, který zavedl japonský inženýr Shigeo Shingo. Tento termín se v japonštině používá jako „Poka“, což znamená omyl, a „Yoke“, což znamená prevenci, tj. Prevenci chyb nebo techniku odolnosti proti chybám.
Účelem Poka-Yoke je vyvinout procesy ke snížení defektů zamezením nebo opravou chyb (design zobrazující výstrahy nebo varovné zprávy uživateli) v raných fázích návrhu a vývoje. Tato technika se většinou používá ve zpracovatelském průmyslu, ale nyní je tato efektivní technika také přizpůsobena procesům vývoje softwaru.
Příklad Poka-Yoke z výrobního průmyslu
Dobrým příkladem designu Poka-Yoke z výrobního průmyslu - slot pro SIM kartu v mobilních telefonech je navržen tak, že uživatel může vkládat SIM kartu pouze správným způsobem. Při vkládání SIM karty do mobilního telefonu nemá uživatel šanci udělat chybu. Díky tomu je designová chyba důkazem.
Příklad Poka-Yoke ze softwarové aplikace
Dokonalým příkladem procesu Poka-yoke v softwarové aplikaci je - funkce e-mailových příloh Gmailu - když při psaní nového e-mailu napíšete slovo „najít připojené“ a pokusíte se jej odeslat bez připojení souboru, Google vám zobrazí vyskakovací připomenutí, že ve svém e-mailu jste použili slova „najít připojené“, ale nepřipojili jste žádné soubory, stále chcete pokračovat v odesílání?
Jak funguje technika Poka-Yoke?
Kroky k implementaci procesu Poka-Yoke:
Níže je uvedeno několik kroků k návrhu a implementaci procesu, který zabrání softwarovým vadám:
- Seznam všech uživatelských scénářů nebo end-to-end testovacích případů pro aplikaci.
- Analyzujte všechny tyto uživatelské scénáře dotazem 5-proč otázky k pochopení způsobů, jak mohou tyto scénáře selhat.
- Jakmile zjistíte, jak se tyto uživatelské scénáře mohou mýlit, navrhněte a použijte techniku Poka-Yoke, abyste se vyhnuli možným problémům ( Například, tento návrh by mohl být jednoduchým testem jednotky, který by zkontroloval, zda byla napsána nějaká funkce, zda funguje správně nebo ne).
- Ujistěte se, že technika navržená tak, aby nedocházelo k závadě, funguje správně tak, že zadáte chyby nebo varovnou zprávu o nesprávném zadání nebo zpracování uživatelského scénáře.
- Jakmile je zkušební verze úspěšná, přidejte tuto techniku do seznamu Poka-Yoke procesů, které mají být provedeny pokaždé při novém vydání / sestavení. (Ve výše uvedeném příkladu testování jednotky, jakmile je test jednotky napsán pro kontrolu funkčního kódu, zkontrolujte, zda pracuje pro kladné a záporné hodnoty. Když tento test projde, přidejte jej do úložiště „Testování jednotek“, které se má provést pokaždé, když dojde ke změně je vyroben v příslušných modulech)
- Změřte úspěch tohoto procesu Poka-Yoke. Zkontrolujte, zda tato technika skutečně zabránila nebo zachytila vady, když k tomu dojde.
Kategorie Poka-Yoke
- Prevence defektů
- Detekce defektů
Prevence defektů je nejdůležitější aktivita v SDLC. Tato metoda se používá k identifikaci všech možných problémů a akcí potřebných k odstranění těchto problémů. Mnoho softwarových vad lze zabránit již ve fázi návrhu.
Tým pro zajištění kvality může pomoci těmto poruchám předcházet kontrolou Dokumentace se specifikací softwarového požadavku . Všechny problémy identifikované v této fázi jsou řešeny ve fázi kódování softwaru a je zabráněno jejich přenesení do pozdějších fází.
Výše uvedené příklady výrobního a softwarového průmyslu jsou dobrým příkladem technik prevence defektů.
Detekce defektů je nejběžnějším úkolem týmů zajišťujících kvalitu. Týmy QA používají různé přístupy a strategie k efektivnímu provádění testovacích případů. Vady jsou detekovány mnoha dalšími testovacími metodami Kouř a průzkumné testování.
Jaké jsou vlastnosti dobrého procesu Poka-Yoke?
- Vytváření a údržba Poka-Yoke by měla být jednoduchá. Mělo by to být snadno ovladatelné a nákladově efektivní. Údržba komplexního Poka-Yoke je časově náročná a často vede k problémům, pokud není správně udržována.
- Poka-Yoke by měl být navržen na začátku SDLC, aby mohl rychle detekovat problémy.
- Dobrý Poka-Yoke by měl být dostatečně přesný, aby našel problémy, když se vyskytnou.
- Dobrý Poka-Yoke by měl být navržen tak, aby zastavil nejběžnější problémy vyskytující se v softwaru.
- Mělo by to být součástí procesu návrhu a kódování softwaru.
Potřeba Poka-Yoke ve fázi návrhu softwaru
Pro vývoj kvalitního softwaru je důležité jej navrhnout podle očekávání uživatele. Uživatel by měl být schopen snadno používat / manipulovat se softwarem bez jakýchkoli nákladných chyb.
Poka-Yoke příklady designu a kvality
# 1) Příklad chybějících souborů příloh při psaní e-mailu pomocí Gmailu.
# 2) Některé webové stránky zobrazují indikátor síly hesla, který zobrazuje sílu hesla. Rovněž vede uživatele k použití silného hesla s kombinací znaků a čísel.
# 3) Funkce vyhledávače Google k automatickému navrhování oprav pravopisu pro vyhledávací dotaz uživatele. To pomáhá uživatelům vyhnout se neúmyslným chybám.
# 4) Bankovní weby používají funkci dvojitého textového pole k přijímání citlivých informací, jako jsou hesla nebo čísla účtů. Druhé textové pole je obvykle šifrováno, aby nedocházelo k chybám při zadávání vstupní hodnoty a ke kontrole, zda se obě hodnoty textového pole shodují.
ladění výkonu v otázkách Oracle rozhovoru
Potřeba Poka-Yoke při vývoji softwaru
Z nesčetných průmyslových příkladů je nyní dobře známo, že náklady na opravu defektu po vydání produktu jsou mnohonásobně vyšší než jeho odstranění ve vývojovém cyklu.
Další čtení = >> Jaké jsou náklady na kvalitu (COQ)?
Nejlepším řešením, jak se vyhnout problémům po vydání, je zavedení technik Poka-Yoke, které by mohly zachytit defekty v raných fázích vývoje, což zlevní jejich opravu. Implementace procesu Poka-Yoke do značné míry závisí na Schopnost testeru zachytit a odstranit problémy.
Příklady Poka-Yoke ve vývoji softwaru
- Testování jednotky je jedním z nejúčinnějších prostředků pro vývoj softwaru proti chybám.
- Ověřování Poka-Yoke v sadě je pro vývojáře vždy dobrým návrhem. Ověření chyby by měly být zpracovány v kódu. Tyto problémy s ověřováním by měly být pravidelně revidovány a aktualizovány.
- Běžným a nejúčinnějším Poka-Yoke je najmout si ty správné kandidáty, aby váš software ochránili před chybami.
Závěr
Dělat chyby je v pořádku; prostě nedělej tu samou chybu znovu a znovu . A aby se zabránilo opakování stejných chyb, měly by být zavedeny nějaké kontroly nebo procesy. K řešení tohoto problému jsou vyvinuty techniky Poka-Yoke.
Odkazy na články:- Shigeo Shingo, nulová kontrola kvality
- Wikipedia odkaz
- Boris Beizer, Software Testing Techniques, 2. vyd. Van Nostrand Reinhold
O autorovi: Toto je příspěvek od uživatele Nataraj Kanchyani. Působí jako Senior Software Engineer-Testing ve společnosti Centurylink Technologies India Pvt Ltd, Bangalore.
Máte nějaké zkušenosti s prací na této technice? Nebo jste někdy pracovali na vývoji takových procesů prevence a detekce defektů? Dejte nám vědět v komentářích níže.
Doporučené čtení
- Jaké jsou atributy kvality?
- Falešný bůh kvality versus skuteční lidé - kdo odpovídá za kvalitu softwaru?
- Co je Software Quality Assurance (SQA): Průvodce pro začátečníky
- Vzájemné porozumění při testování: klíč k dodání kvalitního softwaru
- Testování softwaru a certifikace zajištění kvality - část 2