Co je to srovnávací testování?

⚡ Chytré shrnutí

Benchmarkové testování stanoví opakovatelný, měřitelný standard pro výkon aplikace, aby s ním bylo možné porovnávat každou budoucí verzi. Bez výchozího bodu je výsledek výkonu číslo, podle kterého by se dalo soudit.

  • 📏 Hlavní účel: Vytvořte referenční měření, se kterým se porovnávají pozdější verze.
  • 🔁 Pravidlo opakovatelnosti: Pokaždé stejný hardware, data a konfigurace, jinak je srovnání bezvýznamné.
  • 📐 Čtyři fáze: Plánování, analýza, integrace a akce, každá s definovanými výstupy.
  • 🧪 Izolace: Změňte jednu proměnnou za běh, jinak nelze rozdíl připsat.
  • 📊 Základ pro srovnání: Benchmarky porovnávají s předchozí verzí, konkurentem nebo oborovým standardem.
  • ⚠️ Častá chyba: Benchmarking ve sdíleném nebo virtualizovaném prostředí produkuje větší šum než naměřený efekt.

Co je benchmarkové testování

Než se naučíme srovnávací testování, pochopme-

Benchmark v testování výkonu

A Benchmark v testování výkonu je metrika nebo referenční bod, se kterým lze porovnávat softwarové produkty nebo služby za účelem posouzení měřítek kvality. Jinými slovy, Benchmark znamená stanovený standard, který pomáhá určit kvalitu softwarového produktu nebo služby. Můžeme porovnat softwarový produkt nebo službu a posoudit jejich kvalitu.

Například fotbalový tým má měřítko pro hráče, aby se kvalifikoval jako a prvoligový hráč. Sada dovedností pro benchmark může být počet vstřelených gólů za posledních pět sezón, držení míče během prvního poločasu nebo minimální počet odehraných zápasů na místním turnaji atd.

Co je to srovnávací testování?

Benchmark Testing měří opakovatelný soubor kvantifikovatelných výsledků, které slouží jako referenční bod, se kterým lze porovnávat produkty/služby. Účelem výsledků benchmarkového testování je porovnat současné a budoucí verze softwaru s jejich příslušnými benchmarky.

Musí existovat měřítko opakovatelný. Například při každé iteraci zátěžového testu, pokud se doba odezvy příliš liší, musí být porovnán výkon systému. Doba odezvy musí být stabilní mezi různými podmínkami zatížení.

Musí existovat měřítko kvantifikovatelné. Například uživatelskou zkušenost nelze vyčíslit v číslech, ale čas, který uživatel stráví na webové stránce díky dobrému uživatelskému rozhraní, lze vyčíslit.

Benchmark Testing není termín související pouze s testováním softwaru, ale zabývá se také testováním hardwaru a je považován za jeden z nejdůležitějších úkolů v obchodním světě.

V tomto tutoriálu probereme benchmarky pro aplikaci klient-server nebo jinými slovy pro webovou aplikaci. Srovnávací testování lze provést pro následující služby,

  • Kompatibilita prohlížeče
  • Broken Odkazy
  • HTML compliance
  • Načíst čas
  • Přístupnost
  • Popularita odkazů

Proč je benchmarkové testování důležité

Na obchodní úrovni může být při určování užitečné srovnávací testování

  • Jak dobře si webová aplikace vede s ohledem na konkurenci
  • Jak různé typy zákazníků vnímají dobu odezvy a dostupnost webu
  • Zajišťuje, že webové stránky splňují standardy a osvědčené postupy
  • Umožňuje vyhodnotit poskytovatele služeb třetích stran před provedením podvodutracrozhodnutí
  • Umožňuje zjistit chyby, kterým je třeba se vyhnout

Vytvoření plánu srovnávacích testů

Plán testování je nejdůležitějším prvkem procesu benchmarkového testování. Plán srovnávacího testu se řídí následujícími kroky –

  1. Škálování a vyvolání zátěže
  2. Shromážděte a uložte měření pro srovnávací testování
  3. Definujte požadované časové rozpětí a konečný bod testovacího procesu
  4. Připravte si plán zálohování, abyste překonali jakékoli nové selhání testovacího případu
  5. Rozhodněte o oprávnění zavolat ukončení procesu ukončení

