Co je testování konfigurace? Příklad testovacích případů

⚡ Chytré shrnutí

Konfigurační testování spouští aplikaci napříč různými kombinacemi softwaru a hardwaru, takže tým může potvrdit, že funkční požadavky stále platí všude, a může identifikovat optimální konfiguraci pro vydání.

  • 🧩 Rozsah: OperaSystémy pro správu, prohlížeče, verze databází, ovladače, paměť a periferie se počítají jako konfigurace.
  • 📐 Dva typy: Testování konfigurace softwaru zahrnuje platformy a aktualizace; testování konfigurace hardwaru zahrnuje připojená zařízení.
  • 🗂️ Nejprve matice: Vytvořte kombinační matici a poté ji stanovte podle priorit, protože vyčerpávající pokrytí je nedostupné.
  • 🖥️ Virtuální stroje: Snapshoty nahrazují opakované cykly instalace a odinstalace na fyzických testovacích počítačích.
  • 🏦 Zpracovaný příklad: Bankovní aplikace a její modely počítání bankovek ilustrují hardwarové testovací případy.
  • ???? Úmyslné selhání: Úmyslné odstranění předpokladu odhalí vady, které plně zřízené testovací prostředí skrývá.

Testování konfigurace napříč kombinacemi softwaru a hardwaru

Testování konfigurace

Testování konfigurace je technika testování softwaru, při které je aplikace testována s více kombinacemi softwaru a hardwaru, aby se vyhodnotily funkční požadavky a nalezly optimální konfigurace, za kterých aplikace funguje bez vad nebo nedostatků.

Konfigurace je jakákoli kombinace, kterou musí produkt podporovat: verze operačního systému, prohlížeče, verze databáze, ovladače, velikosti paměti nebo připojeného periferního zařízení. Je vhodné ji oddělit od testování kompatibility, která se ptá, zda produkt koexistuje s jiným softwarem a platformami. Testování konfigurace klade užší otázku: chová se stejná sestava stále správně i po změně jejího vlastního podporovaného nastavení?

Příklad testování konfigurace

Jako zpracovaný příklad si uveďte desktopovou aplikaci.

Desktopové aplikace jsou obvykle vytvářeny ve dvouvrstvé nebo třívrstvé podobě. Vezměte si například třívrstvou desktopovou aplikaci vyvinutou v ASP.NET, sestávající z klienta, serveru obchodní logiky a databázového serveru, kde každá komponenta podporuje níže uvedené platformy.

  • Klientská platforma – Windows XP, Windows 7, Windows 8 a tak dále
  • Serverová platforma – Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 R2
  • Databáze – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 a tak dále

Tester musí společně otestovat klienta, server a databázi napříč těmito platformami a verzemi databází, aby se ujistil, že aplikace funguje správně a neselže v žádné podporované kombinaci.

Testování konfigurace se neomezuje pouze na software. Vztahuje se i na hardware, a proto se hardwarová stránka nazývá testování hardwarové konfigurace: tiskárny, skenery, webové kamery a podobná zařízení, která musí testovaná aplikace podporovat. Níže uvedená matice ukazuje, jak jsou tyto kombinace rozloženy před zahájením provádění testu.

Matice konfiguračního testování kombinací klienta, serveru a databáze

Předpoklady pro testování konfigurace

Než začne konfigurační test u jakéhokoli projektu, musí být splněny tři předpoklady.

  • Vytvoření matice s výčtem různých kombinací softwarových a hardwarových konfigurací
  • Upřednostňování těchto konfigurací, protože testování každé z nich není realistické
  • Testování každé konfigurace v pořadí stanoveném danou prioritizací

Cíle testování konfigurace

Testování konfigurace si klade za cíl dosáhnout následujícího.

  • Ověřte aplikaci podle jejích požadavků na konfigurovatelnost
  • Záměrně způsobovat selhání, aby se odhalily vady, které běžné testování přehlíží, například změnou regionálních nastavení, jako je časové pásmo, jazyk nebo formát data
  • Určete optimální konfiguraci testované aplikace
  • Analyzujte výkon systému při změně hardwarových prostředků, například při přidávání vyrovnávačů zátěže, zvyšování nebo snižování paměti nebo připojování různých modelů tiskáren.
  • Analyzujte efektivitu systému vzhledem k prioritám a posouďte, jak dobře testy využily dostupné zdroje k dosažení optimální konfigurace.
  • Ověřte systém v geograficky distribuovaném prostředí, například se serverem na jednom místě a klienty na jiném, kde by systém měl fungovat bez ohledu na lokální nastavení systému.
  • Ověřte, jak snadno se vady reprodukují při změně konfigurace
  • Potvrďte, že položky aplikace zůstanou tracproveditelné prostřednictvím řádné dokumentace a jasně identifikovatelných záznamů verzí
  • Ověřte, že položky aplikace zůstávají spravovatelné v celém životní cyklus vývoje softwaru

Jak provést testování konfigurace

Strategie závisí na tom, který z těchto dvou typů testování konfigurace je v rozsahu.

  • Testování konfigurace softwaru
  • Testování konfigurace hardwaru

Testování konfigurace softwaru

Testování konfigurace softwaru spouští testovanou aplikaci s různými operačními systémy, aktualizacemi softwaru a verzemi závislostí. Je časově náročné, protože každé kolo znamená instalaci a odinstalaci daného softwaru.

Běžným způsobem, jak tyto náklady snížit, je testovat virtuálních strojůVirtuální stroj je prostředí instalované v softwaru, které se chová jako fyzický hardware, takže tester pracuje, jako by byl na skutečném stroji, zatímco samotná konfigurace je k dispozici. Virtuální stroje simulují reálné konfigurace dostatečně věrně pro většinu funkčních kontrol.

