Vitajte vo svete testovanie softvéru , ktorá zabezpečuje kvalitu a spoľahlivosť softvérové aplikácie . Pochopenie rôznych typov testovania softvéru je nevyhnutné pre vývojárov aj profesionálov v oblasti zabezpečenia kvality.
V tejto príručke preskúmame základné kategórie testovania softvéru, od testovania jednotiek až po testovanie zabezpečenia, čo vám pomôže orientovať sa a zabezpečí, aby váš softvér spĺňal najvyššie štandardy výkonu a funkčnosti.
Obsah
- Princípy testovania softvéru
- Rôzne typy testovania softvéru
- Typy manuálneho testovania
- Typy testovania čiernej skrinky
- Typy funkčného testovania
- Typy integračného testovania
- Typy nefunkčného testovania
- Iné typy testovania
- Výhody testovania softvéru
- Nevýhody testovania softvéru
- Otázky pre prax
- Často kladené otázky o typoch testovania softvéru
Princípy testovania softvéru
- Všetky testy by mali spĺňať požiadavky zákazníka.
- Testovanie nášho softvéru by mala vykonávať tretia strana.
- Vyčerpávajúce testovanie nie je možné. Keďže potrebujeme optimálne množstvo testovania na základe posúdenia rizík aplikácie.
- Všetky testy, ktoré sa majú vykonať, by sa mali naplánovať pred ich implementáciou
- Riadi sa Paretovým pravidlom (pravidlo 80/20), ktoré hovorí, že 80 % chýb pochádza z 20 % komponentov programu.
- Začnite testovať s malými časťami a rozšírte to na veľké časti.
- Typy testovania

Typy testovania softvéru
Rôzne typy testovania softvéru
- Manuálne testovanie
- Testovanie automatizácie
1. Manuálne testovanie
Manuálne testovanie je technika na testovanie softvéru, ktorá sa vykonáva pomocou funkcií a vlastností aplikácie. Pri manuálnom testovaní softvéru tester vykonáva testy softvéru podľa súboru preddefinovaných testovacích prípadov. V tomto testovaní testeri vytvoria testovacie prípady pre kódy, otestujú softvér a poskytnú konečnú správu o tomto softvéri. Manuálne testovanie je časovo náročné, pretože ho vykonávajú ľudia a existuje riziko ľudských chýb.
Výhody manuálneho testovania
- Rýchla a presná vizuálna spätná väzba: Zisťuje takmer každú chybu v softvérovej aplikácii a používa sa na testovanie dynamicky sa meniacich návrhov GUI, ako je rozloženie, text atď.
- Lacnejšie: Je to lacnejšie, pretože nevyžaduje žiadne zručnosti na vysokej úrovni ani špecifický typ nástroja.
- Nevyžaduje sa žiadne kódovanie: Pri použití metódy testovania čiernej skrinky nie sú potrebné žiadne znalosti programovania. Pre nových testerov je ľahké sa naučiť.
- Efektívne pre neplánované zmeny: Manuálne testovanie je vhodné v prípade neplánovaných zmien v aplikácii, pretože sa dá ľahko osvojiť.
2. Testovanie automatizácie
Automatizované testovanie je technika, pri ktorej tester píše skripty sám a používa vhodný softvér alebo automatizačný nástroj na testovanie softvéru. Je to automatizačný proces manuálneho procesu. Umožňuje vykonávať opakujúce sa úlohy bez zásahu manuálneho testera.
Výhody testovania automatizácie:
- Zjednodušuje vykonanie testovacieho prípadu: Automatizované testovanie môže zostať prakticky bez dozoru, a preto umožňuje sledovanie výsledkov na konci procesu. Tým sa zjednoduší celkové vykonávanie testu a zvýši sa efektivita aplikácie.
- Zlepšuje spoľahlivosť testov: Automatizované testovanie zaisťuje rovnaké zameranie na všetky oblasti testovania, čím sa zaisťuje najkvalitnejší konečný produkt.
- Zvyšuje rozsah testovania: Pomocou testovania automatizácie je možné vytvoriť a spustiť viac testovacích prípadov pre testovanú aplikáciu. Výsledkom je vyššie pokrytie testov a odhalenie väčšieho počtu chýb. To umožňuje testovanie zložitejších aplikácií a testovanie viacerých funkcií.
- Minimalizácia ľudskej interakcie: Pri testovaní automatizácie je všetko automatizované od vytvorenia testovacieho prípadu až po vykonanie, takže nedochádza k žiadnym zmenám pre ľudskú chybu v dôsledku zanedbania. To znižuje potrebu opravy chýb vo fáze po vydaní.
Typy manuálneho testovania
- Testovanie bielej skrinky
- Testovanie čiernej skrinky
- Testovanie šedého boxu
1. Testovanie bieleho poľa
Testovanie bielej skrinky techniky analyzujú skôr interné štruktúry, použité dátové štruktúry, interný dizajn, štruktúru kódu a fungovanie softvéru, než len funkčnosť ako pri testovaní čiernej skrinky. Nazýva sa tiež testovanie sklenených škatúľ testovanie priehľadných škatúľ alebo štrukturálne testovanie. White Box Testing je tiež známy ako transparentné testovanie alebo testovanie v otvorenom boxe.
prepínač strojopisu
Testovanie bielej skrinky je technika testovania softvéru, ktorá zahŕňa testovanie vnútornej štruktúry a fungovania softvérovej aplikácie. Tester má prístup k zdrojovému kódu a tieto znalosti využíva na návrh testovacích prípadov, ktoré dokážu overiť správnosť softvéru na úrovni kódu.
Výhody testovania v bielej krabici:
- Dôkladné testovanie : Testovanie bielej skrinky je dôkladné, pretože sa testuje celý kód a štruktúry.
- Optimalizácia kódu: Výsledkom je optimalizácia kódu pri odstraňovaní chýb a pomáha pri odstraňovaní nadbytočných riadkov kódu.
- Včasné odhalenie defektov: Môže začať v skoršej fáze, pretože nevyžaduje žiadne rozhranie ako v prípade testovania čiernej skrinky.
- Integrácia s SDLC: Testovanie bielej skrinky možno jednoducho spustiť v životnom cykle vývoja softvéru.
- Detekcia komplexných defektov: Testeri môžu identifikovať chyby, ktoré nemožno zistiť pomocou iných testovacích techník.
2. Testovanie čiernej skrinky
Testovanie čiernej skrinky je typ testovania softvéru, pri ktorom sa tester nezaoberá internými znalosťami alebo detailmi implementácie softvéru, ale zameriava sa skôr na overenie funkčnosti na základe poskytnutých špecifikácií alebo požiadaviek.
Výhody testovania čiernej skrinky:
- Na implementáciu Black Box Testing nepotrebuje tester viac funkčných znalostí alebo programátorských zručností.
- Je efektívny na implementáciu testov vo väčšom systéme.
- Testy sa vykonávajú z pohľadu používateľa alebo klienta.
- Testovacie prípady sú ľahko reprodukovateľné.
- Používa sa na nájdenie nejasností a rozporov vo funkčných špecifikáciách.
3. Testovanie šedej skrinky
Testovanie šedého boxu je technika testovania softvéru, ktorá je kombináciou Testovanie čiernej skrinky technika a Testovanie bielej skrinky technika.
- Pri technike testovania v čiernej skrinke si tester nie je vedomý vnútornej štruktúry testovanej položky a pri testovaní v bielej skrinke je jej vnútorná štruktúra známa.
- Vnútorná štruktúra je čiastočne známa v testovaní Gray Box.
- To zahŕňa prístup k interným dátovým štruktúram a algoritmom na navrhovanie testovacích prípadov.
Výhody testovania sivej skrinky:
- Jasnosť cieľov: Používatelia a vývojári majú pri testovaní jasné ciele.
- Vykonané z pohľadu používateľa: Testovanie šedej skrinky sa väčšinou vykonáva z pohľadu používateľa.
- Nevyžadujú sa vysoké programátorské znalosti: Testeri nemusia mať na toto testovanie vysoké programátorské zručnosti.
- Nerušivé: Testovanie šedej skrinky nie je rušivé.
- Vylepšená kvalita produktu: Celková kvalita produktu sa zlepšuje.
Typy testovania čiernej skrinky
- Funkčné testovanie
- Nefunkčné testovanie
1. Funkčné testovanie
Funkčné testovanie je typ testovania softvéru, pri ktorom sa systém testuje podľa funkčných požiadaviek a špecifikácií. Funkčné testovanie zabezpečuje, že aplikácia správne spĺňa požiadavky alebo špecifikácie. Tento typ testovania sa týka najmä výsledku spracovania. Zameriava sa na simuláciu skutočného používania systému, ale nevyvíja žiadne predpoklady štruktúry systému. Článok sa zameriava na diskusiu o testovaní funkcií.
Výhody funkčného testovania
- Produkt bez chýb: Funkčné testovanie zaisťuje dodanie produktu bez chýb a vysokej kvality.
- Spokojnosť zákazníkov: Zabezpečuje splnenie všetkých požiadaviek a zabezpečuje spokojnosť zákazníka.
- Testovanie zamerané na špecifikácie: Funkčné testovanie je zamerané na špecifikácie podľa použitia zákazníka.
- Správne fungovanie aplikácie: To zaisťuje, že aplikácia funguje podľa očakávania a zabezpečuje správne fungovanie všetkých funkcií aplikácie.
- Zlepšuje kvalitu produktu: Funkčné testovanie zaisťuje bezpečnosť a bezpečnosť produktu a zlepšuje kvalitu produktu.
2. Nefunkčné testovanie
Nefunkčné testovanie je typ Testovanie softvéru ktorá sa vykonáva na overenie nefunkčných požiadaviek aplikácie. Overuje, či správanie systému je v súlade s požiadavkami alebo nie. Testuje všetky aspekty, ktoré nie sú testované vo funkčnom testovaní. Nefunkčné testovanie je technika testovania softvéru, ktorá kontroluje nefunkčné atribúty systému. Nefunkčné testovanie je definované ako typ testovania softvéru na kontrolu nefunkčných aspektov softvérovej aplikácie. Je určený na testovanie pripravenosti systému podľa nefunkčných parametrov, ktoré nie sú nikdy riešené funkčným testovaním. Nefunkčné testovanie je rovnako dôležité ako funkčné testovanie.
Výhody nefunkčného testovania
- Vylepšený výkon: Nefunkčné testovanie kontroluje výkon systému a určuje úzky profil výkonu, ktorý môže ovplyvniť výkon.
- Menej časovo náročné: Nefunkčné testovanie je celkovo menej časovo náročné ako iný testovací proces.
- Zlepšuje používateľskú skúsenosť: Nefunkčné testovanie, ako je testovanie použiteľnosti, kontroluje, ako ľahko použiteľný a užívateľsky prívetivý je softvér pre používateľov. Zamerajte sa teda na zlepšenie celkovej používateľskej skúsenosti s aplikáciou.
- Bezpečnejší produkt: Ako nefunkčné testovanie konkrétne zahŕňa bezpečnostné testovanie, ktoré preveruje bezpečnostné úzke miesta aplikácie a ako je aplikácia bezpečná voči útokom z interných a externých zdrojov.
Typy funkčného testovania
- Jednotkové testovanie
- Integračné testovanie
- Testovanie systému
1. Testovanie jednotiek
Jednotkové testovanie je metóda testovania jednotlivých jednotiek alebo komponentov softvérovej aplikácie. Zvyčajne to robia vývojári a používa sa na zabezpečenie toho, aby jednotlivé jednotky softvéru fungovali podľa plánu. Unit testy sú zvyčajne automatizované a sú navrhnuté tak, aby testovali špecifické časti kódu, ako je konkrétna funkcia alebo metóda. Testovanie jednotiek sa vykonáva na najnižšej úrovni proces vývoja softvéru , kde sa jednotlivé jednotky kódu testujú izolovane.
Výhody testovania jednotiek:
Niektoré z výhod Unit Testing sú uvedené nižšie.
- Pomáha identifikovať chyby na začiatku vývojového procesu predtým, ako bude ťažšie a nákladnejšie opraviť.
- Pomáha zabezpečiť, aby zmeny v kóde nepriniesli nové chyby.
- Vďaka tomu je kód modulárnejší a ľahšie pochopiteľný a udržiavateľný.
- Pomáha zlepšovať celkovú kvalitu a spoľahlivosť softvéru.
Poznámka: Niektoré populárne rámce a nástroje, ktoré sa používajú na testovanie jednotiek, zahŕňajú JUnit , NUjednotka, a xUnit.
- Je dôležité mať na pamäti, že testovanie jednotiek je len jedným aspektom testovania softvéru a malo by sa používať v kombinácii s inými typmi testovania, ako je integračné testovanie, funkčné testovanie a akceptačné testovanie, aby sa zabezpečilo, že softvér spĺňa potreby jeho používateľov. .
- Zameriava sa na najmenšiu jednotku dizajnu softvéru. V tomto testujeme jednotlivú jednotku alebo skupinu vzájomne súvisiacich jednotiek. Často to robí programátor pomocou vzorového vstupu a pozorovaním jeho zodpovedajúcich výstupov.
Príklad:
- V programe kontrolujeme, či slučka, metóda alebo funkcia funguje správne.
- Zle pochopená alebo nesprávna aritmetická priorita.
- Nesprávna inicializácia.
2. Integračné testovanie
Integračné testovanie je metóda testovania vzájomnej interakcie rôznych jednotiek alebo komponentov softvérovej aplikácie. Používa sa na identifikáciu a riešenie akýchkoľvek problémov, ktoré môžu nastať pri kombinácii rôznych jednotiek softvéru. Integračné testovanie sa zvyčajne vykonáva po testovaní jednotky a pred funkčným testovaním a používa sa na overenie, či rôzne jednotky softvéru spolupracujú tak, ako bolo zamýšľané.
Rôzne spôsoby vykonávania testovania integrácie:
Rôzne spôsoby integračného testovania sú popísané nižšie.
- Testovanie integrácie zhora nadol: Začína sa modulmi najvyššej úrovne a odlišuje ich od modulov nižšej úrovne.
- Testovanie integrácie zdola nahor: Začína s modulmi najnižšej úrovne a integruje ich s modulmi vyššej úrovne.
- Testovanie integrácie Big-Bang: Kombinuje všetky moduly a integruje ich všetky naraz.
- Testovanie prírastkovej integrácie: Integruje moduly do malých skupín, pričom každú skupinu testuje pri pridávaní.
Výhody integrovaného testovania
- Pomáha identifikovať a riešiť problémy, ktoré môžu nastať pri kombinácii rôznych jednotiek softvéru.
- Pomáha zabezpečiť, aby rôzne jednotky softvéru spolupracovali podľa plánu.
- Pomáha zlepšiť celkovú spoľahlivosť a stabilitu softvéru.
- Je dôležité mať na pamäti, že testovanie integrácie je nevyhnutné pre zložité systémy, v ktorých sú integrované rôzne komponenty.
- Rovnako ako pri testovaní jednotiek je testovanie integrácie iba jedným aspektom testovania softvéru a malo by sa používať v kombinácii s inými typmi testovania, ako je testovanie jednotiek, funkčné testovanie a akceptačné testovanie, aby sa zabezpečilo, že softvér spĺňa potreby jeho používateľov.
The cieľ je vziať jednotkovo testované komponenty a zostaviť programovú štruktúru, ktorá bola diktovaná dizajnom. Integračné testovanie je testovanie, v ktorom je skupina komponentov kombinovaná na produkciu výstupu.
Integračné testovanie má štyri typy: (i) zhora nadol (ii) zdola nahor (iii) sendvičové (iv) Big-Bang
vzorový kód java
Príklad:
- Testovanie čiernej skrinky: Používa sa na overenie. V tomto ignorujeme vnútorné pracovné mechanizmy a sústredíme sa na to, čo je výstupom?
- Testovanie v bielej krabici: Používa sa na overenie. V tomto sa zameriavame na vnútorné mechanizmy, t. j. ako sa dosahuje výstup.
3. Testovanie systému
Systémové testovanie je typ testovania softvéru, ktorý hodnotí celkovú funkčnosť a výkon kompletného a plne integrovaného softvérového riešenia. Testuje, či systém spĺňa špecifikované požiadavky a či je vhodný na dodávku koncovým užívateľom. Tento typ testovania sa vykonáva po testovaní integrácie a pred akceptačným testovaním.
Testovanie systému je typ testovanie softvéru ktorý sa vykonáva na úplne integrovanom systéme na vyhodnotenie zhody systému s príslušnými požiadavkami. Pri testovaní systému sa komponenty, ktoré prešli integračným testovaním, berú ako vstup. Cieľom integračného testovania je odhaliť akúkoľvek nezrovnalosť medzi jednotkami, ktoré sú integrované.
Výhody testovania systému:
- Testeri nepotrebujú na vykonanie tohto testovania viac znalostí o programovaní.
- Otestuje celý produkt alebo softvér, aby sme ľahko odhalili chyby alebo defekty, ktoré sa nedajú identifikovať počas testovania jednotky a integračného testovania.
- Testovacie prostredie je podobné produkčnému alebo obchodnému prostrediu v reálnom čase.
- Kontroluje celú funkčnosť systému rôznymi testovacími skriptami a pokrýva aj technické a obchodné požiadavky klientov.
- Po tomto testovaní produkt takmer pokryje všetky možné chyby alebo chyby, a preto bude vývojový tím s dôverou pokračovať v akceptačnom testovaní.
Typy integračného testovania
- Prírastkové testovanie
- Neprírastkové testovanie
1. Prírastkové testovanie
Rovnako ako vývoj, testovanie je tiež fázou SDLC (životný cyklus vývoja softvéru) . V rôznych fázach vývojového cyklu sa vykonávajú rôzne testy. Prírastkové testovanie je jedným z testovacích prístupov, ktorý sa bežne používa v softvérovej oblasti počas testovacej fázy integračné testovanie ktorá sa vykonáva po jednotkové testovanie . Na testovanie modulov jeden po druhom sa používa niekoľko stubov a ovládačov, čo pomáha pri odhaľovaní chýb a defektov v konkrétnych moduloch.
Výhody inkrementálneho testovania
- Každý modul má svoj špecifický význam. Každý z nich má počas testovania určitú úlohu, pretože sa zvyšuje individuálne.
- Defekty sa detegujú v menších moduloch a nie označovaním chýb a následnou úpravou a opätovným opravovaním veľkých súborov.
- Je to flexibilnejšie a nákladovo efektívnejšie podľa požiadaviek a rozsahu.
- Zákazník dostane šancu reagovať na každú budovu.
Existujú 2 typy Prírastkové testovanie
- Testovanie integrácie zhora nadol
- Testovanie integrácie zdola nahor
1. Testovanie integrácie zhora nadol
Testovanie zhora nadol je typ prírastkového integračné testovanie prístup, v ktorom sa testovanie vykonáva integráciou alebo spojením dvoch alebo viacerých modulov pohybom nadol zhora nadol cez riadiaci tok štruktúry architektúry. V nich sa najprv testujú moduly vysokej úrovne a potom moduly nízkej úrovne. Nakoniec sa vykoná integrácia, aby sa zabezpečilo, že systém funguje správne. Na realizáciu tohto projektu sa používajú čapy a ovládače. Táto technika sa používa na zvýšenie alebo stimuláciu správania modulov, ktoré nie sú integrované do nižšej úrovne.
Výhody Testovanie integrácie zhora nadol
- Nie je potrebné písať ovládače.
- Chyby rozhrania sú identifikované v počiatočnom štádiu a lokalizácia porúch je tiež jednoduchšia.
- Pomocné programy na nízkej úrovni, ktoré nie sú dôležité, nie sú dobre testované a testery na vysokej úrovni sa testujú vhodným spôsobom.
- Po pridaní vstupno-výstupných funkcií je reprezentácia testovacích prípadov jednoduchšia a jednoduchšia.
2. Testovanie integrácie zdola nahor
Testovanie zdola nahor je typ prírastkového integračné testovanie prístup, v ktorom sa testovanie vykonáva integráciou alebo spojením dvoch alebo viacerých modulov pohybom nahor zdola nahor cez riadiaci tok štruktúry architektúry. V nich sa najprv testujú moduly nízkej úrovne a potom moduly vysokej úrovne. Tento typ testovania alebo prístupu je známy aj ako induktívne uvažovanie a v mnohých prípadoch sa používa ako synonymum syntézy. Testovanie zdola nahor je užívateľsky prívetivé testovanie a výsledkom je zvýšenie celkového vývoja softvéru. Výsledkom tohto testovania je vysoká úspešnosť s dlhodobými výsledkami.
Výhody integračného testovania zdola nahor
- Je ľahké a jednoduché vytvárať a vyvíjať testovacie podmienky.
- Je tiež ľahké sledovať výsledky testov.
- Nie je potrebné vedieť o detailoch konštrukčného riešenia.
- Nízkoúrovňové nástroje sú tiež dobre testované a sú tiež kompatibilné s objektovo orientovanou štruktúrou.
Typy nefunkčného testovania
- Výkonnostné testovanie
- Testovanie použiteľnosti
- Testovanie kompatibility
1. Testovanie výkonu
Výkonnostné testovanie je typ testovania softvéru, ktorý zabezpečuje, že softvérové aplikácie fungujú správne pri očakávanom pracovnom zaťažení. Je to testovacia technika vykonávaná na určenie výkonu systému z hľadiska citlivosti, reaktivity a stability pri konkrétnom pracovnom zaťažení.
Testovanie výkonu je typ testovania softvéru, ktorý sa zameriava na hodnotenie výkonu a škálovateľnosti systému alebo aplikácie. Cieľom testovania výkonu je identifikovať úzke miesta, merať výkon systému pri rôznych zaťaženiach a podmienkach a zabezpečiť, aby systém spracoval očakávaný počet používateľov alebo transakcií.
Výhody testovania výkonnosti
- Testovanie výkonu zabezpečuje rýchlosť, zaťažiteľnosť, presnosť a ďalšie výkony systému.
- Identifikuje, monitoruje a rieši problémy, ak sa čokoľvek vyskytne.
- Zabezpečuje skvelú optimalizáciu softvéru a zároveň umožňuje jeho používanie mnohým používateľom súčasne.
- Zabezpečuje spokojnosť klienta aj koncového zákazníka. Testovanie výkonu má niekoľko výhod, vďaka ktorým je dôležitým aspektom testovania softvéru:
- Identifikácia úzkych miest : Testovanie výkonu pomáha identifikovať úzke miesta v systéme, ako sú pomalé databázové dotazy, nedostatočná pamäť alebo preťaženie siete. To pomáha vývojárom optimalizovať systém a zabezpečiť, že dokáže spracovať očakávaný počet používateľov alebo transakcií.
2. Testovanie použiteľnosti
Navrhnete produkt (povedzme chladničku) a keď bude úplne pripravený, potrebujete potenciálneho zákazníka, aby ho otestoval, aby skontroloval, či funguje. Potenciálni zákazníci testujú stroje, aby pochopili, či je stroj pripravený na uvedenie na trh. Rovnako najlepším príkladom testovania použiteľnosti je, keď softvér tiež prechádza rôznymi testovacími procesmi, ktoré vykonávajú potenciálni používatelia pred uvedením na trh. Je súčasťou životného cyklu vývoja softvéru (SDLC).
Výhody a nevýhody testovania použiteľnosti
Testovanie použiteľnosti sa uprednostňuje pri hodnotení produktu alebo služby testovaním u správnych používateľov. Pri testovaní použiteľnosti budú vývojové a dizajnérske tímy používať na identifikáciu problémov pred kódovaním a výsledkom bude vyriešenie skorších problémov. Počas testu použiteľnosti môžete
- Zistite, či účastníci budú schopní úplne dokončiť konkrétnu úlohu.
- určiť, ako dlho bude trvať dokončenie konkrétnej úlohy.
- Poskytuje produktu vynikajúce vlastnosti a funkcie
- Zvyšuje spokojnosť používateľov a plní požiadavky na základe spätnej väzby od používateľov
- Produkt sa stáva efektívnejším a efektívnejším
3. Testovanie kompatibility
Testovanie kompatibility je testovanie softvéru, ktoré patrí pod nefunkčné testovanie kategórii a vykonáva sa na aplikácii, aby sa skontrolovala jej kompatibilita (schopnosť prevádzky) na rôznych platformách/prostrediach. Toto testovanie sa vykonáva iba vtedy, keď sa aplikácia stáva stabilnou. To jednoducho znamená, že cieľom tohto testu kompatibility je skontrolovať funkčnosť vyvinutej softvérovej aplikácie na rôznych softvéroch, hardvérových platformách, sieťových prehliadačoch atď. Toto testovanie kompatibility je veľmi dôležité z hľadiska výroby a implementácie produktu, pretože sa vykonáva, aby sa predišlo budúcim problémom s kompatibilitou.
Výhody testovania kompatibility
- Zabezpečuje úplnú spokojnosť zákazníka.
- Poskytuje služby na viacerých platformách.
- Identifikácia chýb počas procesu vývoja.
Existujú 4 typy Výkonnostné testovanie
- Záťažové testovanie
- Záťažové testovanie
- Testovanie škálovateľnosti
- Testovanie stability
1. Záťažové testovanie
Záťažové testovanie určuje správanie aplikácie, keď ju používa viacero používateľov súčasne. Je to odozva systému meraná pri meniacich sa podmienkach zaťaženia.
- Záťažová skúška sa vykonáva pre normálne a extrémne podmienky zaťaženia.
- Záťažové testovanie je typ testovania výkonu, ktorý simuluje skutočné zaťaženie systému alebo aplikácie, aby sa zistilo, ako funguje pri strese.
- Cieľom testovania záťaže je identifikovať úzke miesta a určiť maximálny počet používateľov alebo transakcií, ktoré systém dokáže spracovať.
- Je to dôležitý aspekt testovania softvéru, pretože pomáha zaistiť, že systém dokáže zvládnuť očakávané úrovne využitia a identifikovať akékoľvek potenciálne problémy pred nasadením systému do produkcie.
Výhody záťažového testu:
Záťažové testovanie má niekoľko výhod, vďaka ktorým je dôležitým aspektom testovania softvéru:
- Identifikácia úzkych miest: Testovanie záťaže pomáha identifikovať úzke miesta v systéme, ako sú pomalé databázové dotazy, nedostatočná pamäť alebo preťaženie siete. To pomáha vývojárom optimalizovať systém a zabezpečiť, že dokáže spracovať očakávaný počet používateľov alebo transakcií.
- Vylepšená škálovateľnosť: Tým, že identifikuje maximálnu kapacitu systému, testovanie záťaže pomáha zaistiť, že systém dokáže spracovať rastúci počet používateľov alebo transakcií v priebehu času. Toto je obzvlášť dôležité pre webové systémy a aplikácie, od ktorých sa očakáva, že budú zvládať veľký objem prevádzky.
- Vylepšená spoľahlivosť: Záťažové testovanie pomáha identifikovať akékoľvek potenciálne problémy, ktoré sa môžu vyskytnúť pri vysokom zaťažení, ako je zvýšená chybovosť alebo pomalé časy odozvy. To pomáha zabezpečiť, aby bol systém spoľahlivý a stabilný, keď je nasadený do produkcie.
2. Záťažové testovanie
In Záťažové testovanie , dávame systému nepriaznivé podmienky a kontrolujeme, ako v týchto podmienkach funguje.
Príklad:
- Vykonajú sa testovacie prípady, ktoré vyžadujú maximálnu pamäť alebo iné zdroje.
- Testovacie prípady, ktoré môžu vo virtuálnom operačnom systéme spôsobovať problémy.
- Testovacie prípady, ktoré môžu spôsobiť nadmerné požiadavky na disk Testovanie výkonu.
Je navrhnutý tak, aby testoval výkon softvéru za chodu v kontexte integrovaného systému. Používa sa na testovanie rýchlosti a účinnosti programu. Nazýva sa aj záťažové testovanie. V ňom skontrolujeme, aký je výkon systému v danej záťaži.
Príklad:
Kontrola niekoľkých cyklov procesora.
3. Testovanie škálovateľnosti
Testovanie škálovateľnosti je typ nefunkčného testovania, pri ktorom sa testuje výkonnosť softvérovej aplikácie, systému, siete alebo procesu z hľadiska ich schopnosti zvýšiť alebo znížiť počet zaťažení používateľských požiadaviek alebo iné podobné atribúty výkonu. Môže sa vykonávať na úrovni hardvéru, softvéru alebo databázy. Testovanie škálovateľnosti je definované ako schopnosť siete, systému, aplikácie, produktu alebo procesu správne vykonávať funkciu, keď sa vykonajú zmeny vo veľkosti alebo objeme systému, aby sa splnili rastúce potreby. Zabezpečuje, že softvérový produkt dokáže riadiť plánované zvýšenie návštevnosti používateľov, objem dát, frekvenciu počtov transakcií a mnoho ďalších vecí. Testuje schopnosť systému, procesov alebo databázy uspokojiť rastúce potreby.
Výhody testovania škálovateľnosti
- Poskytuje lepší prístup k produktu.
- Zisťuje problémy s načítavaním webovej stránky a iné problémy s výkonom.
- Nájde a opraví problémy skôr v produkte, čo šetrí veľa času.
- Zabezpečuje zážitok koncového používateľa pri špecifickej záťaži. Poskytuje spokojnosť zákazníkov.
- Pomáha pri efektívnom sledovaní využitia nástrojov.
4. Testovanie stability
Testovanie stability je typ testovania softvéru na kontrolu kvality a správania sa softvéru pri rôznych parametroch prostredia. Je definovaná ako schopnosť produktu pokračovať v prevádzke v priebehu času bez zlyhania.
Je to technika nefunkčného testovania, ktorá sa zameriava na maximálne namáhanie softvérového komponentu. Testovanie stability sa vykonáva na kontrolu účinnosti vyvinutého produktu nad normálnu prevádzkovú kapacitu, ktorá je známa ako bod zlomu. Má väčší význam pri spracovaní chýb, spoľahlivosti softvéru, robustnosti a škálovateľnosti produktu pri veľkom zaťažení, než pri kontrole správania systému za normálnych okolností.
java matematika.min
Testovanie stability hodnotí problémy so stabilitou. Toto testovanie je určené hlavne na kontrolu toho, či aplikácia kedykoľvek spadne alebo nie.
Výhody testovania stability
- Udáva limit údajov, ktoré systém dokáže prakticky spracovať.
- Poskytuje dôveru vo výkon systému.
- Určuje stabilitu a robustnosť systému pri zaťažení.
- Testovanie stability vedie k lepšej skúsenosti koncového používateľa.
Iné typy testovania
- Testovanie dymu
- Testovanie zdravého rozumu
- Regresné testovanie
- Akceptačné testovanie
- Užívateľské akceptačné testovanie
- Prieskumné testovanie
- Adhoc testovanie
- Bezpečnostné testovanie
- Globalizačné testovanie
- Regresné testovanie
- Testovanie dymu
- Alfa testovanie
- Beta testovanie
- Objektovo orientované testovanie
1. Testovanie dymu
Testovanie dymu sa vykonáva s cieľom uistiť sa, že testovaný softvér je pripravený alebo stabilný na ďalšie testovanie
Nazýva sa to dymový test, pretože testovanie prvého prechodu sa vykonáva, aby sa skontrolovalo, či sa pri prvom zapnutí nevznietil oheň alebo dym.
Príklad:
If the project has 2 modules so before going to the module make sure that module 1 works properly.>
Výhody testovania dymom
- Testovanie dymu je jednoduché.
- Pomáha identifikovať chyby v počiatočných štádiách.
- Zlepšuje kvalitu systému.
- Testovanie dymom znižuje riziko zlyhania.
- Testovanie dymu uľahčuje prístup k pokroku.
2. Testovanie zdravého rozumu
Je to a podmnožina z regresné testovanie . Testovanie zdravého rozumu sa vykonáva, aby sa zabezpečilo, že vykonané zmeny kódu fungujú správne. Testovanie zdravého rozumu je prestávka na kontrolu, či testovanie zostavy môže pokračovať alebo nie. Cieľom tímu počas procesu testovania zdravého rozumu je overenie funkčnosti aplikácie a nie podrobné testovanie. Testovanie zdravého rozumu sa vo všeobecnosti vykonáva na zostave, kde sa produkčné nasadenie vyžaduje okamžite ako oprava kritickej chyby.
Výhody testovania zdravého rozumu
- Testovanie zdravého rozumu pomáha rýchlo identifikovať chyby v základnej funkčnosti.
- Môže sa vykonať v kratšom čase, pretože na testovanie zdravého rozumu nie je potrebná žiadna dokumentácia.
- Ak sa defekty zistia počas testovania zdravého rozumu, projekt sa zamietne, čo pomáha šetriť čas na vykonávanie regresných testov.
- Táto testovacia technika nie je taká drahá v porovnaní s iným typom testovania.
- Pomáha identifikovať závislé chýbajúce objekty.
3. Regresné testovanie
Proces testovania upravených častí kódu a častí, ktoré by mohli byť ovplyvnené úpravami, zabezpečuje, že po vykonaní úprav neboli do softvéru zavedené žiadne nové chyby. Regresia znamená návrat niečoho a v softvérovej oblasti to znamená návrat chyby.
Výhody regresného testovania
- Zabezpečuje, že po pridaní nových funkcií do systému neboli zavedené žiadne nové chyby.
- Keďže väčšina testovacích prípadov používaných v regresnom testovaní je vybraná z existujúceho testovacieho balíka a ich očakávané výstupy už poznáme. Preto sa dá ľahko automatizovať pomocou automatizovaných nástrojov.
- Pomáha udržiavať kvalitu zdrojového kódu.
4. Akceptačné testovanie
Akceptačné testovanie zákazníci vykonávajú kontrolu, či dodané produkty plnia požadované úlohy alebo nie, ako je uvedené v požiadavkách. Objektovo orientované testovanie používame na diskusiu o plánoch testovania a na realizáciu projektov.
Výhody akceptačného testovania
- Toto testovanie pomáha projektovému tímu priamo poznať ďalšie požiadavky používateľov, pretože zahŕňa používateľov na testovanie.
- Automatizované vykonávanie testu.
- Klientom prináša dôveru a spokojnosť, pretože sú priamo zapojení do procesu testovania.
- Pre používateľa je jednoduchšie opísať svoju požiadavku.
- Zahŕňa iba testovací proces Black-Box, a preto bude testovaná celá funkčnosť produktu.
5. Akceptačné testovanie používateľom
Užívateľské akceptačné testovanie je testovacia metodika, pri ktorej sa klienti/koncoví užívatelia zúčastňujú testovania produktu, aby overili produkt podľa ich požiadaviek. Vykonáva sa na stránke klienta na stránke vývojára. Pre priemyselné odvetvia, ako je medicína alebo letectvo, sa ako súčasť používateľských akceptačných testov vykonávajú aj zmluvné a regulačné testy zhody a prevádzkové akceptačné testy. UAT je závislý od kontextu a plány UAT sa pripravujú na základe požiadaviek a nevyžaduje sa od nich vykonávanie všetkých druhov akceptačných testov používateľov a dokonca ich koordinuje a prispieva testovací tím.
6. Prieskumné testovanie
Prieskumné testovanie je typ testovanie softvéru v ktorej si tester môže slobodne vybrať akúkoľvek možnú metodológiu na testovanie softvéru. Je to neskriptovaný prístup k testovaniu softvéru. Pri prieskumnom testovaní vývojári softvéru využívajú svoje učenie, vedomosti, zručnosti a schopnosti na testovanie softvéru, ktorý sami vyvinuli. Prieskumným testovaním sa kontroluje funkčnosť a fungovanie softvéru, ako aj identifikujú sa v ňom funkčné a technické chyby. Prieskumné testovanie je zamerané na optimalizáciu a zlepšenie softvéru všetkými možnými spôsobmi.
zmeniť pridať stĺpec Oracle
Výhody prieskumného testovania
- Menšia príprava: Nevyžaduje žiadnu prípravu, pretože ide o neskriptovanú testovaciu techniku.
- Nájde kritické chyby: Prieskumné testovanie zahŕňa proces vyšetrovania, ktorý pomáha veľmi rýchlo nájsť kritické chyby.
- Zlepšuje produktivitu: Pri prieskumnom testovaní testeri využívajú svoje znalosti, zručnosti a skúsenosti na testovanie softvéru. Pomáha rozširovať predstavivosť testerov vykonaním viacerých testovacích prípadov, čím sa zvyšuje celková kvalita softvéru.
7. Adhoc testovanie
Adhoc testovanie je typ testovania softvéru, ktorý sa vykonáva neformálne a náhodne po dokončení formálneho testovania s cieľom nájsť akúkoľvek medzeru v systéme. Z tohto dôvodu je tiež známy ako náhodné alebo opičie testovanie. Adhoc testovanie sa nevykonáva štruktúrovaným spôsobom, teda nie je založené na žiadnom metodickom prístupe. To je dôvod, prečo je adhoc testovanie typom neštruktúrovaného testovania softvéru.
Výhody adhoc testovania
- Chyby, ktoré nemožno identifikovať pomocou písomných testovacích prípadov, je možné identifikovať pomocou adhoc testovania.
- Môže sa vykonať vo veľmi obmedzenom čase.
- Pomáha vytvárať jedinečné testovacie prípady.
- Tento test pomáha vybudovať silný produkt, ktorý je menej náchylný na budúce problémy.
- Toto testovanie je možné vykonať kedykoľvek počas Proces životného cyklu vývoja softvéru (SDLC)
8. Bezpečnostné testovanie
Bezpečnostné testovanie je typ Testovanie softvéru ktorý odhaľuje zraniteľné miesta v systéme a určuje, že údaje a zdroje systému sú chránené pred možnými votrelcami. Zabezpečuje, že softvérový systém a aplikácia sú bez akýchkoľvek hrozieb alebo rizík, ktoré môžu spôsobiť stratu. Bezpečnostné testovanie akéhokoľvek systému je zamerané na nájdenie všetkých možných medzier a slabín systému, ktoré by mohli viesť k strate informácií alebo reputácie organizácie.
Výhody testovania bezpečnosti
- Identifikácia slabých miest: Testovanie zabezpečenia pomáha identifikovať slabé miesta v systéme, ktoré by mohli zneužiť útočníci, ako sú slabé heslá, neopravený softvér a nesprávne nakonfigurované systémy.
- Zlepšenie zabezpečenia systému: Testovanie bezpečnosti pomáha zlepšiť celkovú bezpečnosť systému identifikáciou a opravou slabých miest a potenciálnych hrozieb.
- Zabezpečenie súladu: Testovanie bezpečnosti pomáha zaistiť, aby systém spĺňal príslušné bezpečnostné štandardy a predpisy, ako sú HIPAA, PCI DSS a SOC2.
9. Globalizačné testovanie
Globalizačné testovanie je typ testovania softvéru, ktorý sa vykonáva s cieľom zabezpečiť, aby systém alebo softvérová aplikácia fungovala nezávisle od geografického a kultúrneho prostredia. Zabezpečuje použiteľnosť aplikácie na celom svete a akceptuje všetky jazykové texty. V dnešnej dobe s nárastom rôznych technológií je každý softvérový produkt navrhnutý tak, že ide o globalizovaný softvérový produkt.
Výhody testovania globalizácie
- Pomáha vytvárať škálovateľné produkty: Vďaka tomu je softvérový produkt flexibilnejší a škálovateľnejší.
- Ušetriť čas: Šetrí celkový čas a námahu pri testovaní softvéru.
- Skráťte čas na testovanie lokalizácie: Globalizačné testovanie pomáha skrátiť čas a náklady na testovanie lokalizácie.
10. Regresné testovanie
Regresné testovanie je metóda testovania, ktorá sa používa na zabezpečenie toho, aby zmeny vykonané v softvéri nepriniesli nové chyby alebo nespôsobili zlyhanie existujúcej funkčnosti. Zvyčajne sa to robí po vykonaní zmien v kóde, ako sú opravy chýb alebo nové funkcie, a používa sa na overenie, či softvér stále funguje podľa plánu.
Regresné testovanie sa môže vykonávať rôznymi spôsobmi, napríklad:
- Opätovné testovanie : Ide o testovanie celej aplikácie alebo konkrétnej funkcie, ktorá bola ovplyvnená zmenami.
- Re – exekúcie : Zahŕňa spustenie predtým vykonanej testovacej sady, aby sa zabezpečilo, že zmeny nenarušia žiadnu existujúcu funkčnosť.
- Porovnanie : Ide o porovnanie aktuálnej verzie softvéru s predchádzajúcou verziou, aby sa zabezpečilo, že zmeny nenarušia žiadnu existujúcu funkčnosť.
Výhody regresného testovania
- Pomáha zabezpečiť, aby zmeny vykonané v softvéri nepriniesli nové chyby alebo nespôsobili zlyhanie existujúcich funkcií.
- Pomáha zabezpečiť, aby softvér po vykonaní zmien naďalej fungoval podľa plánu.
- Pomáha zlepšiť celkovú spoľahlivosť a stabilitu softvéru.
- Je dôležité mať na pamäti, že regresné testovanie je nepretržitý proces, ktorý by sa mal vykonávať počas celého obdobia vývoj softvéru
- životného cyklu, aby sa zabezpečilo, že softvér bude naďalej fungovať tak, ako má. Mala by byť čo najviac automatizovaná, aby sa ušetril čas a zdroje. Okrem toho je dôležité mať dobre definovaný súbor regresných testov, ktorý pokrýva
Každé pridanie nového modulu vedie k zmenám v programe. Tento typ testovania zabezpečuje, že celý komponent funguje správne aj po pridaní komponentov do kompletného programu.
Príklad:
Predpokladajme, že v školských záznamoch máme zamestnancov modulov, študentov a financie, ktoré tieto moduly kombinujú a kontrolujú, či integrácia týchto modulov funguje dobre pri regresnom testovaní.
11. Testovanie dymu
Testovanie dymu sa vykonáva s cieľom uistiť sa, že testovaný softvér je pripravený alebo stabilný na ďalšie testovanie
Nazýva sa to dymový test, pretože testovanie prvého prechodu sa vykonáva, aby sa skontrolovalo, či sa pri prvom zapnutí nevznietil oheň alebo dym.
Príklad:
Ak má projekt 2 moduly, pred prechodom na modul sa uistite, že modul 1 funguje správne.
12. Alfa testovanie
Alfa testovanie je typ overovacieho testovania. Ide o typ akceptačného testovania to sa robí pred uvedením produktu na trh zákazníkom. Zvyčajne to robia ľudia na kontrolu kvality.
Príklad:
Keď sa testovanie softvéru vykonáva interne v rámci organizácie.
13. Beta testovanie
The beta test sa vykonáva na jednom alebo viacerých miestach zákazníka koncovým používateľom softvéru. Táto verzia je vydaná pre obmedzený počet používateľov na testovanie v prostredí v reálnom čase.
Príklad:
string java pole
Keď sa testovanie softvéru vykonáva pre obmedzený počet ľudí.
14. Objektovo orientované testovanie
Objektovo orientované testovanie testovanie je kombináciou rôznych testovacích techník, ktoré pomáhajú overovať a validovať objektovo orientovaný softvér. Toto testovanie sa vykonáva nasledujúcim spôsobom:
- Testovanie požiadaviek,
- Návrh a analýza testovania,
- Testovanie kódu,
- testovanie integrácie,
- testovanie systému,
- Používateľské testovanie.
Výhody testovania softvéru
- Vylepšená kvalita a spoľahlivosť softvéru.
- Včasná identifikácia a oprava chýb.
- Zlepšená spokojnosť zákazníkov.
- Zvýšená dôvera zainteresovaných strán.
- Znížené náklady na údržbu.
- Spokojnosť zákazníkov
- Nákladovo efektívne
- Kvalitný výrobok
- Nízka porucha
- Aplikácia bez chýb
- Bezpečnosť
- Urýchlite proces vývoja
- Včasná detekcia defektov
- Spoľahlivý produkt
Nevýhody testovania softvéru
- Časovo náročné a zvyšuje náklady na projekt.
- To môže spomaliť proces vývoja.
- Nie všetky nedostatky sa dajú nájsť.
- Úplné testovanie zložitých systémov môže byť náročné.
- Možnosť ľudskej chyby počas testovacieho procesu.
Otázky pre prax
1. Pokiaľ ide o testovanie softvéru, zvážte vývojový diagram G s jedným pripojeným komponentom. Nech E je počet hrán, N je počet uzlov a P je počet predikátových uzlov G. Zvážte nasledujúce štyri výrazy: [GATE IT -2006]
- I. E-N+P
- II. E-N+2
- III. P+2
- IV. P+1
Cyklomatická zložitosť G je daná
- (A) I alebo III
- (B) II alebo III
- (C) II alebo IV
- (D) I alebo IV
Riešenie: Správna odpoveď je (C).
Často kladené otázky o typoch testovania softvéru
1. Čo je testovací prípad?
Roky: Testovacie prípady možno jednoducho určiť ako podmienky, ktoré tester skontroluje, či kód beží perfektne alebo nie.
2. Aké je využitie testovania automatizácie?
Roky: Automatizačné testovanie sa používa na zníženie testovacieho úsilia a tiež na rýchlejšie testovanie schopnosti.
3. Aký je rozdiel medzi manuálnym a automatickým testovaním?
Roky: Manuálne testovanie zahŕňa ľudského testera, ktorý interaguje so softvérom, aby našiel chyby. Automatizované testovanie používa skripty alebo nástroje na automatizáciu opakujúcich sa testovacích prípadov.