Jak provést benchmarkové testování

Benchmark testování zahrnuje 4 fáze:

Benchmark Testing

Krok 1) Fáze plánování

  • Identifikace a stanovení priorit standardů a požadavků
  • Rozhodněte se o kritériích benchmarku
  • Definujte proces benchmarkového testu

Krok 2) Fáze analýzy

  • Chcete-li zlepšit kvalitu, určete hlavní příčinu chyby
  • Stanovení cílů pro testovací proces

Krok 3) Fáze integrace

  • Sdílejte výsledky s dotyčnou osobou a získejte souhlas
  • Stanovte si funkční cíle

Krok 4) Fáze akce

  • Vypracujte plán zkoušek a dokumentaci
  • Implementujte akce specifikované v předchozích fázích a sledujte pokrok
  • Spusťte proces nepřetržitě

Komponenty srovnávacího testování

Různé systémy mají různé stupně složitosti a vyžadují různé techniky pro testování aplikací.

Srovnávací testování má 3 hlavní součásti. Oni jsou

  1. Specifikace pracovní zátěže: Určení typu a frekvence požadavků, které se mají zadávat do testovaného systému.
  2. Specifikace metrik: Určete, který prvek se má měřit, např.; Rychlost stahování
  3. Specifikace měření: Určení způsobu měření zadaných prvků pro nalezení vhodných hodnot

Věci, které je třeba zvážit při benchmarkovém testování

Pro úspěšné provedení benchmarkového testování je třeba vzít v úvahu následující skutečnosti.

  • Důslednost a kontrola jsou důležitá opatření pro provádění srovnávacího testování.
  • Pochopte architekturu systému pro návrh testovacích kritérií a testovacích dat
  • Prozkoumejte počáteční statická data a aktualizujte je podle počtu uživatelů
  • Zkontrolujte funkci 'Reset', kdykoli je to požadováno, a definujte rychlost transakcí za sekundu (toto se konkrétně zabývá transakcemi uživatelů proti databázi)
  • Rozdělte prvky systému podle jeho funkcí
  • Každý systém má jinou architekturu a design, což je třeba vzít v úvahu při provádění Benchmark testování
  • Ujistěte se, že všechny součásti softwaru jsou v provozuschopném stavu
  • Operační systém a podpůrné ovladače by měly fungovat přesně
  • Před spuštěním benchmarku odeberte přednačtení a dočasné soubory ze systému
  • Zavřete všechny procesy a aplikace běžící na pozadí
  • Zkontrolujte aktualizace operačních systémů a skutečné konfigurace

Srovnávací testovací rámce

Srovnávací testovací rámce pomáhají provádět některé základní úkoly pro kontrolu výkonu. Mezi tyto základní úkoly patří např.

  1. Přístup k databázi
  2. Složení na straně serveru
  3. Serializace JSON
  4. Konfigurace

Benchmark Framework 2.0 & TechEmpower se většinou používají rámce Benchmark Testing.

Pojďme se podívat na TechEmpower. Rychle se podíváme na jeho výrazné vlastnosti.

  • Jedná se o open-source framework pro provádění benchmarkových úloh
  • Vyžaduje správnou konfiguraci prostředí pro srovnávání
  • K dispozici jsou především dva režimy jako např Benchmark režim pro porovnání výsledků a Ověřit režim pro ty, kteří nejsou odborníky
  • Je vyžadováno několik souborů, které jsou jedinečné a mohou se v závislosti na systému lišit
  • Obsahuje „soubor Benchmark Config File“, který definuje sadu testovacích pokynů a metadat pro srovnávací program.
  • Vychází z několika jazyků jako např Java, Python, Ruby, PHP, JavaScript, Perl, C, Groovy, Haskell, Scala atd.
  • Object – Relational Mapper (ORM) se používá k provádění testů databází, serializace JSON atd.

