Softwaretestmetoder: QA-modeller

Hvad er softwaretestmetode?

Softwaretestmetodologi er defineret som strategier og testtyper, der bruges til at bekræfte, at applikationen under test lever op til kundens forventninger. Testmetoder omfatter funktionel og ikke-funktionel test for at validere AUT. Eksempler på testmetoder er Enhedstest, Integrationstest, Systemtest, Test af ydeevne osv. Hver testmetode har et defineret testmål, teststrategi og leverancer.

Bemærk: Da softwaretest er en integreret del af enhver udviklingsmetodik, bruger mange virksomheder udtrykket udviklingsmetoder og testmetoder i daglig tale. Derfor kan testmetoder også henvise til vandfalds-, agile- og andre kvalitetssikringsmodeller i modsætning til ovenstående definition af testmetoder. Diskussion om forskellige testtyper tilføjer ikke værdi for læserne. Derfor vil vi diskutere de forskellige udviklingsmodeller.

Vandfaldsmodel

Vandfaldsmodel

Hvad er det?

I vandfaldsmodel, softwareudvikling fremskridt gennem forskellige faser som kravanalyse, design osv. – sekventielt.

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

Hvad er testmetoden?

Den første fase i vandfaldsmodellen er kravfasen, hvor alle projektets krav er fuldstændigt defineret, før testen påbegyndes. I denne fase brainstormer testteamet testomfanget, teststrategi og udarbejder en detaljeret testplan.

Først når designet af softwaren er færdig, vil teamet gå videre til udførelse af testcases for at sikre, at den udviklede software opfører sig, som den forventede.

I denne metode går testteamet først videre til næste fase, når den forrige fase er afsluttet.

Fordele Ulemper
Denne software Engineering-model er meget enkel at planlægge og administrere. Derfor kan projekter, hvor krav er klart defineret og angivet på forhånd, nemt testes ved hjælp af en vandfaldsmodel. I vandfaldsmodellen kan du først begynde med den næste fase, når den forrige fase er afsluttet. Derfor kan denne model ikke rumme uplanlagte hændelser og usikkerhed.
Denne metode er ikke egnet til projekter, hvor kravene ændres ofte.

Iterativ udvikling

Iterativ udvikling

Hvad er det?

I denne model er et stort projekt opdelt i små dele, og hver del er udsat for flere iterationer 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 samlet

Hvad er testmetoden?

Så snart iterationen er afsluttet, testes hele systemet. Feedback fra test er umiddelbart tilgængelig og indarbejdes i næste cyklus. Den nødvendige testtid ved successive iterationer kan reduceres baseret på erfaringerne fra tidligere iterationer.

Fordele Ulemper
Den største fordel ved iterativ udvikling er, at testfeedback er umiddelbart tilgængelig i slutningen af ​​hver cyklus. Denne model øger kommunikationsomkostningerne betydeligt, da der i slutningen af ​​hver cyklus skal gives feedback om leverancer, indsats osv.

Agile metodologi

Agile metodologi

Hvad er det?

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

I Agile metodologi udvikles software i trinvise, hurtige cyklusser. Interaktioner mellem kunder, udviklere og klienter lægges vægt på frem for processer og værktøjer. Den agile metodologi fokuserer på at reagere på forandring frem for omfattende planlægning.

Hvad er testmetoden?

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

Fordele Ulemper
Det er muligt at foretage ændringer i projektet til enhver tid for at overholde kravene. Konstant klientinteraktion betyder øget tidspres på alle interessenter inklusive klienten selv, softwareudvikling og testteams.
Denne trinvise test minimerer risici.

Ekstrem programmering

Ekstrem programmering

Hvad er det?

Ekstrem programmering er en form for agil metodologi, der tror på korte udviklingscyklusser. Et projekt er opdelt i simple ingeniøropgaver. Programmører koder et simpelt stykke software og vender tilbage til kunden for feedback. Revpoint fra kunden indarbejdes, og udviklerne går videre med næste opgave.

I ekstrem programmering arbejder udviklere normalt i par.

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

Hvad er testmetoden?

Ekstrem programmering følger en testdrevet udvikling, som beskrives som følger –

  1. Føj til Test sag til testpakken for at verificere den nye funktionalitet, som endnu ikke er udviklet
  2. Kør alle testene, og det nye testtilfælde, der tilføjes, skal naturligvis mislykkes, da funktionaliteten ikke er kodet endnu
  3. Skriv noget kode for at implementere funktionen/funktionaliteten
  4. Kør testpakken igen. Denne gang skulle den nye test-case bestå, da den funktionelt er blevet kodet
Fordele Ulemper
Kunder med et vagt softwaredesign i tankerne kunne bruge ekstrem programmering Møder mellem softwareudviklingsteamet og kunder øger tidskravene.
Kontinuerlig test og kontinuerlig integration af små udgivelser sikrer, at softwarekoden er af høj kvalitet

Hvilken softwaremetode skal man vælge?

Der er tonsvis af metoder tilgængelige til softwareudvikling og dens tilsvarende test. Hver testteknik og -metode er designet til et specifikt formål og har sine relative fordele og ulemper.

Valg af en bestemt metode afhænger af mange faktorer såsom et projekts art, kundekrav, projektplan osv.

Fra et testperspektiv presser nogle metoder på at teste input tidligt i udviklingslivscyklussen, mens andre venter, indtil en arbejdsmodel af systemet er klar.

Hvordan opsætter man softwaretestmetoder?

Softwaretestmetoder bør ikke konfigureres kun for at teste softwarekode. Det store billede bør overvejes, og det primære mål for projektet bør være tilfreds med testmetoden. Se denne liste over velrenommerede udbydere af softwaretesttjenester som kan hjælpe dig med at etablere effektive teststrategier, der er skræddersyet til dit projekts mål.

Planlægning

Realistisk planlægning er nøglen til implementering af en vellykket testmetodologi, og tidsplanen bør opfylde behovene hos hvert medlem af teamet.

Definerede leverancer

For at holde alle medlemmer af teamet på samme side, bør der gives veldefinerede leverancer. Leverancerne skal indeholde direkte indhold uden nogen tvetydighed.

Test tilgang

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

Rapportering

Gennemsigtig rapportering er meget vanskelig at opnå, men dette trin bestemmer effektiviteten af ​​den testmetode, der bruges i projektet.