Metodiky testovania softvéru: Naučte sa modely QA

Obsah:

Anonim

Čo je metodika testovania softvéru?

Metodológia testovania softvéru je definovaná ako stratégie a typy testovania používané na potvrdenie, že testovaná aplikácia spĺňa očakávania klientov. Metodiky testovania zahŕňajú funkčné a nefunkčné testovanie na validáciu AUT. Príklady metodík testovania sú Testovanie jednotiek, Testovanie integrácie, Testovanie systému, Testovanie výkonu atď. Každá metodika testovania má definovaný cieľ testovania, stratégiu testovania a výstupy.

Poznámka : Pretože Testovanie softvéru je neoddeliteľnou súčasťou akejkoľvek vývojovej metodiky, mnoho spoločností hovorovo používa výraz Vývojové metodiky a testovacie metodiky. Metodiky testovania by sa preto mohli odvolávať na Waterfall, Agile a ďalšie modely QA v porovnaní s vyššie uvedenou definíciou metodík testovania. Diskusia o rôznych typoch testovania neprináša čitateľom pridanú hodnotu. Preto budeme diskutovať o rôznych vývojových modeloch.

V tomto návode sa naučíte

  • Model vodopádu
  • Iteratívny vývoj
  • Agilná metodológia
  • Extrémne programovanie
  • Ktorú softvérovú metodiku zvoliť?
  • Ako nastaviť metodiky testovania softvéru?

Model vodopádu

Čo je to?

V modeli vodopádu postupuje vývoj softvéru v rôznych fázach, ako je Analýza požiadaviek, Dizajn atď. - postupne .

V tomto modeli sa ďalšia fáza začína až po dokončení predchádzajúcej fázy.

Aký je prístup k testovaniu?

Prvou fázou modelu vodopádu je fáza požiadaviek, v ktorej sú pred začatím testovania úplne definované všetky požiadavky projektu. Počas tejto fázy testovací tím prediskutuje rozsah testovania, stratégiu testovania a vypracuje podrobný plán testovania.

Až po dokončení návrhu softvéru, tím prejde k vykonaniu testovacích prípadov, aby zabezpečil, že sa vyvíjaný softvér bude chovať podľa očakávaní.

V rámci tejto metodiky postupuje testovací tím do ďalšej fázy až po dokončení predchádzajúcej fázy.

Výhody

Tento softvérový technický model je veľmi jednoduchý na plánovanie a správu. Projekty, kde sú jasne definované a vopred stanovené požiadavky, možno preto ľahko testovať pomocou modelu vodopádu.

Nevýhody

V modeli vodopádu môžete začať s ďalšou fázou až po dokončení predchádzajúcej fázy. Preto tento model nedokáže pojať neplánované udalosti a neistotu.

Táto metodika nie je vhodná pre projekty, kde sa požiadavky často menia.

Iteratívny vývoj

Čo je to?

V tomto modeli je veľký projekt rozdelený na malé časti a každá časť je podrobená niekoľkým iteráciám modelu vodopádu. Na konci iterácie sa vyvíja nový modul alebo sa vylepšuje existujúci modul. Tento modul je integrovaný do softvérovej architektúry a testuje sa celý systém

Aký je prístup k testovaniu?

Hneď ako je iterácia dokončená, je celý systém podrobený testovaniu. Spätná väzba z testovania je okamžite k dispozícii a je začlenená do nasledujúceho cyklu. Čas testovania požadovaný v postupnej iterácii je možné skrátiť na základe skúseností získaných z minulých iterácií.

Výhody

Hlavnou výhodou iteratívneho vývoja je spätná väzba testu je okamžite k dispozícii na konci každého cyklu.

Nevýhody

Tento model významne zvyšuje režijné náklady na komunikáciu, pretože na konci každého cyklu musí byť poskytnutá spätná väzba o výsledkoch, úsilí atď.

Agilná metodológia

Čo je to?

Tradičné metodiky vývoja softvéru pracujú na predpoklade, že softvérové ​​požiadavky zostanú počas celého projektu nemenné. S rastúcou zložitosťou však požiadavky prechádzajú mnohými zmenami a neustále sa vyvíjajú. Samotný zákazník si niekedy nie je istý, čo chce. Aj keď iteračný model rieši tento problém, stále je založený na modeli vodopádu.

