software development
Čo sú metodiky vývoja a testovania softvéru?
Testovanie je nevyhnutnou súčasťou procesu vývoja softvéru. Robustný a stabilný softvérový produkt je možné dodať s použitím štandardných testovacích metodík, ktoré pomôžu predpovedať časovú os softvérového systému.
Softvérová aplikácia sa môže stať ešte zložitejšou s veľkým počtom platforiem a zariadení. Dôležitejšie je, aby sa zabezpečilo, či spĺňajú stanovené požiadavky a či je možné ich na stroji používateľa efektívne inštalovať a prevádzkovať.
S prostriedkami bezpečnosť , kompatibilita a použiteľnosť by mal byť softvérový produkt testovaný pomocou správnej metodiky testovania.
V tomto článku , podrobne si rozoberieme, čo sa rozumie pod pojmom Testovacie metodiky, v čom sa líši od stratégií testovania a aké sú typy testovacích metód softvéru.
Čo sa dozviete:
- Význam testovacích metodík
- Testovacie techniky
- Modely v SDLC
- Rozdiel medzi metodikami testovania a stratégiami testovania
- Záver:
- Odporúčané čítanie
Význam testovacích metodík
Metodiky možno považovať za súbor testovacích mechanizmov používaných v životnom cykle vývoja softvéru od Unit Testing po System Testing. Výber vhodnej metodiky testovania sa považuje za jadro procesu testovania.
Testovacie techniky
Na testovanie sa v zásade používajú 3 metodiky testovania. Sú to Testovanie bielej skrinky, Testovanie čiernej skrinky a Testovanie šedej skrinky . Tiež sa nazývajú ako Testovacie techniky . Každá z testovacích techník je pre lepšie pochopenie uvedená nižšie.
# 1) Testovanie bielej skrinky:
Technika testovania bielej skrinky sa používa na preskúmanie programovej štruktúry a obchodnej logiky, overuje kód alebo program aplikácie. Tiež sa nazýva ako Vymazanie testovania škatule, testovania sklenenej škatule alebo testovania otvorenej škatule .
Techniky testovania bielej skrinky zahŕňajú:
- Pokrytie vyhlásenia: Preskúma všetky programovacie príkazy.
- Pokrytie pobočky: Séria prebiehajúcich testov s cieľom zabezpečiť, aby boli testované všetky pobočky.
- Pokrytie trasy: Testuje všetky možné cesty na pokrytie každého výpisu a vetvy.
# 2) Testovanie čiernej skrinky:
Metóda testovania čiernej skrinky sa používa na testovanie funkčnosti aplikácie na základe špecifikácie požiadavky. Na rozdiel od White Box Testing sa nezameriava na vnútornú štruktúru / kód aplikácie.
Techniky čiernej skrinky zahŕňajú:
- Analýza hraničných hodnôt
- Rozdelenie podľa ekvivalencie (Rozdelenie podľa triedy ekvivalencie)
- Rozhodovacie tabuľky
- Testy domén
- Štátne modely
- Prieskumné testovanie (Vyžaduje menej prípravy a tiež pomáha rýchlo nájsť chyby).
# 3) Testovanie šedej skrinky:
Táto metóda testovania sa vykonáva s menším počtom informácií o vnútornej štruktúre aplikácie. Spravidla sa to vykonáva iba ako testovanie čiernej skrinky, ale pre niektoré kritické oblasti použitia sa používa testovanie bielej skrinky.
Modely v SDLC
Výber vhodných metodík testovania zahŕňa aj výber vhodného modelu v SDLC.
Medzi tieto modely patria:
- Model vodopádu
- V modeli
- Agilný model
- Špirálový model
- RAD
Pozrime sa podrobnejšie na jednotlivé metodiky vývoja softvéru so stručným vysvetlením.
# 1) Model vodopádu
Model vodopádu je základný model životného cyklu, ktorý vyvinul Winston Royce v roku 1970. Tento model predstavuje niekoľko fáz alebo procesov v postupnom poradí, ktoré postupujú smerom nadol.
Tento prístup je užitočný, ak sú požiadavky dobre známe, technológia je pochopená a zdroje s požadovanou odbornosťou sú k dispozícii.
Model vodopádu je definovaný v nasledujúcich etapách:
- Zhromažďovanie a analýza požiadaviek: Zaznamenajte a analyzujte všetky požiadavky a uistite sa, či sú testovateľné alebo nie.
- Dizajn systému: Vytvorte a zdokumentujte návrh na základe analýzy požiadaviek. Definujte hardvérové a softvérové požiadavky.
- Implementácia: Vytvorte robustný kód pre komponenty podľa návrhu a integrujte ich.
- Testovanie systému: Integrované komponenty tvoria celý systém, táto fáza sa vykonáva, aby sa zaistilo, či systém pracuje podľa požiadaviek, sledovanie a nahlasovanie priebehu testovania.
- Nasadenie systému: Uistite sa, že ak je systém stabilný s nulovými chybami, boli splnené všetky testovacie kritériá
splnené, zabezpečte nastavenie prostredia atď. - Údržba systému: Zaisťuje, či aplikácia vo vhodnom prostredí pracuje efektívne podľa požiadaviek. V prípade, že sa zistí chyba, mala by sa opraviť a nasadiť (aktualizovať) v prostredí.
Výhody modelu Waterfall:
- Jednoduché a ľahko pochopiteľné.
- Ľahko sa spravuje, pretože každá fáza má svoje špecifické dodávky.
- Je zabránené prekrývaniu etáp.
- Dobré pre malé projekty.
Nevýhody modelu vodopádu:
- Zvýšenie množstva rizika a neistoty.
- Po vstupe do fázy testovania nemôžete v predchádzajúcich fázach nič meniť napr Dizajn a kódovanie atď.
- Nie je to dobré pre zložité a veľké projekty.
- Nevhodné tam, kde sa požiadavky neustále menia.
# 2) V modeli
V Model je rozšírenie modelu Waterfall kde vykonávanie procesu prebieha v sekvenčnom štýle v tvare V a je tiež známe ako model overovania a overovania. V tomto prístupe existuje priamo spojená fáza testovania v každej jednej fáze vývojového cyklu.
Ukázalo sa, že je to prospešné a nákladovo efektívne ako model vodopádu, pretože testovanie sa vykonáva v každej vývojovej fáze, a nie na konci vývojového cyklu.
Model V je rozdelený do 3 fáz.
- Fáza overovania
- Fáza kódovania
- Fáza overenia
a) Fáza overovania :
- Analýza obchodných požiadaviek: Komunikujte so zákazníkom, aby ste pochopili jeho očakávania a požiadavky.
- Dizajn systému: Dizajnkompletnýsystému a jeho komponentov spolu s hardvérovými a softvérovými požiadavkami.
- Architektonický dizajn: V tejto fáze sú zachytené architektonické špecifikácie. Toto sa označuje aj ako dizajn na vysokej úrovni.
- Dizajn modulu: Toto je tiež známe ako Nízkoúrovňový dizajn, Podrobný interný dizajn pre všetky určené systémové moduly.
b) Fáza kódovania:
Táto fáza obsahuje skutočnú fázu kódovania v životnom cykle vývoja. Programovacie jazyky by sa mali zvoliť na základe systému a architektonického návrhu špecifikovaného v technologickej platforme predchádzajúcej fázy. Kódovanie sa vykonáva podľa štandardov a pokynov, ktoré sú vopred definované.
c) Fáza overenia :
- Testovanie jednotky: Vykonáva sa na samostatnom module, aby sa odstránili chyby v počiatočnom štádiu.
- Testovanie integrácie: Vykonáva sa na testovanie komunikácie medzi rôznymi modulmi v systéme.
- Testovanie systému: Testovanie systému sa vykonáva v systéme ako celku.
- Testovanie prijatia: To je spojené s obchodnými požiadavkami. Vykonáva sa v užívateľskom prostredí z pohľadu používateľa.
Výhody modelu V.
- Jednoduché, ľahko použiteľné a zrozumiteľné.
- Prekrývaniu sa zabráni, pretože fázy sa vykonávajú jedna po druhej.
- Ľahko sa ovláda a je vhodný pre malé projekty.
Nevýhody modelu V sú viac-menej podobné nevýhodám modelu Waterfall.
# 3) Agilný model
Agilný model ukazuje iteračný a prírastkový prístup. Tento prístup rozdeľuje produkt na malé prírastkové jednotky na zabezpečenie iterácií. Každá iterácia potom zahŕňa kroky ako plánovanie, analýza požiadaviek, návrh, kódovanie, testovanie jednotiek, testovanie prijatia atď.
Tento prístup tiež umožňuje nepretržitú interakciu so zákazníkom za účelom spätnej väzby a opráv v požiadavkách v pravidelných intervaloch.
Nasledujúci diagram vám pomôže presnejšie pochopiť prístup Agile Model:
Nasledujúci obrázok zobrazí iteračný cyklus v agilnom modeli:
Výhody agilného modelu:
- Realistický prístup k vývoju softvéru.
- Podporuje tímovú prácu.
- Eliminuje nesúlad medzi požiadavkami a testovacími prípadmi.
- Rýchly a vyžaduje minimálne množstvo zdrojov.
- Vhodné pre veľké a dlhodobé projekty.
- Dobré pre meniace sa požiadavky.
- Ľahko sa spravuje.
Nevýhody agilného modelu:
- Nevhodné pre zložité projekty.
- Vyžaduje veľké množstvo interakcie so zákazníkom, čo môže spôsobiť oneskorenie.
- Nesprávne pochopenie požiadaviek môže spôsobiť nesprávny vývoj softvérového produktu.
- Zvýšené riziko udržiavateľnosti.
- Odovzdanie inému tímu môže byť dosť náročné.
# 4) Špirálový model
Špirálový model obsahuje prístup iteračného vývoja spolu so systematickým prístupom k modelu vodopádu. Je to podobné ako inkrementálny model a dôraz na analýzu rizík.
Špirálový model má štyri stupne:
- Fáza plánovania
- Analýza rizík
- Fáza inžinierstva
- Fáza hodnotenia
1) Fáza plánovania: V tejto fáze sa zhromaždia a preskúmajú požiadavky na dokončenie testovacieho prípadu.
2) Analýza rizika: Táto fáza zahŕňa identifikáciu, monitorovanie a odhad rizík riadenia. Analyzujú sa požiadavky na identifikáciu rizík pomocou techník ako brainstorming, návod apod.
3) Fáza inžinierstva: V tejto fáze je softvér na konci vyvíjaný a testovaný.
4) Fáza hodnotenia: Toto je posledná fáza, keď zákazník vyhodnotí výstup projektu a dá spätnú väzbu buď pre ďalšiu špirálu, alebo pre schválenie.
Obrázkové znázornenie špirálového modelu:
Kedy použiť špirálový model:
- Pre vysoko rizikové projekty.
- Keď sú požiadavky komplexné.
- Ak je projekt veľký.
- Majte dostatok času na získanie spätnej väzby od používateľov pre ďalšiu špirálu.
- Vyžaduje významné zmeny v dôsledku výskumu a prieskumu.
- Používatelia si nie sú istí svojimi potrebami.
Výhody špirálového modelu:
- Vyvarovanie sa riziku, pretože to vyžaduje veľké množstvo analýz rizika.
- Rýchly rozvoj.
- Zmeny v požiadavkách sa dajú ľahko prispôsobiť.
- Požiadavky je možné získať presnejšie.
Nevýhody špirálového modelu:
- Komplexné riadenie.
- Nevhodné pre malé projekty.
- Môže zahŕňať č. špirál (neurčitý).
- Nákladné.
- Vyžaduje veľké množstvo analýz rizík a odborných znalostí pre úspech ich projektu.
# 5) Model RAD
Rapid Application Development (RAD) je typ inkrementálneho modelu. V tomto prístupe sa komponenty vyvíjajú paralelne.
Jedná sa o rýchly prístup a zákazníkovi môže poskytnúť rýchly produkt na poskytnutie spätnej väzby.
Fázy v RAD sú nasledujúce:
- Obchodné modelovanie: Identifikuje dôležité informácie a ich tok medzi rôznymi obchodnými kanálmi.
- Dátové modelovanie: Informácie zhromaždené v predchádzajúcej fáze sa používajú na definovanie dátových objektov potrebných pre podnikanie.
- Procesné modelovanie: Dátové objekty sa konvertujú, aby sa získal obchodný cieľ a tok informácií.
- Generovanie aplikácie: V tejto fáze sa používajú automatizačné nástroje na prevedenie procesného modelu do skutočného kódu.
- Testovanie a obrat: Testuje všetky súčasti systému, čím sa skracuje celkový čas na testovanie.
Výhody modelu RAD:
- Môže sa merať pokrok.
- Skracuje čas potrebný na vývoj.
- Zvýšená opätovná použiteľnosť.
- Rýchle počiatočné kontroly.
- Zvyšuje spätnú väzbu od zákazníkov.
Nevýhody modelu RAD:
- Vyžaduje vysoko kvalifikované zdroje.
- Odhad vysokých nákladov.
- Neplatí pre lacnejšie projekty.
- Vysoká závislosť od modelovacích schopností.
- Pomocou protokolu RAD je možné zostaviť iba modulárny systém.
Rozdiel medzi metodikami testovania a stratégiami testovania
Odpoveď na túto otázku nie je príliš zložitá, pretože medzi oboma je jednoduchý rozdiel.
Metodiky testovania sú metódy alebo prístupy k testovaniu, ktoré zahŕňajú od testovania jednotiek cez testovanie systému.
Stratégie testovania predstavuje prehľad kľúčových problémov, ktoré sa vyskytujú v procese testovania, a musí ho brať do úvahy projektový manažér, tím vývojárov a testerov.
Na implementáciu sa používajú vyššie diskutované metódy testovania softvéru n počet stratégií testovania.
Niektoré z nich sú uvedené nižšie:
1) Testovanie jednotky:
- Zameriava sa na veľmi malé funkčné jednotky.
- Najjednoduchší spôsob, ako skontrolovať izoláciu najmenších jednotiek.
- Spravidla vykonávajú vývojári.
2) Testovanie integrácie:
čo je súbor apk v systéme Android
- Toto je ďalší krok, ktorý je potrebné vykonať na strane vývojára.
- Poskytnite mechanizmus na testovanie interakcie, spolupráce a komunikácie medzi rôznymi modulmi softvéru
3) Funkčné testovanie:
Používa sa na kontrolu funkčnosti softvérového systému, tj. Výstupu na daný vstup.
4) Regresné testovanie:
Skontroluje, či sa chyba vyskytla na jednom mieste, aby zložité funkcie nemali spôsobiť zmenu v inej základnej oblasti.
5) Testovanie systému:
- Testovanie všetkých integrovaných modulov ako kolektívneho systému.
- Kombinuje viac funkcií do komplexných scenárov.
6) Testovanie výkonu:
Testuje výkonnosť aplikácie v kritických situáciách, ako je prenos veľkého súboru, súčasný prístup používateľov do systému, zlyhanie konfigurácie atď.
7) Testovanie prijatia :
- Všeobecne Konečná úroveň testovania, pri ktorej je softvérový produkt testovaný testermi z pohľadu používateľov
- Výsledok tohto kroku je subjektívny a hľadanie presného problému si vyžaduje trochu času
Záver:
Výber správnej metodiky testovania predstavuje akciu alebo súbor akcií, ktoré sú jadrom testovacieho procesu. Môže to byť dokonca všestranná činnosť, ktorá sa mení podľa obchodných požiadaviek a časovej osi softvérového produktu.
Môžete si však zvoliť jednu alebo dokonca viac metodík vývoja a testovania softvéru, aby ste mali flexibilnejší a efektívnejší konečný produkt, ktorý uspokojí potreby a očakávania zákazníka v požadovanom alebo kratšom časovom limite.
Dajte nám vedieť svoje myšlienky / návrhy v sekcii komentárov nižšie.
Odporúčané čítanie
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Úloha pomocníka QA pri testovaní softvéru
- Kurz testovania softvéru: Do ktorého inštitútu pre testovanie softvéru by som sa mal pripojiť?
- Ako svoju kariéru si zvolíte testovanie softvéru
- Práca na voľnej nohe pre spisovateľa technického obsahu, ktorý testuje softvér
- Niektoré zaujímavé otázky týkajúce sa testovania softvéru
- Spätná väzba a recenzie na kurz testovania softvéru
- Testovanie softvéru Pomoc Partnerský program!