jak měříme kvalitu softwaru

než budeme moci dodat softwarový produkt, musíme měřit jeho kvalitu, abychom zajistili, že je stejně bezchybný, jak to dokážeme. Abychom to však mohli udělat, musíme nejprve vědět, proti jakým metrikám kvality softwaru měříme.

jaké jsou metriky pro měření kvality softwaru?

metriky pro měření kvality softwaru mohou být velmi technické, ale lze je rozdělit do následujících čtyř základních kategorií:

  • kvalita kódu
  • výkon
  • bezpečnost
  • použitelnost

kvalita kódu

bezchybný a sémanticky správný kód je pro prémiový software velmi důležitý. Standardy kvality kódu lze rozdělit na kvantitativní a kvalitativní metriky. Kvantitativní metriky kvality měří, jak velký nebo složitý je softwarový program, počet řádků a funkcí, které obsahuje, kolik chyb je na 1000 řádcích kódu a další. Kvalitativní metriky kvality kódu měří funkce, jako je udržovatelnost, čitelnost, jasnost, účinnost a dokumentace. Tyto metriky měří, jak snadné je Kód číst, rozumět, a pokud je napsán podle standardů kódování.

výkon

každý softwarový program je vytvořen pro určitý účel. Metriky výkonu měří, zda produkt splňuje svůj účel a zda provádí tak,jak má. Odkazuje také na to, jak aplikace využívá zdroje, jeho škálovatelnost, spokojenost zákazníků a dobu odezvy.

zabezpečení

metriky zabezpečení softwaru měří inherentní bezpečnost softwarového programu a zajišťují, aby nedošlo k neoprávněným změnám produktu při jeho předání klientovi.

použitelnost

vzhledem k tomu, že všechny softwarové produkty jsou vytvořeny pro koncového uživatele, důležitou metrikou kvality je, zda je program proveditelný a uživatelsky přívětivý. Zajišťujeme také, aby byl klient spokojen s funkcemi a výkonem.

Kdy Měříme Kvalitu Softwaru?

náš tým pro vývoj softwaru a tým pro zajištění kvality (QA) spolupracují, aby zajistily, že kvalita softwaru je na nejvyšší úrovni. Tým QA provádí testování produktů, jakmile byl vyvinut. Vývojový tým však také udržuje, měří a neustále zlepšuje kvalitu softwaru během sestavení. I když však udržujeme kvalitu softwaru v každé fázi vývoje, můžeme je testovat v různých bodech vývoje na základě použité metodiky vývoje. Při vývoji softwarových aplikací používáme dvě metodiky-Waterfall a Agile. Vzhledem k tomu, že obě metodiky dodávají produkt různými způsoby, jsou také testovány odlišně.

měření kvality softwaru: metodika vodopádu

metodika vodopádu je, když plánujeme, provádíme, testujeme a dodáváme v různých fázích. Každá fáze je dokončena před začátkem další fáze. Výsledkem je, že s produktem vyvinutým pomocí této metodiky musíme udržovat kvalitu produktu v každé fázi – požadavky, návrh, implementace, ověření (nebo testování) a údržba. Vzhledem k tomu, že testování se provádí na konci sestavení, trvá méně času a nevyžaduje mnoho regresních testů.

měření kvality softwaru: agilní

agilní metodiky jsou citlivější a flexibilnější, kde je vývoj rozdělen na fáze nebo sprinty. Cílem je, aby na konci každého sprintu, který může trvat dva až šest týdnů, dodáváme vysoce kvalitní minimální životaschopný produkt, který je plně funkční a testovaný. To znamená, že se musíme ujistit, že udržujeme kvalitu softwaru produktu v každém kroku, v každém sprintu. Produkty vyvinuté pomocí agilních metodik jsou testovány častěji. To však také znamená, že potřebují neustálé regresní testování, aby se zajistilo, že aktualizace neporušila funkce, které byly testovány a předány v dřívějších sestavách.

jak vývojáři udržují kvalitu softwarového kódu?