Nástroje pro srovnávací testování

Nástroje pro srovnávací testování jsou podle toho kategorizovány. Zařadíme jeden po druhém.

Nástroje pro testování Windows PC:

  1. Prime95
  2. Novabench
  3. 3DMark
  4. SiSoftware Sandra

Nástroje pro testování výkonu CPU:

  1. Cinebench
  2. Geekbench

Nástroje pro testování rychlosti systému a baterií mobilních zařízení:

  1. Phoronix (Linux)
  2. Procesor (CPU) UserBenchmark (CPU Benchmark test)
  3. Vellamo (výkon procházení webu)

Srovnávací testování lze také provést pomocí Android telefony a tablety. Mezi všemi, Uspěl je známý a široce používaný nástroj Benchmark Testing.

Jak tento test zapadá do rodiny testů výkonu

Testování výkonu je zastřešující pojem. Níže uvedené varianty se liší pouze tvarem aplikovaného zatížení a dobou, po kterou je zatížení udržováno, a proto se tak často zaměňují.

Typ zkoušky Vzor zatížení Otázka to odpovídá
Zátěžové testování Očekávané špičkové zatížení, krátké trvání Splňuje systém své cíle za normálního dopravního špičkového provozu?
Stresové testování Zvýšení nad kapacitu až do selhání Kde se to zlomí a selže to elegantně?
Špičkový test Náhlý extrémní nárůst, poté stažení Přežije a zotaví se z dopravního šoku?
Testování odolnosti Normální zatížení udržované po mnoho hodin Snižuje se výkon v průběhu času?
Zkouška namáčením Trvalé zatížení po delší dobu Dochází k únikům paměti nebo vyčerpání zdrojů?
Testování stability Různé zatížení v různých podmínkách Zůstává systém spolehlivý i při změně podmínek?
Testování objemu Běžní uživatelé, velmi velký objem dat Zvládá to růst databáze?

Zkoušky životnosti a namáčení se často považují za synonyma. Běžně se používá: oba udržují trvalou zátěž po dlouhou dobu. Tam, kde je týmy rozlišují, se testování odolnosti zaměřuje na to, zda se doba odezvy zvyšuje, zatímco testování soak se zaměřuje na spotřebu zdrojů, jako je paměť, popisovače souborů a fondy připojení. Spuštění jednoho obvykle poskytne důkazy pro oba.

Benchmarkové testování: Klíčové poznatky

  • V softwarovém inženýrství poskytuje Benchmark Testing opakovatelnou sadu kvantifikovatelných výsledků o výkonu systému.
  • Užitečné pro cvičení podmínek zatížení a určení chování systému proti útokům DDoS.
  • Specifikace pracovní zátěže, metriky a specifikace měření jsou hlavními součástmi srovnávacího testování.
  • K rychlému a efektivnímu provádění srovnávacího testování se používá několik nástrojů a rámců.
  • Benchmark testování je také užitečné pro mobilní zařízení.

Nejčastější dotazy

Testování výkonu měří, jak se systém chová při zátěži. Benchmarkové testování zaznamenává toto měření jako pevný referenční standard, takže pozdější verze lze s ním porovnávat za stejných podmínek.

Protože jakákoli změna hardwaru, objemu dat nebo konfigurace ovlivňuje výsledek. Benchmark porovnávaný s jiným prostředím měří prostředí, nikoli software.

Kdykoli se prostředí, objem dat nebo architektura podstatně změní. Jinak zachovejte stejnou základní linii, protože její hodnota pramení ze stability napříč verzemi.

Nástroje umělé inteligence detekují statisticky významné regrese mezi běhy a oddělují je od normálního rozptylu, což eliminuje dohady při rozhodování, zda na malém zpomalení záleží.

Ano. Modely odvozují prahové hodnoty z historického rozdělení běhů, nikoli z pevných procent, a přizpůsobují se s růstem aplikace. RevPřed vynucením v kanálu si prohlédněte odvozené limity.

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