Granskning och Godkännande inom Programvarutestning
Inom programvarutestning är granskning och godkännande väsentliga steg för att säkerställa att ett system uppfyller sitt syfte och de specificerade kraven. Dessa processer, ofta kallade kvalitetskontroll, används flitigt under mjukvaruutvecklingscykeln. Trots att de kan verka snarlika, skiljer de sig åt i sin inriktning och analys.
Granskning fokuserar på att fastställa programvarans kvalitet i utvecklingsprocessen, medan godkännande verifierar att produkten möter kundens behov genom sin funktionalitet. Godkännandet sker efter att granskningen är slutförd och utgör en sista kontroll i utvecklingscykeln.
Det kan ofta råda förvirring kring dessa begrepp. Därför är det viktigt att förstå skillnaderna, särskilt om du arbetar med mjukvarutestning eller är nyfiken på ämnet. Denna artikel syftar till att klargöra dessa skillnader, diskutera fördelarna med varje process och presentera en jämförelse.
Låt oss utforska ämnet vidare!
Vad är Granskning?
Granskning är en process där programvaran kontrolleras under utvecklingen. Detta omfattar granskningar av dokumentation, kod, specifikationer och planer. Syftet är att bedöma om de är kompletta, korrekta och uppfyller de fastställda kraven.
Tekniskt sett handlar granskning om att utvärdera applikationen för att se om den uppfyller kraven och kan tillfredsställa användarna. Processen säkerställer kvaliteten på mjukvaran, dess arkitektur, design och andra aspekter.
Under granskningen används specifikationerna som grund för applikationsutvecklingen. Koden baseras på detaljerade dokument som beskriver kraven. Mjukvarutestare använder olika metoder beroende på applikationens komplexitet, ibland matematiska modeller för att förutse mjukvarans beteende och kontrollera logiken i koden.
Granskning ser också till att utvecklingsteamet bygger produkten på rätt sätt. Det är en fortlöpande process som startar före valideringen och pågår fram till att programvaran godkänns och släpps.
Granskningen innefattar tre huvudsakliga faser:
- Kravgranskning: Här kontrolleras att kraven är fullständiga och korrekta innan utvecklingen fortsätter. Testteamet granskar kundens eller företagets krav på noggrannhet.
- Designgranskning: Under denna fas kontrolleras att programvaran uppfyller de designspecifikationer som finns i dokumentet. Testteamet bedömer prototyper, layouter och arkitekturdesign för att säkerställa att de möter de önskade funktionella och icke-funktionella kraven.
- Kodgranskning: Här verifieras koden för dess korrekthet, konsistens och fullständighet. Testteamet kontrollerar om källkoden, användargränssnittet och andra artefakter uppfyller designspecifikationerna.
Låt oss använda ett verkligt exempel för att illustrera detta. Tänk dig att du anlitar en inredningsarkitekt. Först beskriver du dina önskemål. Därefter skapar arkitekten en modell som visar hur resultatet kommer att se ut. Modellen testas och justeras utifrån dina önskemål för att säkerställa att den är korrekt och uppfyller kraven. I detta fall är husmodellen koden, inredningsteamet är utvecklarna och testarna, och du som husägare är kunden.
Vad är Godkännande?
Godkännande är processen att utvärdera programvaran mot kundens eller företagets krav antingen under eller i slutet av utvecklingsprocessen. Syftet är att bekräfta att den färdiga produkten uppfyller användarnas förväntningar och krav.
Godkännande är en dynamisk process som fokuserar på det slutliga resultatet, oberoende av interna processer. Det påbörjas efter granskningsprocessen. Testteamet använder olika metoder, som black box-testning (funktionstestning) och white box-testning (icke-funktionell testning).
- White box-testning validerar applikationen med fördefinierade datainmatningar. Utdata jämförs med indata för att se om resultaten matchar förväntningarna.
- Black box-testning fokuserar på tre aspekter: indatavärden, förväntade utdatavärden och faktiska utdatavärden.
Funktionstestning (black box) omfattar integrationstester, systemtester och enhetstester, medan icke-funktionell testning (white box) innefattar användaracceptanstestning. Godkännande säkerställer att den utvecklade produkten är korrekt genom att verifiera att den stämmer överens med kundens specifikationer.
Godkännandeprocessen innefattar följande steg:
- Designbedömning: Testteamet analyserar kundens krav och skapar en testplan. Detta steg bekräftar varje aspekt av programvaran innan produktionsstart.
- Installationsbedömning: Testteamet installerar programvaran enligt testplanen och verifierar att installationsprocessen och systemet överensstämmer med specifikationerna.
- Driftsbedömning: Olika testscenarier genomförs för att säkerställa att programvaran fungerar enligt kundens krav.
- Prestandabedömning: Programvaran testas i verkliga förhållanden för att säkerställa att den fungerar som avsett. Betatestning utförs också för att identifiera eventuella problem som missats av utvecklingsteamet.
- Produktionsberedskapsbedömning: Efter alla bedömningar anses godkännandeprocessen klar och produkten är redo för lansering.
Om fel upptäcks efter lanseringen kan utvecklingsteamet släppa uppdateringar för att rätta till problemen. Låt oss återgå till exemplet med inredningsprojektet. Granskning hjälper till att skapa en komplett heminredning. Godkännande testar designen genom att analysera det färdiga resultatet och verifierar att det stämmer överens med planen.
Ett annat exempel är när du beställer pannkakor från ett kafé. Granskningen kan säkerställa att alla ingredienser och stegen följs. Men godkännandet kommer när du smakar på pannkakan och den stämmer överens med dina förväntningar.
Granskning kontra Godkännande: Fördelar
Fördelar med Granskning
- Tidig och frekvent granskning minskar risken för fel och buggar.
- Intressenter, produktchefer och utvecklare får insikt i mjukvaran genom att granska koden i varje steg, vilket gör det enklare att förutse hur programvaran kommer att prestera.
- Granskningen hjälper programvaran att följa affärs- och kundkrav i varje utvecklingsfas, vilket minskar onödigt arbete.
- Granskning hjälper kvalitetssäkrare att uppskatta potentiella problem och förbereda dokument för att hantera dem vid behov.
- Det minskar kostnaderna för omtryckning och omarbete.
- Risken för systemfel efter utvecklingsfasen minskar.
Fördelar med Godkännande
Godkännandetest säkerställer att systemet fungerar som det ska genom att testa dess funktioner och dokumentera resultat.
- Godkännandet upptäcker fel som missats under granskningen.
- Om specifikationerna är felaktiga avslöjar godkännandet dessa brister och hindrar undermålig programvara från att släppas.
- Godkännandet bekräftar att programvaran uppfyller kundernas förväntningar under olika förhållanden.
- Dessa tester säkerställer kompatibilitet med olika webbläsare, enheter och operativsystem.
- Godkännandet bidrar till att öka tillförlitligheten hos programvaran.
Granskning kontra Godkännande: När Använda Dem?
När Använda Granskning?
Granskning utförs i varje utvecklingssteg, innan en funktion implementeras. Låt oss säga att du ska lägga till en ”Lägg till i önskelistan”-knapp. Innan knappen skapas, granskas kraven som fastställdes i idéfasen. I dokumentationen kan det stå att knappen ska vara blå med magenta bokstäver och en viss storlek. Den ska också vara synlig på produktsidorna. Innan arbetet påbörjas ska kraven och specifikationerna granskas. Granskning används alltså före och under utvecklingscykeln.
När Använda Godkännande?
Godkännande genomförs efter att varje steg i utvecklingscykeln är klart. Enhetstester utförs efter att varje koddel skapats och integrationstester genomförs efter att olika moduler kombinerats.
Testning över olika webbläsare är ett viktigt inslag i godkännandet. Kvalitetskontrollteam kontrollerar att varje funktion och designelement visas som förväntat på olika enheter och webbläsare. Programvarutestare använder godkännandemetoder som white box- och black box-testning för att säkerställa att programvarans utdata är korrekt.
Granskning kontra Godkännande i Mjukvarutestning: Skillnader
Granskning: Utvecklar vi produkten på rätt sätt?
Godkännande: Utvecklar vi rätt produkt som uppfyller kundens krav?
Granskning och godkännande är centrala delar av mjukvaruutvecklingen. Utan dem kan mjukvaruteam inte bygga en kvalitetsprodukt. De minimerar risken för fel och ökar programvarans tillförlitlighet. Båda processerna används på olika sätt beroende på företag och utvecklingsmetoder. I agil utveckling sker båda samtidigt eftersom de behövs i pågående affärsprocesser.
Här följer en jämförelse:
Granskning | Godkännande |
Granskning innefattar krav-, kod- och designverifiering. | Godkännande innefattar system-, funktions-, säkerhets-, prestanda- och användbarhetstester. |
Koden körs inte. | Koden körs för att testa programvarans funktion och användbarhet. |
Granskning besvarar frågan: ”Utvecklar vi produkten på rätt sätt?”. | Godkännande besvarar frågan: ”Är produkten korrekt och uppfyller kundens krav?”. |
Granskning är statisk, den går ut på att granska design, kod, dokument och program. | Godkännande är dynamisk och går ut på att testa och verifiera den färdiga produkten. |
Granskning är en granskning av dokumentation och filer. | Godkännande är en datorbaserad körning av programmet. |
Granskning sker på en lägre nivå och kommer före godkännande. | Godkännande är på en högre nivå och fångar upp fel som missats under granskningen. |
Målet är programvarans arkitektur, krav, design och databasdesign. | Målet är den färdiga produkten, inklusive enheter, moduler och kombinerade moduler. |
Granskning utförs av kvalitetssäkringsteamet för att säkerställa att programvaran överensstämmer med specifikationerna. | Godkännande utförs av testteamet efter granskningsfasen. |
Granskning använder granskningar, inspektioner och genomgångar. | Godkännande använder black box- och white box-testning. |
Granskning minskar fel och buggar i ett tidigt skede. | Godkännande upptäcker buggar som missats under granskningen. |
Granskning hjälper till att förutse om ingångarna motsvarar utgångarna. | Godkännande hjälper till att förutse om användarna kommer att acceptera den färdiga produkten. |
Granskning och Godkännande i olika faser av utvecklingscykeln
Granskning och godkännande utförs i varje steg av utvecklingsprocessen:
- Planeringsfasen: Granskning av kontrakt, konceptdokument och riskanalys.
- Kravfasen: Granskning av mjukvarukrav, gränssnitt, och generering av testplaner.
- Designfasen: Granskning av mjukvarudesign, gränssnitt och skapande av integrationsplaner.
- Implementeringsfasen: Granskning av källkod och dokumentation, skapande av testfall och utförande av tester.
- Testfasen: Utförande av system- och acceptanstester, uppdatering av riskanalyser.
- Installations- och utcheckningsfasen: Kontroll av konfiguration och installation, ett sista installationstest.
- Driftfasen: Granskning av nya begränsningar och utvärdering av förändringar.
- Underhållsfasen: Granskning av avvikelser, bedömning av migrering och validering av problem i produktionen.
Slutsats
Granskning och godkännande är viktiga delar i mjukvaruutveckling. De hjälper till att avgöra om programvaran uppfyller kraven, överensstämmer med affärsbehoven och tillgodoser kundernas förväntningar. Även om de kan verka snarlika är de distinkta processer i utvecklingscykeln. Du kan också utforska de bästa verktygen för API-utveckling och testning.