Metoder til softwaretest: Lær QA-modeller

Indholdsfortegnelse:

Anonim

Hvad er softwaretestmetode?

Metode til test af software er defineret som strategier og testtyper, der bruges til at certificere, at applikationen under test lever op til kundens forventninger. Testmetoder inkluderer funktionel og ikke-funktionel test for at validere AUT. Eksempler på testmetoder er Unit Testing, Integration Testing, System Testing, Performance Testing etc. Hver testmetodologi har et defineret testmål, teststrategi og resultater.

Bemærk : Da softwaretestning er en integreret del af enhver udviklingsmetode, bruger mange virksomheder udtrykket udviklingsmetoder og testmetoder hver dag. Derfor kunne testmetoder også henvise til vandfalds-, agile og andre QA-modeller i modsætning til ovenstående definition af testmetoder. Diskussion om forskellige testtyper tilføjer ikke læserne værdi. Derfor vil vi diskutere de forskellige udviklingsmodeller.

I denne vejledning lærer du-

  • Vandfaldsmodel
  • Iterativ udvikling
  • Agil metode
  • Ekstrem programmering
  • Hvilken softwaremetode skal du vælge?
  • Hvordan opsættes softwaretestmetoder?

Vandfaldsmodel

Hvad er det?

I vandfaldsmodellen udvikler softwareudvikling sig gennem forskellige faser som kravanalyse, design osv. - sekventielt .

I denne model begynder den næste fase kun, når den tidligere fase er afsluttet.

Hvad er testmetoden?

Den første fase i vandfaldsmodellen er kravsfasen, hvor alle projektkravene er fuldstændigt defineret, inden testen påbegyndes. I denne fase brainstormer testteamet omfanget af test, teststrategi og udarbejder en detaljeret testplan.

Først når designet af softwaren er afsluttet, fortsætter teamet til udførelse af testsagerne for at sikre, at den udviklede software opfører sig som forventet.

I denne metode fortsætter testteamet kun til den næste fase, når den foregående fase er afsluttet.

Fordele

Denne softwaretekniske model er meget enkel at planlægge og administrere. Derfor kan projekter, hvor kravene er klart defineret og angivet på forhånd, let testes ved hjælp af en vandfaldsmodel.

Ulemper

I vandfaldsmodellen kan du kun begynde med den næste fase, når den foregående fase er afsluttet. Derfor kan denne model ikke rumme ikke-planlagte begivenheder og usikkerhed.

Denne metode er ikke egnet til projekter, hvor kravene ofte ændres.

Iterativ udvikling

Hvad er det?

I denne model er et stort projekt opdelt i små dele, og hver del udsættes for flere gentagelser af vandfaldsmodellen. I slutningen af ​​en iteration udvikles et nyt modul, eller et eksisterende modul forbedres. Dette modul er integreret i softwarearkitekturen, og hele systemet testes alt sammen

Hvad er testmetoden?

Så snart iteration er afsluttet, bliver hele systemet testet. Feedback fra test er straks tilgængelig og indarbejdet i den næste cyklus. Den krævede testtid i successiv iteration kan reduceres på baggrund af erfaringerne fra tidligere iterationer.

Fordele

Den største fordel ved iterativ udvikling er, at testfeedback straks er tilgængelig i slutningen af ​​hver cyklus.

Ulemper

Denne model øger kommunikationsomkostningerne markant, da der ved afslutningen af ​​hver cyklus skal gives feedback om leverancer, indsats osv.

Agil metode

Hvad er det?

Traditionelle softwareudviklingsmetoder fungerer ud fra den forudsætning, at softwarekrav forbliver konstante gennem hele projektet. Men med en stigning i kompleksiteten gennemgår kravene adskillige ændringer og udvikler sig kontinuerligt. Til tider er kunden selv ikke sikker på, hvad han vil have. Selvom den iterative model løser dette problem, er den stadig baseret på vandfaldsmodellen.

I Agile-metoden udvikles software i trinvise, hurtige cyklusser. Interaktion mellem kunder, udviklere og klienter fremhæves snarere end processer og værktøjer. Den smidige metode fokuserer på at reagere på ændringer snarere end omfattende planlægning.

Hvad er testmetoden?

Inkrementel test bruges i agile udviklingsmetoder, og derfor testes hver frigivelse af projektet grundigt. Dette sikrer, at eventuelle fejl i systemet er rettet inden næste udgivelse.

Fordele

Det er muligt at foretage ændringer i projektet til enhver tid for at overholde kravene.

Denne inkrementelle test minimerer risici.

Ulemper

Konstant klientinteraktion betyder ekstra tidspres på alle interessenter inklusive klienten selv, softwareudvikling og testteams.

Ekstrem programmering

Hvad er det?

Ekstrem programmering er en type agil metode, der tror på korte udviklingscyklusser. Et projekt er opdelt i enkle tekniske opgaver. Programmører koder et simpelt stykke software og vender tilbage til kunden for feedback. Gennemgangspunkter fra kunden indarbejdes, og udviklerne fortsætter med den næste opgave.

I ekstreme programmeringsudviklere skal du normalt arbejde parvis.

Ekstrem programmering bruges på steder, hvor kundens krav konstant ændrer sig.

Hvad er testmetoden?

Ekstrem programmering følger en testdrevet udvikling, der beskrives som følger -

  1. Føj en testkasse til testpakken for at kontrollere den nye funktionalitet, der endnu ikke er udviklet
  2. Kør alle testene, og den nye tilføjede testtilfælde skal naturligvis mislykkes, da funktionaliteten endnu ikke er kodet
  3. Skriv noget kode for at implementere funktionen / funktionaliteten
  4. Kør testpakken igen. Denne gang skal den nye testsag passere, da den funktionelt er blevet kodet

Fordele

Kunder med et vagt softwaredesign i tankerne kan bruge ekstrem programmering

Kontinuerlig test og kontinuerlig integration af små udgivelser sikrer, at softwarekoden leveres er af høj kvalitet

Ulemper

Møder mellem softwareudviklingsteamet og klienterne tilføjer tidskrav.

Hvilken softwaremetode skal du vælge?

Der er masser af metoder til rådighed til softwareudvikling og dens tilsvarende test. Hver testteknik og metode er designet til et bestemt formål og har sine relative fordele og ulemper.

Valg af en bestemt metode afhænger af mange faktorer såsom projektets art, klientkrav, projektplan mv.

Fra et testperspektiv skubber nogle metoder til testinput tidligt i udviklingslivscyklussen, mens andre venter, indtil en arbejdsmodel af systemet er klar.

Hvordan opsættes softwaretestmetoder?

Metoder til softwaretestning bør ikke oprettes kun for at teste softwarekode. Det overordnede billede skal overvejes, og det primære mål for projektet skal være tilfreds med testmetoden.

Planlægning

Realistisk planlægning er nøglen til implementeringen af ​​vellykket testmetode, og tidsplanen skal imødekomme ethvert medlem af teamets behov.

Definerede leverancer

For at holde alle medlemmerne af teamet på samme side, skal der leveres veldefinerede leverancer. Leverancerne skal indeholde direkte indhold uden tvetydighed.

Test tilgang

Når planlægningen er afsluttet, og definerede leverancer er gjort tilgængelige, skal testteamet være i stand til at formulere den rigtige testmetode. Definitionsdokumenter og udviklermøder skal angive holdet om den bedste testtilgang, der kan bruges til projektet.

Rapportering

Transparent rapportering er meget vanskelig at opnå, men dette trin bestemmer effektiviteten af ​​testmetoden, der anvendes i projektet.