Vad är mjukvarukvalitetssäkring?

  • Software Quality Assurance (SQA) är uppsättningen aktiviteter för att säkerställa kvaliteten på programvaran som utvecklas. Studier visade att 98% av projekten misslyckades i slutändan på marknaden antingen på grund av följande skäl som beräknad tid, förändring av krav, högre kostnader än förväntat eller hög underhållskostnad. Så det är mycket viktigt att komma ihåg de olika parametrarna innan programvaran utvecklas för att minimera risken för misslyckande.
  • För att minimera risken för fel på programvara på marknaden kom programvarukvalitetssäkring in i bilden.
  • Det involverar en uppsättning aktiviteter, processer, procedurer och standarder som är lämpliga för projektet. Den täcker alla standarder för programvarukvalitet direkt från kravsamlingen till dess att den utvecklas, släpps och underhålls.
  • SQA körs parallellt med utvecklingslivscykeln för mjukvara som regelbundet kontrollerar att programvaran som utvecklas ska uppfylla sina standarder i varje steg så att problemen kan förhindras i tidiga stadier snarare än att hantera den efter projektets slutförande.
  • SQA inkluderar revision, utbildning, processdefinition och implementering som dess huvudsakliga aktiviteter. När processen har definierats börjar SQA hitta svagheten i det och sätt att korrigera dessa svagheter för bättre programvara.

Aktiviteter för programvarukvalitet

Nedan ges några av aktiviteterna inom Software Quality Assurance.

1. Ställa in kontrollpunkten

SQA-teamet ställer in kontrollpunkterna efter specifika tidsintervall för att kontrollera programmets framsteg, kvalitet, prestanda och huruvida mjukvarukvalitetsarbetet utförs i tid enligt schema och dokument.

2. Mät ändringspåverkan

För en defekt rapporterad av QA och fixad av utvecklaren är det mycket viktigt att testa om felfixen och att verifiera om den fasta defekten inte inför nya defekter i arbetsprogramvaran. För detta upprätthålls och observeras testmätvärden av chefer och utvecklare för att kontrollera om nyligen genererade defekter genom introduktion av ny funktionalitet eller fixering av eventuella fel.

3. Har flera teststrategier

Man bör inte lita på en enda testmetod och strategi för testning av programvara. Flera teststrategier bör implementeras i programvara för att testa den från olika vinklar och täcka alla områden. För en e-handelswebbplatssäkerhetstestning, prestandatestning, belastningstestning, databastestning bör allt göras för att säkerställa en bättre kvalitet på programvaran.

4. Hålla register och rapporter

Det är viktigt att föra alla register och dokument i QA och dela dem ibland till intressenter. Testfall utförda, testcykler, loggade defekter, defekter fixade, testfall skapade, ändring av krav från en klient för ett specifikt testfall, allt bör dokumenteras korrekt för framtida referens.

5. Hantera goda relationer

Att hantera goda relationer mellan testare och utvecklare spelar en viktig roll i projektet. Eftersom utvecklarens och testarens roll motsäger varandra men detta bör inte tas på en personlig nivå. Båda lagens huvudsakliga mål bör vara leverans av god kvalitet på projekt med minimal risk för misslyckande.

6. SQA Management Plan

Detta inkluderar att hitta sätt hur SQA ska fungera i det nya projektet på det mest effektiva sättet. Tänk på SQA-strategier, mjukvarutekniska processer som kan implementeras enligt projektkraven och gruppmedlemmarnas individuella kompetens.

Komponenter i SQA-systemet

SQA-komponenter kan klassificeras i 6 klasser:

1. Förprojektkomponenter

Detta säkerställer att projektets åtagande har definierats tydligt angående tidsberäkningen, förtydligande av kundkraven, projektets totala budget, utvärdering av utvecklingsrisker, total personal som krävs för det specifika projektet. Det säkerställer också att utvecklings- och kvalitetsplaner har tydligt definierats.

2. Projektlivscykelkomponenter

Denna komponent inkluderar granskning, expertutlåtanden, mjukvarutestning, programvara för underhåll av komponenter. I projektutvecklingens livscykel innefattar det komponenter som recensioner, expertutlåtanden och att hitta fel i programvarudesign och programmering, medan det i programvarans livscykel innehåller specialiserade underhållskomponenter och utvecklingslivscykelkomponenter för att förbättra underhållsuppgifter.

3. Infrastrukturkomponenter för felförebyggande och förbättringar