V metodike Agile je softvér vyvíjaný v prírastkových, rýchlych cykloch. Dôraz sa kladie na interakcie medzi zákazníkmi, vývojármi a klientmi, a nie na procesy a nástroje. Agilná metodika sa zameriava skôr na reakciu na zmeny ako na rozsiahle plánovanie.

Aký je prístup k testovaniu?

Prírastkové testovanie sa používa v metódach agilného vývoja, a preto je každé vydanie projektu dôkladne testované. To zaisťuje, že všetky chyby v systéme budú opravené pred ďalším vydaním.

Výhody

V súlade s požiadavkami je možné v projekte vykonať kedykoľvek zmeny.

Toto prírastkové testovanie minimalizuje riziká.

Nevýhody

Neustála interakcia s klientom znamená zvýšený časový tlak na všetky zainteresované strany vrátane samotného klienta, vývoju softvéru a testovacích tímov.

Extrémne programovanie

Čo je to?

Extrémne programovanie je typ svižnej metodológie, ktorá verí v krátke vývojové cykly. Projekt je rozdelený na jednoduché inžinierske úlohy. Programátori kódujú jednoduchý softvér a získavajú spätnú väzbu od zákazníka. Hodnotiace body od zákazníka sú zapracované a vývojári pokračujú v ďalšej úlohe.

V extrémnych programátorských vývojároch obvykle pracujú vo dvojiciach.

Extrémne programovanie sa používa na miestach, kde sa neustále menia požiadavky zákazníkov.

Aký je prístup k testovaniu?

Extrémne programovanie sleduje vývoj založený na testoch, ktorý je opísaný nasledovne -

  1. Pridajte testovací prípad do testovacej sady a overte novú funkcionalitu, ktorá sa ešte musí vyvinúť
  2. Spustite všetky testy a nový pridaný testovací prípad musí samozrejme zlyhať, pretože funkčnosť ešte nie je kódovaná
  3. Napíšte nejaký kód na implementáciu tejto funkcie
  4. Znova spustite testovaciu sadu. Tentokrát by mal nový testovací prípad prejsť, pretože funkčne bol kódovaný

Výhody

Zákazníci, ktorí majú na mysli neurčitý dizajn softvéru, by mohli využiť extrémne programovanie

Nepretržité testovanie a nepretržitá integrácia malých vydaní zabezpečujú, že softvérový kód je dodávaný na vysokej úrovni

Nevýhody

Stretnutia medzi tímom pre vývoj softvéru a klientmi zvyšujú časovú náročnosť.

Ktorú softvérovú metodiku zvoliť?

Existuje veľa metodík pre vývoj softvéru a jeho zodpovedajúce testovanie. Každá testovacia technika a metodika je navrhnutá na konkrétny účel a má svoje relatívne výhody a nevýhody.

Výber konkrétnej metodiky závisí od mnohých faktorov, ako je povaha projektu, požiadavka klienta, harmonogram projektu atď.

Z hľadiska testovania niektoré metodiky presadzujú vstup testovania na začiatku životného cyklu vývoja, zatiaľ čo iné čakajú, kým bude pripravený funkčný model systému.

Ako nastaviť metodiky testovania softvéru?

Metodiky testovania softvéru by sa nemali nastavovať iba kvôli testovaniu softvérového kódu. Mal by sa zvážiť celkový obraz a hlavný cieľ projektu by sa mal uspokojiť s metodikou testovania.

Plánovanie

Realistické plánovanie je kľúčom k implementácii úspešnej metodiky testovania a plán by mal zodpovedať potrebám každého člena tímu.

Definované výstupy

Mali by byť poskytnuté presne definované výstupy, aby boli všetci členovia tímu na jednej stránke. Výsledky by mali obsahovať priamy obsah bez akýchkoľvek nejasností.

Skúšobný prístup

Po dokončení plánovania a sprístupnení definovaných výsledkov by mal byť testovací tím schopný formulovať správny testovací prístup. Definičné dokumenty a stretnutia vývojárov by mali tímu naznačovať najlepší prístup k testovaniu, aký je možné pre projekt použiť.

Podávanie správ

Je veľmi ťažké dosiahnuť transparentné vykazovanie, ale tento krok určuje účinnosť testovacieho prístupu použitého v projekte.