Testování vývoje - Development testing
Vývoj softwaru |
---|
Hlavní činnosti |
Paradigmata a modely |
Metodiky a rámce |
Podpůrné disciplíny |
Praxe |
Nástroje |
Standardy a subjekty znalostí |
Glosáře |
Obrysy |
Testování vývoje je vývoj softwaru proces, který zahrnuje synchronizovanou aplikaci širokého spektra přeběhnout strategie prevence a detekce za účelem snížení rizik, času a nákladů na vývoj softwaru.
V závislosti na očekáváních organizace od vývoje softwaru může zahrnovat testování vývoje statická analýza kódu, analýza toku dat, analýza metrik, vzájemné recenze kódu, testování jednotky, analýza pokrytí kódu, sledovatelnost a další postupy ověřování softwaru.
Přehled
Testování vývoje provádí vývojář softwaru nebo inženýr v průběhu fáze výstavby z životní cyklus vývoje softwaru.[1]
Spíše než nahradit tradiční QA zaměřuje, rozšiřuje to.[2] Cílem testování vývoje je eliminovat konstrukční chyby před povýšením kódu na QA; tato strategie má zvýšit kvalitu výsledného softwaru i efektivitu celkového vývoje a procesu QA.[3]
Účely a výhody
Testování vývoje se používá pro následující hlavní účely:
- Zajištění kvality —Zlepšit celkový vývoj a testovací proces zabudováním kvality a zabezpečení do softwaru (namísto pokusů o testování defektů / zranitelných míst).
- Soulad s průmyslem nebo předpisy —Pro 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, recenzemi kódu, zdrojovým kódem, defekty, úkoly atd.)[3]
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.[4] 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ší.[2]
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 spolehlivost, zabezpečení, výkon 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.[5] Mezi tyto postupy testování vývoje patří:
- Postupy, které zabrání co největšímu počtu závad prostřednictvím a Deming -inspirovaný přístup, který podporuje snižování možnosti chyb prostřednictvím analýza hlavních příčin.
- Postupy, které odhalují vady ihned po jejich zavedení - když je hledání a oprava vad nejrychlejší, nejjednodušší a nejlevnější.[3][6]
Důraz na aplikaci širokého spektra prevence defektů a postupů 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 použití více technik společně snižuje riziko defektů proklouzávajících trhlinami.[3] 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ů“.[7]
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 nesetkala, protože statická analýza není technicky testování; dokonce ani statická analýza, která „pokrývá“ každý řádek kódu, není schopna ověřování že kód dělá to, co má dělat - nebo odhalení určitých typů vad nebo chyby zabezpečení Ačkoli se 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ů v oboru souhlasí s tím, že statická analýza je osvědčenou metodou k eliminaci mnoha bezpečnostních, spolehlivých a výkonových defektů. Jinými slovy, zatímco statická analýza není stejná jako vývojové testování, obvykle se považuje za součást vývojového testování.[8][9]
Další činnosti
Kromě různých implementací statické analýzy, jako např analýza toku a testování jednotek zahrnuje vývojové testování také kontrolu peer kódu jako aktivitu primární 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.[10]
Viz také
Reference
- ^ McConnell, Steve (2004). Kód dokončen (2. vyd.). Microsoft Press. ISBN 0-7356-1967-0.
- ^ A b Zpráva voke Market Mover Array: Testovací platformy autor: Theresa Lanowitz, Lisa Dronzek, voke, 5. června 2012
- ^ A b C d Kolawa, Adam; Huizinga, Dorota (2007). Automatizovaná prevence defektů: Osvědčené postupy ve správě softwaru. Wiley-IEEE Computer Society Press. ISBN 0-470-04212-5.
- ^ „Automatická prevence defektů pro kvalitu vestavěného softwaru“ bílá kniha od VDC Research
- ^ Velká očekávání rozvoje - s automatizací politiky autor: Wayne Ariola, SD Times, 28. července 2011
- ^ Přehodnocení vývoje, testování a kontroly softwaru autor Matthew Heusser, CIO, 1. února 2012
- ^ Seznam 10 nejlepších softwarových vad Barry Boehm a Victor R. Basili, Computer, leden 2001
- ^ Statické analyzátory v softwarovém inženýrství Dr. Paul E. Black, CrossTalk: The Journal of Defence Software Engineering, březen / duben 2009
- ^ Nejlepší 3 chyby se statickou analýzou pro vestavěný a kriticky důležitý vývoj Arthur Hicken, katalog EE, 25. září 2012
- ^ Splnění požadavků SIL: Zajištění funkční bezpečnosti bezpečnostních systémů E / E / PE Archivováno 04.03.2016 na Wayback Machine článek na DevelopmentTesting.com