functional testing vs performance testing
Funkční testování vs. Testování výkonu:
Rozdíly mezi Testování výkonu, zátěžové testy a zátěžové testy byly vysvětleny příklady v našem posledním tutoriálu.
Testování softwaru pokrývá širokou škálu oblastí, kde může dojít k jakémukoli ověření nebo ověření funkčnosti softwaru. Nefunkční aspekty se občas stávají méně funkčními. Nejsou prováděny prakticky; současně během testování softwaru.
=> Klepnutím sem zobrazíte kompletní sérii výukových programů pro testování výkonu
Tento článek vysvětluje další výhody kvality softwarového produktu během různých scénářů v životním cyklu testování softwaru když jsou funkční i nefunkční brány současně.
Co se naučíte:
- Rychlý rozdíl mezi testováním výkonu a funkčním testováním
- Proč by mělo být funkční testování a testování výkonu prováděno současně?
- Případová studie
- Závěr
- Doporučené čtení
Rychlý rozdíl mezi testováním výkonu a funkčním testováním
Sl NO | Funkční testování | Testování výkonu |
---|---|---|
jeden | Ověření přesnosti softwaru s určitými vstupy proti očekávanému výstupu | Ověření chování systému při různých podmínkách zatížení |
dva | Může to být manuální nebo automatizované | Může být účinně provedeno, pokud je automatizováno |
3 | Jeden uživatel provádějící všechny operace | Několik uživatelů provádějící požadované operace |
4 | Zapojení vyžadováno od zákazníka, testeru a vývojáře | Zapojení požadováno od týmu zákazníků, testerů, vývojářů, DBA a N / W Management |
5 | Testovací prostředí velikosti produkce není povinné a požadavky na H / W jsou minimální | Vyžaduje naplnění zátěže v blízkosti produkčního testovacího prostředí a několika H / W zařízení |
Proč by mělo být funkční testování a testování výkonu prováděno současně?
Funkční testování se stává mnohem důležitějším pro jakékoli vydání softwaru. Skutečné výsledky založené ověřování a validace v replikovaném produkčním nebo testovacím prostředí se obvykle odehrává testování.
Únik vady se může stát jedním z největších problémů:
Testeři mají větší odpovědnost než vývojáři, pokud jde o kvalitu produktu. V zásadě nechtějí, aby u testovaného produktu došlo k úniku vady. Testeři obecně mají tendenci provádět pouze funkční testování, aby toho dosáhli.
Následuje rozhovor mezi uživatelem aManažer testů a tester :
(Test Manager se označuje jako „TM“ a Tester jako „TR“)
TM : Ahoj kámo ... Jak jsme na tom s testováním produktu „A“?
TR : Ano ... Postupujeme ve větší míře.
TM : To je fantastické ... A jaký je náš rozsah, pokud jde o testování výkonu, zatímco funkční testování probíhá?
TR : Nezastřešujeme je, naše výstupy mají být pouze ve funkční oblasti a ne v nefunkční oblasti. Také testovací prostředí, které používáme, není přesnou replikou produkce.
Je třeba vzít v úvahu několik otázek z výše uvedené konverzace:
- Má funkční testování závislý faktor na výkonu?
- Co když je výkon softwaru snížen, ale dodání produktu proběhne bez kontroly výkonu?
- Testování výkonu - existuje v rámci procesu funkčního testování současně?
Stalo se běžnou praxí, že testeři nepracují na nefunkčních aspektech, pokud o to nejsou požádáni. Je běžné se tomu vyhnout nefunkční testování dokud klient nenahlásil problémy s výkonem testovaného softwaru.
Je tedy třeba zvážit 2 otázky:
- Výkon - ovlivňuje funkční testování?
- Udržujeme testování výkonu jako samostatnou dodávku, i když to klienta znepokojuje?
Testování výkonu je Důležité !
otázky a odpovědi na technickou podporu
Software funguje na základě různých architektur a následujících modelů, včetně:
- Požadované modely odpovědi
- Systémy založené na transakcích
- Zátěžové systémy
- Systémy založené na replikaci dat
Chování funkčního testování výše uvedeného systematického modelu závisí na výkonu systému.
Úhel pohledu automatizace vyžaduje velkou pozornost testování výkonu.
Následuje rozhovor mezi uživatelem aklienta a správce testů.
(Klient je označován jako „CL“ a správce testů jako „TM“)
CL : Proto přichází řešení, které jsme požadovali, doufám, že bude existovat několik iterací testování, které se v současné době děje.
TM : Ano, to se dá udělat. Jak jste řekli, bude větší pravděpodobnost iterativního testování, rádi bychom navrhli automatizaci pro řešení funkčního (regresního) testování.
CL : Dobře, pošlete nám prosím váš přístup, abychom to mohli schválit. Automatizace bude mít mnohem vyšší výkon s minimálním úsilím.
TM : Přesně. Budeme pracovat na přístupu a ozveme se vám s Proof of Concept.
Z výše uvedeného rozhovoru je zřejmé, že potřebou klientů je optimalizovat efektivitu.
Případová studie
Společnost ABC pracuje na projektu vývoje softwaru A. Testování softwaru A provádí společnost XYZ.
Smlouva pro společnost ABC a XYZ má pro jejich spolupráci určitá omezení. Jakákoli diskuse mezi těmito dvěma společnostmi by měla probíhat jednou týdně nebo třikrát měsíčně. Systém pracuje na modelu režimu požadavek-odpověď. Fáze vývoje byla dokončena společností ABC.
Nyní je čas, aby společnost XYZ provedla formální funkční testování na softwaru A. XYZ začíná pracovat na testování softwaru A. Dali softwaru čistou ruku a po 2 cyklech testování dali „Go“ živé implementaci.
Navzdory certifikátu kvality od testovacího týmu, živá implementace nevyšla dobře. Tam bylo spousta postprodukčních chyb. Klienti se potýkali s velkým počtem problémů, včetně přerušení funkčnosti u end-to-end obchodních procesů.
Takže teď, co jeproblém?
- Je to problém s omezením spolupráce mezi vývojovým a testovacím týmem?
- Je to tak, že požadavky nebyly 100% zachyceny?
- Je to tím, že produkt nebyl testován ve správném testovacím prostředí?
- Nebo jiné příčiny?
Po pečlivém výzkumu a analýze senásledující byly odvozeny:
- Existuje několik závislých a vzájemně závislých aplikací, které měly problémy s výkonem při načítání odpovědí.
- Použité testovací vstupy nebyly absolutní.
- O robustnost softwaru nebylo postaráno.
- Spousta problémů se synchronizací mezi více nezávislými aplikacemi.
- Testování softwaru provedlo několik oprav, které nebyly zohledněny.
Proto ponápravná opatřenívstoupil plánovací tým, bylo navrženo:
- Je třeba zvýšit interakci mezi vývojovým a testovacím týmem.
- Je nutné připojit všechny závislé aplikace a zahrnout je do testování funkčnosti systému
- Je třeba zvýšit hodnotu časového limitu požadavku a odezvy, aby se vytvořil prostor pro neproduktivní prostředí
- Při testování funkčnosti je třeba použít různé vstupy od jednoduchých po složité
- Nefunkční testování, zejména testování výkonu a zátěže, musí být provedeno podle doporučení nápravného týmu.
- Kromě testování systému je třeba provést testování integrace systému.
- Musí být poskytnut minimální časový odstup mezi dvěma testovacími iteracemi. Slouží k opětovnému testování dříve identifikovaných chyb.
- Všechny chyby identifikované v předchozích iteracích by měly být opraveny v aktuální iteraci.
Testovací tým implementoval všechny navrhované akce a za krátkou dobu bylo odhaleno velké množství vad.
Postřehy:
- Živý plán implementace softwaru se významně zlepšil optimalizací časů testovacích cyklů.
- V optimalizaci kvality softwaru došlo k dobrému pokroku. Po implementaci tedy došlo k obrovskému poklesu počtu lístků podpory.
- Přestavby byly sníženy a namísto přepracování to bylo testování iterací. Mezi různými iteracemi bylo pozorováno lepší zlepšení kvality.
Závěr
Provádění nefunkčního testování během provádění funkčního testu je výhodnější a přidá další výhody k celkové kvalitě softwaru. Tím se identifikují chyby výkonu (omezené na testovací prostředí a závislost) a tím se sníží situace předpokladů funkčních problémů.
Je třeba provést dostatečné plánování pro provedení funkčního a nefunkčního testování (na minimální úroveň), aby se udržel silný vztah mezi ostatními zúčastněnými stranami projektu.
O autorovi: Toto je článek napsaný Nagarajanem. Pracuje jako testovací vedoucí s více než 6 lety zkušeností s testováním v různých funkčních oblastech, jako je bankovnictví, letecké společnosti, telekomunikace, a to jak z hlediska manuálního, tak automatizačního.
Náš nadcházející výukový program vysvětlí více o plánu testování výkonu a strategii testování.
=> Navštivte zde kompletní sérii výukových programů pro testování výkonu
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Funkční testování vs. nefunkční testování
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)
- Testování výkonu vs. zátěžové testování vs. zátěžové testování (rozdíl)
- Georgia Tech standardizuje testování výkonu na RadView WebLOAD
- Rozdíl mezi desktopem, klientským serverem a webovým testováním
- Testování stahování e-knih Primer
- Rozdíly mezi testováním jednotek, testováním integrace a funkčním testováním
- Cloud Performance Testing: Cloud-Based Load Testing Service Providers