Denna komponent inkluderar personalutbildning, certifiering, konfigurationshantering, förebyggande och korrigerande åtgärder för att minska graden av fel i en programvara baserad på organisationens ackumulerade SQA-erfarenhet.

4. Hantering av SQA-komponenter

Denna klass inkluderar mjukvarukvalitetsmätningar, mjukvarukvalitetskostnader, som inkluderar kontroll av underhålls- och utvecklingsaktiviteter och införande av ledningsengagemang för att minska risken för kvalitet, schema och budget i projektet.

5. Komponenter i standardisering, certifiering och SQA-systembedömning

Huvudsyftet med denna klass är att använda professionell internationell kunskap som hjälper till att samordna de olika organisationens kvalitetssystem på en professionell nivå.

6. Organisering för SQA-mänskliga komponenter

Denna bas inkluderar chefer, testare och andra SQA-utövare som är intresserade av SQA. Huvudmålet är att stödja och initiera SQA-aktiviteterna, upptäcka luckorna / avvikelserna i den och föreslå förbättringar för det.

Standarder för kvalitetssäkring av programvara

Flera organisationer, nationella och internationella institut är involverade i utvecklingen av SQA-standarder. Nedan nämnda är de viktigaste organisationerna och instituten som är involverade i det:

  1. IEEE
  2. PUNKT
  3. ISO
  4. ANSI
  5. EIA
  6. IEC

SQA-standarder är i princip indelade i två kategorier:

1. Standard för programvarukvalitetssäkring, som kallas kvalitetsstyrningsstandarder.

Exempel: ISO 9000-3, CMM (kapacitetsmognadsmodell).

De fokuserar på organisationens infrastruktur, SQA-system, krav som lämnar valet av verktyg och testmetoder till en organisation. Deras standardmål är ”vad” man ska uppnå. Det säkerställer att organisationer uppnår en acceptabel kvalitet på programvaran.

2. Projektutvecklingsprocessstandarder för programvara som kallas projektprocessstandarder.

Exempel: ISO / IEC 12207 IEEEStd 1012-1998.

De fokuserar på metoder som måste implementeras i mjukvaruutveckling och underhåll. Det fokuserar på ”hur” man ska prestera. Det innehåller krav på designdokumentation, åtgärder som ska vidtas, mjukvarutest som ska utföras och designgranskning och granskningsproblem.

SQA-tekniker

Det finns flera SQA-tekniker. Några av dem nämns nedan:

1. Granskning

Vid granskningen hålls ett möte av både interna och externa intressenter för att granska hela projektet som analyserar hela programvaran och om det hittar ett problem, skiljer om det är testning, utveckling, krav eller design. Huvudmålet är att mäta kvaliteten på programvara och se till att det uppfyller kundens förväntningar eller inte.

2. Revision

Vid revision inspekteras hela arbetsprodukten och all information av intressenter för att kontrollera om den följer standardprocesserna eller inte.

3. Funktionstest

Vid funktionstestning testas hela programvarans funktionalitet om den fungerar som förväntat eller inte. Den kontrollerar "vad systemet fungerar" utan att veta "hur systemet fungerar". Det är som den svarta rutan som testar en applikation där användaren känner till den förväntade produktionen utan att veta hur den produceras.

4. Standardisering

Det säkerställer att allt i programvaran ska standardiseras, dvs att det följer alla standarder antingen standarderna i dokumentation, utveckling, kvalitetskontroll. Det minskar tvetydigheten och därmed förbättrar programvarans kvalitet.

5. Kodinspektion

Kodinspektion är en av de mest formella granskningarna med det huvudsakliga målet att hitta fel i koden och att lyfta fram eventuella problem i kodinspektionen leds av en utbildad moderator snarare än kodens författare. Mötet har korrekt inresa och utgångskriterier. Användare måste behöva fullständig förberedelse före mötet för att ha fullständig kunskap om dokument och allt innan de tar upp sina poäng.

6. Genomgång

Genomgång av programvara är en typ av informell process och vanligtvis initieras det av författaren för att läsa dokumentet eller koden och kollegmedlemmarna skriver ner sina förslag eller fel i det och skickar in dem. Det är inte formellt dokumenterat som inspektion och moderator är inte nödvändigt i mötet. Dess huvudsakliga mål är att känna till status för kod som är färdig till datum och samla förslag från kamrater för en bättre kvalitet på programvaran.

7. Stresstestning

Stresstestning görs för att kontrollera hur systemet fungerar under tung belastning. Denna testning spelar en viktig roll i mjukvarukvaliteten, eftersom i e-handelsapplikationer, stress och belastningstest utförs korrekt för att testa programvarans kapacitet (hur många maximalt antal användare som har åtkomst till en applikation åt gången).

8. Designinspektion

Designinspektion görs för att kontrollera de olika programområdena med hjälp av checklistan som funktionell och gränssnittsdesign, konventioner, allmänna krav och design, kravspårbarhet, logik, koppling och sammanhållning.

Fördelar med SQA

Låt oss diskutera fördelarna med SQA.

1. Ökar kundens förtroende

Korrekt kvalitetskontroll på olika nivåer av programvara som granskning, inspektion, revision osv. Och med inblandning av både interna och externa intressenter ökar kundernas förtroende för att lämna in veckorapporterna om defekt- och kravmätningarna hjälper också mycket till att säkerställa klienten att arbetet utförs i tid.

2. SQA sparar pengar

Defekter som finns i ett tidigt skede antingen i kravsamling, kod, testning är enkla och kostnadseffektiva för korrekt SQA utförs på flera nivåer hjälper till att minska dessa risker eftersom maximala fel har upptäckts och lösts i tidiga stadier och därmed sparar pengar för att fixa felaktig programvara efter att ha presenterats för klienten vilket kan kosta företagets rykte, användare och klienter också.

3. Öka kundnöjdheten

Genom att snabbt involvera klienten i mjukvaruutveckling och testning ökar kundtillfredsställelsen att kvalitetsprogramvaran utvecklas och enligt kraven och antagandet av förslag mellan övervägande ökar kundnöjdheten.

4. Främjar produktivitet och effektivitet

När utveckling och testning utförs parallellt, gör defekter som hittas tidigt precis efter utvecklingen av en enda modul och fixas av utvecklare i rätt tid gör att alla kan arbeta i fred och på ett mer produktivt sätt snarare än belastat med flera buggar på en gång efter avslutad av hela programvaran.

5. Förhindrar oförutsedda nödsituationer

När du utvecklar företagsprogramvara är insatserna också mycket höga. Eftersom programvaran hanterar mycket av kundens känsliga data, måste den fungera som förväntat utan blackout, korruption eller kommunikationsstörningar. Programvaran bör testas mycket noggrant så att den ska fungera som förväntat.

6. Minskar sluttidsklientkonflikter

Det finns många fall av oenighet mellan klient och organisationer senare angående förändring i krav, tid och budget fastställd i början vilket resulterar i att projektet upphör, pengar förlust och dåligt intryck av företaget på marknaden (förlust av kund som det skulle skapa ett dåligt rykte). I SQA fixas allt i början av projektet och dokumenteras ordentligt utan tvetydighet så att inga konflikter skulle uppstå

Nackdelar med SQA

Låt oss diskutera nackdelarna med SQA.

1. Ibland svårt att genomföra

Eftersom SQA definierar alla aktiviteter och åtgärder som bör vidtas vid varje steg i mjukvaruutvecklingen på ett mycket detaljerat sätt, blir det ibland svårt att implementera varje enskild aktivitet och process under utveckling. Så personen vet att det skulle vara fördelaktigt men att fokusera på varje steg i detalj blir svårt när man arbetar i stora team.

2. Tidskrävande

Att genomföra varje åtgärd i SQA är mycket tidskrävande och ibland slösar det mer tid på dokumentation och möten snarare än att arbeta med själva utvecklingen och testningen av programvara.

3. Hög kostnad

Genom att implementera SQA, även om kostnaden för att fixa buggarna i de senare skedenen kan minskas genom att hitta dem och fixa i början, men för de små projekten med låg budget är det mycket svårt att implementera SQA eftersom antalet resurser ökar i projektet gör också projektets budget. För små projekt anställer hela QA-teamet och implementerar SQA en drastisk ökning av kostnaden för ett projekt.

Slutsats

SQA är en paraplyaktivitet som täcker hela projektet under hela programvarans livscykel från början till att underhåll av projektet. Den täcker alla aktiviteter och processer i olika stadier av mjukvaruutveckling för att säkerställa att den levererade programvaran ska vara av hög kvalitet och minimirisk så att den kan lyckas på marknaden och möta kundens och kundens förväntningar.

Rekommenderade artiklar

Detta är en guide till programvarukvalitetssäkring. Här diskuterar vi SQA: s aktiviteter, komponenter, fördelar och nackdelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Principer för mjukvarutestning
  2. Programvarutestning livscykel
  3. Smidig programvara
  4. Kvalitetssäkring kontra kvalitetskontroll
  5. Black Box Testing Techniques

Kategori: