functional testing vs performance testing
Funkčné testovanie vs. Testovanie výkonu:
Rozdiely medzi Testovanie výkonu, testovanie záťaže a stresové testovanie boli vysvetlené pomocou príkladov v našom poslednom návode.
Testovanie softvéru pokrýva široké spektrum oblastí, kde môže dôjsť k overeniu alebo overeniu funkčnosti softvéru. Nefunkčné aspekty sa príležitostne stávajú menej funkčnými. Nevykonávajú sa prakticky; súčasne počas testovania softvéru.
=> Kliknutím sem zobrazíte celú sériu návodov na testovanie výkonnosti
Tento článok vysvetľuje ďalšie výhody kvality softvérového produktu počas rôznych scenárov životného cyklu testovania softvéru keď sa berú súčasne funkčné aj nefunkčné.
Čo sa dozviete:
- Rýchly rozdiel medzi testovaním výkonu a funkčným testovaním
- Prečo by sa funkčné testovanie a testovanie výkonu malo robiť súčasne?
- Prípadová štúdia
- Záver
- Odporúčané čítanie
Rýchly rozdiel medzi testovaním výkonu a funkčným testovaním
Sl Č | Funkčné testovanie | Testovanie výkonu |
---|---|---|
1 | Overiť presnosť softvéru s jednoznačnými vstupmi oproti očakávanému výstupu | Na overenie chovania systému pri rôznych podmienkach zaťaženia |
dva | Môže to byť manuálne alebo automatizované | Môže byť efektívne vykonávaný, ak je automatizovaný |
3 | Jeden používateľ vykonávajúci všetky operácie | Niekoľko používateľov vykonáva požadované operácie |
4 | Zapojenie sa vyžaduje od zákazníka, testera a vývojára | Zapojenie sa vyžaduje od tímu zákazníkov, testerov, vývojárov, DBA a N / W Management |
5 | Testovacie prostredie výrobnej veľkosti nie je povinné a H / W požiadavky sú minimálne | Vyžaduje sa v blízkosti testovacieho prostredia výroby a niekoľkých zariadení H / W na naplnenie záťaže |
Prečo by sa funkčné testovanie a testovanie výkonu malo robiť súčasne?
Funkčné testovanie sa stáva oveľa dôležitejším pre akékoľvek predbežné vydanie softvéru. Na základe skutočných výsledkov overovanie a validácia v replikovanom produkčnom alebo testovacom prostredí sa testovanie zvyčajne deje.
Únik z chyby sa môže stať jedným z najväčších problémov:
Testéri majú väčšiu zodpovednosť ako vývojári, pokiaľ ide o kvalitu produktu. V zásade nechcú, aby mal testovaný produkt únik chyby. Testéri majú zvyčajne tendenciu vykonávať iba funkčné testy, aby to dosiahli.
Nasleduje rozhovor medzi používateľom aManažér testov a tester :
(Správca testov sa označuje ako „TM“ a tester ako „TR“)
TM : Ahoj kámo ... Ako sme na tom s testovaním produktu „A“?
TR : Áno ... Postupujeme vo väčšej móde.
TM : To je fantastické ... A aký je náš rozsah, pokiaľ ide o testovanie výkonu, zatiaľ čo sa vykonáva funkčné testovanie?
TR : Nezastrešujeme ich, naše výstupy majú byť iba vo funkčnej oblasti, a nie v nefunkčnej oblasti. Testovacie prostredie, ktoré používame, tiež nie je presnou replikou produkcie.
Je potrebné vziať do úvahy niekoľko otázok z vyššie uvedenej konverzácie:
- Má funkčné testovanie závislý faktor od výkonu?
- Čo ak sa výkon softvéru zníži, ale dodanie produktu sa uskutoční bez kontroly výkonu?
- Testovanie výkonu - existuje v rámci procesu funkčného testovania súčasne?
Skúšobníkom sa stalo bežnou praxou, že nepracujú na nefunkčných aspektoch, pokiaľ o to nie sú požiadaní. Je bežné vyhnúť sa nefunkčné testovanie kým klient nenahlási problémy s výkonom testovaného softvéru.
Na zváženie sú teda dve otázky:
- Výkon - ovplyvňuje funkčné testovanie?
- Ponechávame testovanie výkonu ako samostatnú položku, aj keď to klienta znepokojuje?
Testovanie výkonu je dôležité !
ako pridať maven v zatmení
Softvér funguje na základe rôznych architektúr a nasledujúcich modelov, vrátane:
- Požadované modely odpovede na odpoveď
- Systémy založené na transakciách
- Zaťažovacie systémy
- Systémy založené na replikácii údajov
Funkčné testovacie správanie vyššie uvedeného systematického modelu závisí od výkonu systému.
Z hľadiska automatizácie je potrebné venovať veľkú pozornosť testovaniu výkonu.
Nasleduje rozhovor medzi používateľom aklienta a manažéra testov.
(Klient sa označuje ako „CL“ a manažér testovania ako „TM“)
CL : Preto prichádza riešenie, ktoré sme požadovali, dúfam, že bude prebiehať niekoľko iterácií testovania, ktoré sa v súčasnosti deje.
TM : Áno, dá sa to urobiť. Ako ste už povedali, bude tu vyššia pravdepodobnosť iteračného testovania, chceli by sme navrhnúť automatizáciu, ktorá sa bude zaoberať funkčným (regresným) testovaním.
CL : Dobre, pošlite nám svoj prístup, aby sme to mohli schváliť. Automatizácia bude mať oveľa vyšší výkon s minimálnym úsilím.
TM : Presne tak. Budeme pracovať na prístupe a ozveme sa vám s Proof of Concept.
Z vyššie uvedeného rozhovoru je zrejmé, že potrebou klientov je optimalizácia efektívnosti.
Prípadová štúdia
Spoločnosť ABC pracuje na projekte vývoja softvéru A. Testovanie softvéru A vykonáva spoločnosť XYZ.
Zmluva pre spoločnosti ABC a XYZ obsahuje určité obmedzenia týkajúce sa ich spolupráce. Akákoľvek diskusia medzi týmito dvoma spoločnosťami by sa mala uskutočňovať raz týždenne alebo trikrát mesačne. Systém pracuje na modeli režimu požiadavka-odpoveď. Fázu vývoja zavŕšila spoločnosť ABC.
Teraz je čas, aby spoločnosť XYZ vykonala formálne funkčné testovanie na softvéri A. Spoločnosť XYZ začala pracovať na testovaní softvéru A. Softvéru dali čistý šmrnc a po 2 cykloch testovania dostali „Go“ na živú implementáciu.
Napriek certifikátu kvality od testovacieho tímu, živá implementácia neprebehla dobre. Postprodukčných bugov bolo veľa. Klientom čelilo veľké množstvo problémov, vrátane prerušenia funkčnosti end-to-end obchodných procesov.
Takže teraz, čo jeproblém?
- Je to problém s obmedzením spolupráce medzi vývojovým a testovacím tímom?
- Je to tak, že požiadavky neboli zachytené na 100%?
- Je to tak, že produkt nebol testovaný v správnom testovacom prostredí?
- Alebo nejaké iné príčiny?
Po dôkladnom výskume a analýze,boli odvodené nasledujúce:
- Existuje niekoľko závislých a vzájomne závislých aplikácií, ktoré mali problémy s výkonom pri načítaní odpovedí.
- Použité vstupy testu neboli absolútne.
- O robustnosť softvéru nebolo postarané.
- Veľa problémov so synchronizáciou medzi viacerými nezávislými aplikáciami.
- Testovanie softvéru vykonalo niekoľko prepracovaní, ktoré sa neuvažovali.
Preto ponápravné opatreniavstúpil plánovací tím, boli navrhnuté nasledovné:
- Musí sa zvýšiť interakcia medzi vývojovým tímom a testovacím tímom.
- Všetky závislé aplikácie musia byť pripojené a zahrnuté do funkčného testovania systému
- Je potrebné zvýšiť hodnotu časového limitu požiadavky a odpovede, aby sa vytvoril priestor pre neprodukčné prostredia
- Pri funkčnom testovaní je potrebné použiť rôzne vstupy od jednoduchého po komplexný
- Nefunkčné testovanie, najmä testovanie výkonu a záťaže, sa musí vykonať podľa pokynov nápravného tímu.
- Okrem testovania systému je potrebné vykonať aj testovanie integrácie systému.
- Medzi dvoma testovacími iteráciami musí byť zabezpečený minimálny časový odstup. Toto slúži na opätovné testovanie predtým identifikovaných chýb.
- Všetky chyby identifikované v predchádzajúcich iteráciách by mali byť opravené v aktuálnej iterácii.
Testovací tím implementoval všetky navrhované akcie a v krátkom čase bolo odhalených veľké množstvo chýb.
Postrehy:
- Živý harmonogram implementácie softvéru sa významne zlepšil optimalizáciou časov testovacích cyklov.
- V optimalizácii kvality softvéru sa dosiahol značný pokrok. Preto po implementácii došlo k obrovskému poklesu podporných lístkov.
- Počet prepracovaní sa znížil a namiesto prepracovania sa testovalo opakovanie. Medzi rôznymi iteráciami bolo pozorované lepšie zlepšenie kvality.
Záver
Vykonávanie nefunkčného testovania počas vykonávania funkčného testu je výhodnejšie a zvýši celkovú kvalitu softvéru. Toto identifikuje výkonnostné chyby (obmedzené na testovacie prostredie a závislosť) a tým zníži situácie predpokladov funkčných problémov.
Je potrebné vykonať dostatočné plánovanie na vykonanie funkčného a nefunkčného testovania (na minimálnu úroveň), aby sa udržal silný vzťah medzi ostatnými zainteresovanými stranami projektu.
O autorovi: Toto je článok, ktorý napísal Nagarajan. Pracuje ako testovací vedúci s viac ako 6-ročnými skúsenosťami s testovaním v rôznych funkčných oblastiach, ako sú bankovníctvo, aerolínie a telekomunikácie, a to z hľadiska manuálneho aj automatizovaného.
Náš nadchádzajúci tutoriál vysvetlí viac informácií o pláne testovania výkonnosti a stratégii testovania.
=> Kompletnú sériu návodov na testovanie výkonu nájdete tu
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Funkčné testovanie vs. Nefunkčné testovanie
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Výkonové testovanie vs záťažové testovanie vs záťažové testovanie (rozdiel)
- Georgia Tech štandardizuje svoje testovanie výkonu na aplikácii RadView WebLOAD
- Rozdiel medzi počítačom, klientskym serverom a webom
- Stiahnutie e-knihy Testing Primer
- Rozdiely medzi testovaním jednotiek, testovaním integrácie a funkčným testovaním
- Testovanie cloudového výkonu: Poskytovatelia služieb testovania zaťaženia na základe cloudu