Místo instalace a odinstalace na několika fyzických počítačích se aplikace nainstaluje na virtuální počítač a testování pokračuje odtud. Paralelní spuštění několika virtuálních počítačů, z nichž každý je obnoven ze snapshotu, značně zjednodušuje práci.

Testování konfigurace softwaru může obvykle začít, když

  • Jsou specifikovány požadavky na konfigurovatelnost, které mají být testovány
  • Jedno testovací prostředí je připraven
  • Testovací tým je vyškolen v testování konfigurace
  • Vydaná sestava prošla jednotkovým a integračním testováním.

Typický testovací strategie je spustit sadu funkčních testů napříč každou softwarovou konfigurací a ověřit, zda se aplikace chová podle očekávání, bez chyb nebo nedostatků. Druhou strategií je záměrně selhat v testovacích případech a ověřit, jak efektivně si systém poradí.

Příklad:

Vezměte si bankovní aplikaci, která musí být testována ve více prohlížečích. Pokud je hostována v prostředí, kde jsou splněny všechny předpoklady, může klidně projít jednotkovým a integrační testování ve zkušební laboratoři.

Stejná aplikace nainstalovaná na klientském pracovišti může selhat, protože na těchto počítačích chybí aktualizace softwaru nebo verze závislostí, na které se aplikace přímo či nepřímo spoléhá. Záměrné selhání testů odstraněním některých požadavků na konfigurovatelnost a následným opětovným testováním odhalí danou třídu vad dříve, než ji zákazník najde. Níže uvedená obrazovka ukazuje, jak se takové selhání závislé na konfiguraci reprodukuje v kontrolovaném prostředí.

Bankovní aplikace selhává na klientském počítači s chybějícími předpoklady.

Testování konfigurace hardwaru

Testování hardwarové konfigurace se obvykle provádí v laboratoři, kde jsou fyzická zařízení s připojeným různým hardwarem.

Kdykoli je vydána sestava, software se nainstaluje na každý z těchto počítačů a na každém z nich se spustí testovací sada, aby se ověřilo, že aplikace funguje s připojeným zařízením.

Tento úkol vyžaduje značné úsilí: instalace softwaru na každý počítač, připojení hardwaru a následné ruční spuštění sady nebo její automatizace.

Je také nutné specifikovat typ testovaného hardwaru. Počítačový hardware a periferie existují v takové rozmanitosti, že je nemožné je všechny pokrýt, takže tester analyzuje, na která zařízení se uživatelská základna skutečně spoléhá, ​​a testuje podle této priority.

Vzorové testovací případy

Uvažujme bankovní scénář testovaný na kompatibilitu hardwaru. Bankovní aplikace připojená k počítání bankovek musí fungovat s několika modely, jako jsou Rolex, Strob, Maxsell a StoK.

Vzorek testovací případy pro stroj na počítání bankovek patří následující.

  • Ověřte připojení mezi aplikací a modelem Rolex, pokud NEJSOU nainstalovány předpoklady.
  • Ověřte propojení mezi aplikací a modelem Rolex po instalaci předpokladů.
  • Ověřte, zda systém správně počítá bankovky
  • Ověřte, jak systém hlásí chybný výpočet
  • Ověřte manipulaci s pozměněnými bankovkami
  • Ověřte doby odezvy
  • Ověřte, zda byly detekovány falešné bankovky

Tyto případy se týkají jediného modelu a každý zbývající model na trhu musí být nastaven v testovací laboratoři a testován stejným způsobem, což je zřídka praktické interně. Realističtější možností je často outsourcing testování hardwarové konfigurace organizaci, která se na to specializuje.

Nejčastější dotazy

Konfigurační testování mění podporované nastavení produktu – operační systém, verzi databáze, připojené zařízení – a znovu spouští sadu. Testování kompatibility ověřuje, zda produkt koexistuje s externím softwarem, platformami a prohlížeči, se kterými musí fungovat.

Tolik, kolik to riziko odůvodňuje. Analýzy užívání určují pořadí: nejdříve jsou pokryty kombinace platformy, prohlížeče a zařízení, většina běhů uživatelské základny je pokryta, následují minimální podporované specifikace.

Obvykle tým QA, podporovaný systémovými administrátory, kteří zajišťují prostředí. U produktů s velkým hardwarem je za fyzické zařízení zodpovědný specializovaný laboratorní tým nebo externí specialista.

Platformy virtuálních strojů a kontejnerů pro softwarová nastavení, laboratoře zařízení nebo cloudové farmy zařízení pro hardware a prohlížeče a automatizace testu framework pro přehrávání stejné sady v každé konfiguraci.

Kombinatorická exploze, náklady na licence a fyzická zařízení, pomalé zřizování prostředí a vady, které se reprodukují pouze v jedné konfiguraci. Prioritizace a virtualizace řeší většinu z nich.

Po úspěšném provedení jednotkového a integračního testování a obvykle současně se systémovým testováním. Opakuje se před každým větším vydáním, protože nová verze operačního systému nebo ovladače může zneplatnit dřívější výsledky.

Modely seřazují kombinace konfigurací podle skutečného využití a historických dat o závadách, takže matice je prořezána na řádky s nejvyšším rizikem. Také seskupují selhání, aby ukázaly, které z nich sdílejí jednu příčinu konfigurace.

Ano. Vytváří parametrizované testovací scaffolding, skripty pro zřizování prostředí a definice úloh CI, které běží na jedné sadě napříč mnoha konfiguracemi. Samotná matice musí stále pocházet ze seznamu podporovaných platforem.

Shrňte tento příspěvek takto: