what is incremental testing
Pomocou tohto článku sa budem venovať jednému z dôležitých prístupov integrácie - prírastkovému testovaniu.
Na konci tejto časti bude mať publikum spravodlivé znalosti o:
- Čo je prírastkové testovanie?
- Jeho cieľ
- Metodiky
- Výhody
- Nevýhody
Čo sa dozviete:
- Čo je to prírastkové testovanie
Čo je to prírastkové testovanie
Prírastkové testovanie, tiež známe ako prírastkové testovanie integrácie, je jedným z prístupov integračného testovania a zahŕňa jeho základné koncepty.
Je to ako test, ktorý kombinuje modul a integráciu stratégia testovania .
Pri tomto testovaní testujeme každý modul jednotlivo vo fáze testovania jednotiek a potom sú moduly postupne integrované a testované, aby sa zabezpečilo plynulé rozhranie a interakcia medzi modulmi.
V tomto prístupe je každý modul kombinovaný inkrementálne, t. J. Jeden po druhom, kým nie sú logicky pridané všetky moduly alebo komponenty, aby sa vytvorila požadovaná aplikácia, namiesto integrácie celého systému naraz a následného vykonania testov na konečnom produkte. Integrované moduly sú testované ako skupina, aby sa zabezpečila úspešná integrácia a tok údajov medzi modulmi.
Rovnako ako pri testovaní integrácie, aj pri testovaní je hlavným zameraním kontrola rozhrania, integrovaných odkazov a toku informácií medzi modulmi. Tento proces sa opakuje, až kým sa moduly neskombinujú a úspešne nevyskúšajú.
Príklad
Poďme pochopiť tento koncept na príklade:
Systémová alebo softvérová aplikácia pozostáva z nasledujúcich modulov:
Prístup k testovaniu prírastkovej integrácie
- Každý modul, tj. M1, M2, M3 atď., Sa testuje individuálne ako súčasť testovania jednotky
- Moduly sa kombinujú postupne, t. J. Jeden po druhom a testujú sa na úspešnú interakciu
- Na obrázku 2 sú modul M1 a modul M2 skombinované a vyskúšané
- Na obr.3 je pridaný a testovaný modul M3
- Na Obr4 je pridaný modul M4 a je vykonané testovanie, aby sa zabezpečilo, že všetko funguje správne
- Zvyšok modulov sa tiež postupne pridáva v každom kroku a testuje sa na úspešnú integráciu
Obr
Obr
c ++ náhodné číslo medzi 1 a 3
Obr
Cieľ prírastkovej skúšky
- Zabezpečiť, aby rôzne moduly po integrácii úspešne spolupracovali
- Identifikujte chyby skôr a v každej fáze. To dáva vývojárom výhodu v identifikácii problému. Rovnako ako v prípade, že je testovanie po integrovaní M1 a M2 úspešné, ale po pridaní M3 test zlyhá; to vývojárovi pomôže pri segregácii problému
- Problémy je možné vyriešiť v počiatočnej fáze bez väčšieho prepracovania a za nižšie náklady
Metodiky testovania prírastkovej integrácie
Skôr ako začneme s touto témou, rád by som stručne predstavil tému Pahýly a vodiči pretože tieto výrazy budeme často používať.
Pahýly a ovládače sú pseudokód alebo fiktívny kód používaný v integrácii alebo testovanie komponentov keď jeden alebo viac modulov nie je vyvinutých, ale je potrebné ich otestovať.
Pahýly sa používajú v testovacom prístupe zhora nadol a sú známe ako „nazývané programy“. Pahýly pomáhajú simulovať rozhranie medzi modulmi spodnej páky, ktoré nie sú k dispozícii alebo sú vyvinuté.
Vodiči sa používajú v prístupe na testovanie zdola nahor a sú známe ako „volacie programy“. Ovládače pomáhajú simulovať rozhranie medzi modulmi najvyššej úrovne, ktoré nie sú vyvinuté alebo dostupné.
Otázka, ktorá by sa mohla vyskytnúť niektorým z nás, je, prečo pred spustením testovania počkať, kým sa nevyvinú všetky aplikačné moduly, namiesto použitia stub / driveru?
Jednoduchá odpoveď je, že zvyšuje čas na realizáciu projektu, pretože testery budú nečinné, kým nebudú vyvinuté všetky moduly. To tiež sťažuje koreňovú analýzu defektu. Tento typ testovacieho prístupu je známy ako Big-Bang Integration testing.
Teraz, keď sme pokryli pahýle a vodičov, poďme ďalej rôzne metodiky prírastkového testovania:
# 1) zhora nadol
Ako už názov napovedá, testovanie prebieha zhora nadol, teda od centrálneho modulu k podmodulu. Najskôr sa testujú moduly rámujúce hornú vrstvu aplikácie.
Tento prístup sleduje štrukturálny tok testovanej aplikácie. Nedostupné alebo nevyvinuté moduly alebo komponenty sú nahradené pahýľmi.
Poďme to pochopiť na príklade:
c ++ generuje náhodné číslo medzi 0 a 1
- Modul : Prihlásenie na web aka L
- Modul : Objednávka aka O
- Zhrnutie objednávky modulu aka OS (zatiaľ nevyvinuté)
- Modul : Platba aka P
- Modul Platba v hotovosti aka CP
- Platba debetom / kreditom modulu aka DP (zatiaľ nevyvinuté)
- Platba modulom do peňaženky alias WP (zatiaľ nevyvinuté)
- Modul: Hlásenie aka R (zatiaľ nevyvinuté)
Prístup prírastkového testovania integrácie zhora nadol
Budú odvodené nasledujúce testovacie prípady:
Testovací prípad1: Moduly L a O budú integrované a otestované
Testovací prípad 2: Modul L, O a P bude integrovaný a otestovaný
Testovací prípad 3: Modul L, O, P a R bude integrovaný a otestovaný.
A tak sú odvodené ďalšie testovacie prípady.
Tento typ testovania, pri ktorom sú najskôr integrované a testované všetky moduly vo vrstve, je známy ako „široký“. Ďalšou kategóriou je „hĺbka na prvom mieste“.
Nasledujúce testovacie prípady budú odvodené pre „hĺbku na prvom mieste“:
Testovací prípad1: Moduly L a O budú integrované a otestované
Testovací prípad 2: Modul L, O a OS budú integrované a testované
Testovací prípad 3: Modul L, O, OS, P bude integrovaný a otestovaný
Testovací prípad4: Modul L, O, OS, P, CP bude integrovaný a otestovaný
A tak sú odvodené ďalšie testovacie prípady.
Prednosti metodiky zhora nadol
- Včasné odhalenie chýb architektúry
- Načrtáva fungovanie aplikácie ako celku v počiatočných fázach a pomáha pri včasnom odhalení vád dizajnu
- Hlavné kontrolné body sú testované skoro
Zásluhy metodiky zhora nadol
- Významné moduly sa testujú neskoro v cykle
- Napísať testovacie podmienky je veľmi náročné
- Pahýl nie je dokonalá implementácia súvisiaceho modulu. Iba simuluje tok údajov medzi dvoma modulmi
# 2) Zdola nahor
V tomto prístupe testovanie prebieha zdola nahor, to znamená, že najskôr sú integrované a testované moduly v spodnej vrstve a potom postupne, ako sa posúvame nahor, sú integrované ďalšie moduly. Nedostupné alebo nevyvinuté moduly sú nahradené ovládačmi.
Pozrime sa na nižšie uvedený príklad pre lepšie pochopenie:
Moduly Rank, Marks, Percentage a Sports Grade ešte nie sú vyvinuté, takže budú nahradené súvisiacim Driverom:
Postup testovania prírastkovej integrácie zdola nahor
Budú odvodené nasledujúce testovacie prípady:
Testovací prípad1: Jednotkové testovanie modulu Praktická a teória
Testovací prípad 2: Integrácia a testovanie - praktická teória modulov Marks Marks
Testovací prípad3 : Integrácia a testovanie modulov Percentage-Marks-Practical-Theory
Testovací prípad4: Jednotkové testovanie modulu Sports Grade
Testovací prípad5: Integrácia a testovanie modulov Rank-Sports Grade-Percentage-Marks-Practical-Theory
Prednosti metodiky zdola nahor
- Táto metodika je veľmi užitočná pre aplikácie, kde sa používa model návrhu zdola nahor
- Je jednoduchšie vytvoriť testovacie podmienky v prístupe zdola nahor
- Spustiť testovanie na spodnej úrovni hierarchie znamená testovať kritické moduly alebo funkčnosť v ranom štádiu. To pomáha pri včasnom odhalení chýb
- Poruchy rozhrania sú zistené v ranom štádiu
Výdavky metodiky zdola nahor
- Vodiči sa ťažšie píšu ako pahýly
- Vady návrhu sa zachytia v neskoršej fáze
- V tomto prístupe nemáme funkčnú aplikáciu, kým nebude zostavený posledný modul
- Ovládač nie je úplnou implementáciou súvisiaceho modulu. Iba simuluje tok údajov medzi dvoma modulmi.
# 3) Testovanie sendvičov
Tento prístup je hybridom metodiky zhora nadol a zdola nahor. Stub a ovládače sa používajú pre neúplné alebo nevyvinuté moduly.
Prístup k testovaniu
- Je identifikovaná stredná vrstva, z ktorej sa vykonáva testovanie zdola nahor a zhora nadol. Táto stredná vrstva je tiež známa ako cieľová vrstva
- Cieľová vrstva je identifikovaná podľa heuristického prístupu, t. J. Vyberte vrstvu, ktorá umožňuje minimálne použitie stubov a ovládačov
- Testovanie zhora nadol začína od strednej vrstvy a pohybuje sa smerom dole k modulom nižšej úrovne. Táto vrstva pod strednou vrstvou je známa ako Spodná vrstva
- Testovanie zdola nahor tiež začína od strednej vrstvy a postupuje nahor k modulom najvyššej vrstvy. Táto vrstva nad strednou vrstvou je známa ako horná vrstva
- Pomocou pahýľov a ovládačov sa testuje užívateľské rozhranie a funkcie modulov nižšej úrovne
- Nakoniec pre vykonanie záverečného testu zostane iba stredná vrstva
Príklad:
So Sandwich Testing Strategy je možné odvodiť nasledujúce testovacie prípady:
Testovací prípad1: Testujte A, X, Y a Z jednotlivo - kde Test A spadá pod Test vrchnej vrstvy a Test X, Y a Z spadá pod Testy spodnej vrstvy
Testovací prípad 2: Test A, G, H a I
Testovací prípad 3: Test G, X a Y
Testovací prípad4: Skúšobná ruka Z
Testovací prípad5: Test A, G, H, I, X, Y a Z.
Prednosti metodiky sendvičového testovania
- Je to veľmi výhodné pre veľký projekt, ktorý má rôzne čiastkové projekty
- Metodika testovania zhora nadol a zdola nahor môže prebiehať vedľa seba
Nevýhody metodiky sendvičového testovania
- Pred zjednotením modulov nie sú subsystémy a ich rozhrania dôkladne testované
- Vyššie náklady vďaka zapojeniu metodiky testovania zhora nadol aj zdola nahor
- Tento typ testovania sa neodporúča pre systém, kde sú moduly navzájom veľmi závislé
Záver
Prírastkové testovanie spadá pod pokrývku integračného testovania. Pri tomto prístupe k testovaniu sa integračné testovanie vykonáva na samostatnom module ako súčasť testovania jednotky a v ďalšej fáze sa postupne integrujú moduly alebo komponenty aplikácie a testovanie sa vykonáva na kombinovaných moduloch ako skupina.
Z troch metodík prírastkového testovania integrácie závisí výber metodiky, ktorá sa má zvoliť, od štruktúry aplikácie a tiež od polohy vysoko rizikových modulov.
Všetky tri metodiky prírastkového testovania patria do horizontálnej kategórie z dôvodu nasledujúcich aspektov správania:
- Všetky tri metodiky sa zameriavajú na testovanie vrstiev
- Všetci uvažujú o štrukturálnom alebo hierarchickom dizajne
- Všetky z nich postupne integrujú vrstvy
Zásluhy:
S týmto prístupom k testovaniu je ľahšie včas identifikovať chyby a tiež pomáha vývojárovi určiť príčinu problému. Pretože využíva základy štruktúrovaného testovania, je tento testovací prístup veľmi efektívny a presný.
Nedostatky:
Tento typ testovacieho prístupu je časovo náročný z dôvodu použitia pahýľov a ovládačov. Je to tiež opakujúce sa.
O autor: Tento užitočný výukový program napísala Neha B. Je vedúcou analytičkou kvality s certifikátom ISTQB a má 8 a viac rokov skúseností.
Ak máte akékoľvek otázky alebo návrhy, dajte nám vedieť.
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 [QA Test Automation Tools]
- Čo je to testovanie komponentov alebo testovanie modulov (naučte sa s príkladmi)
- Stiahnutie e-knihy Testing Primer
- Funkčné testovanie vs. Nefunkčné testovanie
- Čo je testovanie výdrže pri testovaní softvéru (príklady)
- Výukový program pre párové testovanie alebo testovanie všetkých párov s nástrojmi a príkladmi
- Typy testovania softvéru: Rôzne typy testovania s podrobnosťami
- Výukový program na testovanie objemu: Príklady a nástroje na testovanie objemu