Testování softwarových systémů - příprava na zkoušku

  • testování je hledání chyb, cílem je měřit a kontrolovat kvalitu softwaru
  • testování je vedle verifikace a validace další variantou ověřování softwaru
  • množství testů je dáno na základě analýzy rizik, dostatečné testování je dáno splněním předem daných podmínek
  • human error (chyba), software has a fault (vada), user experiences failure (selhání)
  • proces: plánování, specifikace testů, provádění testů, záznam výsledků a vyhodnocení (ukončovací kritéria)
  • specifikace testů: test case, test data, skripty, scénáře
  • test case: unikátní identifikátor, název, popis, přepoklady provedení, scénář (akce), očekávané výsledky
  • ukončovací kritéria: podíl spuštěných testů, podíl úspěšných testů, počet incidentů, pokrytí, intenzita selhání, odhad kvality
  • opakované testování, regresní testování: schéma testů (round-robin, statistický výběr, kouřové testy, expertní výběr)
  • očekávané výsledky: z požadavků, věštírna, specifikace a standardy, existující software, nebrat z kódu
  • prioritizace testů: vážnost, pravděpodobnost, viditelnost, zpětná vazba, obtížnost testu, obtížnost opravy, kritické pro klienta
  • metody prioritizace testů: náhodně, expertní odhad, zkušenost s produktem / klientem, dostupnost kódu a nástrojů, analýza rizik
  • modely testování: V-model, rapid prototyping
  • ekonomika testování: redukce rizik, time-to-market, kontrola nad cenou, úspora nákladů, prevence poškození obrazu firmy (ROI)
  • testovací plán: identifikátor, testované/netestované položky a vlastnosti, přístup, ukončovací kritéria, dokumentace testů, úkoly, požadavky na prostředí a zdroje, zodpovědnosti, rizika
  • testování komponent: algoritmy, datové struktury, rozhraní, nezávislé cesty, ošetření chyb
  • testování integrace komponent: stubs, drivers; velký třesk, shora dolů, zdola nahoru, vláknová, minimální kostry,
  • funkční testování systému: na základě požadavků nebo business procesů (případy užití)
  • nefunkční testování systému: zátěžové, bezpečnosti, použitelnosti, úložiště, instalovatelnosti, platformy a přenositelnosti, zotavení, dokumentace
  • testování integrace systémů: externí komponenty, spolupracující systémy; po jednom od nejkritičtějšího
  • akceptační testování:
  • údržbové testování:
  • konfigurační management: vysledovatelnost, schvalování změn, analýza dopadu
  • management incidentů:
  • testovací nástroje: firemní strategie určuje výběr nástrojů, je třeba zaškolit pracovníky, řídit automatizaci jen tam, kde je užitečná
    • správu požadavků vysledovatelnost, statickou analýzu kompilátory, prostředí, návrh testů možnost automatického generování ze specifikace požadavků, zdrojového kódu, přípravu testových dat extrakce z databází, spouštění testů, harness testování souběžné spouštění, výkonostní testování generátory zátěže, analyzátory logů, dynamickou analýzu detekce úniků paměti, ladící, porovnávací srovnání očekávaného a skutečného výsledku testu, třeba i GUI, správu testů, zjišťování pokrytí
  • revize:
    • požadavky, specifikaci, analýzu, návrh, kód, dokumentaci, plán testů, specifikace testů
    • neformální / procházení / peer / inspekce (formální, pravidla, metrika; moderátor, autor, inspektor, manažer, manažer inspekce)
  • statická analýza:
    • control flow graph, strom volání, sekvenční diagram
    • statické metriky: řádky kódu, fan-in fan-out, úrovně vnoření
    • datových toků - nedefinovaná proměnná apod.
  • blackbox testování: vytváření modelů; ekvivalentní rozdělení, hraniční hodnoty, přechody mezi stavy (pro každý stav / přechod / cestu)
  • whitebox testování: graf toku; pokrytí instrukcí, pokrytí větvení / podmínek, testování změny podmínky
  • testeři: každý vývojář svůj kód, vývojáři navzájem, testeři ve vývojovém týmu, tým testerů, separátní organizace
  • pracovníci: manažer testů, analytik testů, expert na automatizaci testování, expert na výkonnostní testování, administrátor nebo návrhář databáze (příprava testovacích dat), expert na uživatelské rozhraní (test použitelnosti), manažer testovacího prostředí, expert na testovací metodologie, expert na testovací nástroje, doménový expert
tss/start.txt · Last modified: 06.03.2014 11:00 (external edit)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki