Testování vývoje - Development testing
Vývoj softwaru |
---|
Testování Development je vývoj softwaru proces, který zahrnuje synchronizované aplikaci širokého spektra defektů strategií prevence a detekce, aby se snížilo riziko vývoje software, čas a náklady.
V závislosti na očekávání organizace pro vývoj softwaru, testování vývoj může zahrnovat statickou analýzu kódu , datový tok analýza , analýza metriky , hodnocení peer kódu , jednotkové testování , analýzu pokrytí kódu , sledovatelnost a další ověřovací software praktiky.
Přehled
Testování vývoj se provádí vývojář softwaru nebo technik v průběhu fáze výstavby části životního cyklu vývoje softwaru .
Spíše než nahradit tradiční QA fokusy, ale rozšiřuje to. Cílem testování vývoje je eliminovat konstrukční chyby před povýšením kódu na QA; tato strategie je zaměřena na zvýšení kvality výsledného softwaru i efektivity celkového vývoje a procesu QA.
Účely a výhody
Testování vývoje se používá pro následující hlavní účely:
- Zajištění kvality - ke zlepšení celkového vývoje a testovacího procesu zabudováním kvality a zabezpečení do softwaru (namísto pokusů o testování defektů / zranitelných míst).
- Soulad s průmyslovými nebo regulačními předpisy - K dosažení souladu s průmyslovými nebo regulačními iniciativami (např. FDA , IEC 62304 , DO-178B , DO-178C , ISO 26262 , IEC 61508 atd.), Které obvykle vyžadují přísné snížení rizika i obousměrné sledovatelnost požadavků (např. mezi požadavky, testy, kontrolami kódu, zdrojovým kódem, defekty, úkoly atd.)
Výzkum VDC uvádí, že standardizovaná implementace procesů testování vývoje v zastřešujícím standardizovaném procesu nejen zlepšuje kvalitu softwaru (sladěním vývojových aktivit s osvědčenými osvědčenými postupy), ale také zvyšuje předvídatelnost projektu. voke research uvádí, že díky testování vývoje je software v celém životním cyklu vývoje softwaru předvídatelnější, sledovatelnější, viditelnější a transparentnější.
Klíčové principy
V každé z výše uvedených aplikací začíná testování vývoje definováním zásad, které vyjadřují očekávání organizace týkající se spolehlivosti , zabezpečení, výkonu a dodržování předpisů. Poté, co je tým vyškolen v těchto zásadách, jsou implementovány postupy testování vývoje, aby se sladily aktivity vývoje softwaru s těmito zásadami. Mezi tyto postupy testování vývoje patří:
- Shodě, které brání, jak mnoho defektů jak je to možné prostřednictvím jednoho Demingův -inspired přístupu, který podporuje snižuje možnost chyby prostřednictvím analýzy hlavní příčiny .
- Postupy, které odhalují vady ihned po jejich zavedení - když je hledání a oprava vad nejrychlejší, nejjednodušší a nejlevnější.
Důraz na aplikaci širokého spektra postupů prevence defektů a detekce defektů je založen na předpokladu, že různé techniky testování vývoje jsou vyladěny tak, aby odhalovaly různé typy defektů v různých bodech životního cyklu vývoje softwaru, takže společné použití více technik snižuje riziko defektů proklouzávajících trhlinami. Důležitost použití široké škály postupů potvrzují Boehm a Basili v často zmiňovaném „Seznamu 10 nejlepších softwarových defektů“.
Statická analýza
Termín „vývojové testování“ se občas používá k popisu použití nástrojů statické analýzy. Řada lídrů v oboru se s tímto sjednocením setkala, protože statická analýza není technicky testování; dokonce ani statická analýza, která „pokrývá“ každý řádek kódu, není schopná ověřit , že kód dělá to, co má dělat - nebo odhalit určité typy defektů nebo slabých míst zabezpečení, které se projevují pouze při dynamickém provádění softwaru. Ačkoli mnozí varují, že samotná statická analýza by neměla být považována za stříbrnou kulku nebo všelék, většina odborníků z oboru souhlasí s tím, že statická analýza je osvědčenou metodou k eliminaci mnoha bezpečnostních, spolehlivých a výkonnostních vad. Jinými slovy, zatímco statická analýza není stejná jako vývojové testování, obecně se považuje za součást vývojového testování.
Další činnosti
Kromě různých implementací statické analýzy, jako je analýza toku a testování jednotek, zahrnuje vývojové testování také kontrolu peer kódu jako primární aktivitu kvality. Kontrola kódu je obecně považována za jednu z nejúčinnějších metod detekce a prevence defektů při vývoji softwaru.