dobrý vývojář je ten, kdo může dodat vysoce kvalitní softwarový kód s minimálními chybami. Říkáme „minimální“, protože během vývoje jsou některé chyby nevyhnutelné a záleží na tom, jak je opravíme nebo ovládáme. To je důvod, proč vývojáři měří jejich kvalitu kódu, jak se vyvíjejí, protože to znamená, že mohou identifikovat a opravit všechny problémy během sestavení. Měří svůj kód proti kódovacím standardům, recenze kódu, analyzátory kódu, a refraktorový starší kód.

v této fázi je kvalita softwaru testována ručně krátkými jednotkovými testy. Jednotkový test je první fází měření kvality softwaru, kde se kontroluje nejmenší testovatelná část softwaru-modul nebo součást programu nebo dokonce jedna funkce v kódu.

například může existovat řada datových polí, která je třeba vyplnit jako součást většího softwaru. Test jednotky může jen otestovat první pole a ne ostatní, nebo dokonce jakoukoli jinou část softwarového programu.

vývojáři vytvářejí sdílenou knihovnu stovek takových testů s opakovatelnou funkčností vloženou do softwaru, takže tyto testy mohou být použity znovu a znovu, napříč projekty pro efektivní detekci chyb v softwarovém kódu ve fázi vývoje. Provádějí také automatizované testování pomocí analyzátoru kódu SonarQube, který kontroluje software pro:

  • jasnost
  • udržovatelnost
  • dokumentace
  • rozšiřitelnost
  • účinnost
  • osvědčený
  • bezpečné kódování
  • refaktorování kódu
  • rozšiřitelnost

pomáhá nám to:

  • chování kód recenze
  • udržovat kódovací standardy
  • identifikovat chyby a počet potenciálních chyb v softwaru

používáme také k posouzení:

  • strukturální složitost programu (počet řádků kódu)
  • jakákoli zranitelnost nalezená v úložištích
  • kód voní (kód, který je matoucí nebo obtížně udržovatelný)
  • pokrytí kódu (míra kódu pokrytého jednotkovými testy)
  • duplikace kódu (množství kódu, které se opakuje)

jak tým QA měří kvalitu softwaru?

testeři QA kontrolují všechny metriky kvality softwaru pomocí ručního a automatizovaného testování (pomocí selenu), včetně platnosti a standardu kódu produktu. Metriky ručního testu lze rozdělit do dvou tříd – základní metriky a vypočtené metriky. Základní metriky jsou tvořeny nezpracovanými, neanalyzovanými daty, která jsou shromažďována, zatímco vypočtené metriky jsou odvozeny z informací shromážděných v základních metrikách.

metriky ručních testů

některé z důležitých metrik ručních testů, které považujeme za kvalitu softwaru, jsou:

  • metriky produktivity provedení testovacího případu
  • metriky produktivity přípravy testovacího případu
  • doba trvání testu
  • pokrytí jednotkových testů (množství softwarového kódu, které je pokryto jednotkovými testy)
  • procento úspěšnosti / selhání testů atd.

metriky automatizačních testů

automatizační testování může pomoci snížit množství manuálního času stráveného testováním kvality softwaru. Zde jsou některé z důležitých metrik pro testování automatizace, které zvažujeme:

  • celková doba trvání testu
  • pokrytí jednotkových testů
  • pokrytí cest (kolik lineárně nezávislých cest programu test pokrývá)
  • pokrytí požadavků
  • procento úspěšnosti testů
  • počet závad
  • procento automatizovaného testování (proti celkovému pokrytí testů, které zahrnuje ruční testování)
  • Test provedení (celkem testů provedených během sestavení)
  • užitečné vs. irelevantní výsledky
  • vady výroby
  • procento rozbitých sestav atd.

jiné typy testů pro měření kvality softwaru

k měření kvality softwaru používáme také různé typy testů. Jedná se o:

  • funkční testování
  • Test na přerušení
  • testování výkonu zatížení
  • regresní testování
  • bezpečnostní testování
  • penetrační testování
  • testování přijetí uživatele

Leave a Reply

Vaše e-mailová adresa nebude zveřejněna.