what is software quality assurance
Vad är kvalitetssäkring av programvara?
Kvalitetssäkring av programvara (SQA) är en process som säkerställer att alla programvaruteknikprocesser, metoder, aktiviteter och arbetsobjekt övervakas och överensstämmer med de definierade standarderna. Dessa definierade standarder kan vara en eller en kombination av någon liknande ISO 9000, CMMI-modell, ISO15504, etc.
SQA innehåller alla mjukvaruutvecklingsprocesser från att definiera krav till kodning till release. Dess främsta mål är att säkerställa kvalitet.
appar som spionerar på andra telefoner
Vad du kommer att lära dig:
- Program för kvalitetssäkring av programvara
- SQA-aktiviteter
- Standarder för kvalitetssäkring av programvara
- Delar av kvalitetssäkring av programvara
- SQA-tekniker
- Slutsats
- Rekommenderad läsning
Program för kvalitetssäkring av programvara
Förkortat som SQAP, består programvarans kvalitetssäkringsplan av de förfaranden, tekniker och verktyg som används för att säkerställa att en produkt eller tjänst överensstämmer med kraven definierade i SRS (specifikation för programvarukrav).
Planen identifierar SQA-ansvaret för ett team, listar de områden som behöver granskas och granskas. Det identifierar också SQA-arbetsprodukterna.
SQA-plandokumentet består av följande avsnitt:
- Syfte avsnitt
- Referenssektion
- Avsnitt för hantering av programvarukonfiguration
- Avsnitt om problemrapportering och korrigerande åtgärder
- Avsnitt Verktyg, teknik och metodik
- Avsnitt för kodkontroll
- Register: Avsnitt för insamling, underhåll och lagring
- Testmetodik
SQA-aktiviteter
Nedan följer listan över SQA-aktiviteter:
# 1) Skapa en SQA Management Plan:
Den främsta aktiviteten inkluderar att lägga en ordentlig plan för hur SQA kommer att genomföras i ditt projekt.
Tillsammans med vilken SQA-strategi du ska följa, vilka tekniska aktiviteter som kommer att genomföras, och det inkluderar också att se till att du har rätt talangmix i ditt team.
# 2) Ställa in kontrollpunkter:
SQA-teamet sätter upp olika kontrollpunkter enligt vilka de utvärderar kvaliteten på projektaktiviteterna vid varje kontrollpunkt / projektstadium. Detta säkerställer regelbunden kvalitetskontroll och arbetar enligt schemat.
# 3) Använd programvaruteknik:
Användning av vissa tekniker för programvaruteknik hjälper en mjukvarudesigner att uppnå specifikationer av hög kvalitet. För att samla in information kan en designer använda tekniker som intervjuer och FAST (Functional Analysis System Technique).
Senare, baserat på den insamlade informationen, kan programvarudesignern förbereda projektuppskattningen med hjälp av tekniker som WBS (arbetsfördelningsstruktur), SLOC (källrad med koder) och FP (funktionell punkt) uppskattning.
# 4) Utföra formella tekniska recensioner:
En FTR görs för att utvärdera prototypens kvalitet och design.
I denna process genomförs ett möte med den tekniska personalen för att diskutera om programvarans faktiska kvalitetskrav och prototypens designkvalitet. Denna aktivitet hjälper till att upptäcka fel i den tidiga fasen av SDLC och minskar omarbetningen i de senare faserna.
# 5) Att ha en multiteststrategi:
Med multiteststrategi menar vi att man inte ska förlita sig på en enda testmetod, istället bör flera typer av test utföras så att mjukvaruprodukten kan testas väl från alla vinklar för att säkerställa bättre kvalitet.
# 6) Genomförande av processföljd:
Denna aktivitet insisterar på behovet av processföljd under programvaruutvecklingsprocessen. Utvecklingsprocessen bör också hålla sig till de definierade förfarandena.
Denna aktivitet är en blandning av två delaktiviteter som förklaras i detalj nedan:
(i) Produktutvärdering:
Denna aktivitet bekräftar att programvaruprodukten uppfyller kraven som upptäcktes i projektledningsplanen. Det säkerställer att de fastställda standarderna för projektet följs korrekt.
(ii) Processövervakning:
Denna aktivitet verifierar om rätt steg har vidtagits under programvaruutvecklingen. Detta görs genom att matcha de faktiskt vidtagna stegen mot de dokumenterade stegen.
soapui testar intervjufrågor och svar
# 7) Styrande förändring:
I denna aktivitet använder vi en blandning av manuella procedurer och automatiserade verktyg för att ha en mekanism för förändringskontroll.
Genom att validera ändringsförfrågningarna, utvärdera förändringens karaktär och kontrollera ändringseffekten säkerställs att mjukvarukvaliteten bibehålls under utvecklings- och underhållsfaserna.
# 8) Mät förändringseffekt:
Om någon defekt rapporteras av QA-teamet åtgärdar det berörda laget felet.
Efter detta bör QA-teamet bestämma effekterna av den förändring som orsakas av denna felkorrigering. De behöver inte bara testa om ändringen har åtgärdat defekten utan också om ändringen är kompatibel med hela projektet.
För detta ändamål använder vi mjukvarukvalitetsmätvärden som gör det möjligt för chefer och utvecklare att följa aktiviteterna och de föreslagna ändringarna från början till slutet av SDLC och initiera korrigerande åtgärder där det behövs.
# 9) Utföra SQA-granskningar:
SQA-granskningen inspekterar hela den faktiska SDLC-processen följt av att jämföra den med den etablerade processen.
Den kontrollerar också vad som rapporterats av teamet i statusrapporterna faktiskt utfördes eller inte. Denna aktivitet exponerar också eventuella brister i efterlevnaden.
# 10) Underhålla register och rapporter:
Det är viktigt att behålla nödvändig dokumentation relaterad till SQA och dela den nödvändiga SQA-informationen med intressenterna. Testresultaten, granskningsresultaten, granskningsrapporterna, dokumentationen om ändringsförfrågningar etc. bör sparas för framtida referens.
# 11) Hantera goda relationer:
I själva verket är det mycket viktigt att upprätthålla harmoni mellan QA och utvecklingsteamet.
Vi hör ofta att testare och utvecklare ofta känner sig överlägsna. Detta bör undvikas eftersom det kan påverka projektets övergripande kvalitet.
Standarder för kvalitetssäkring av programvara
I allmänhet kan SQA kräva överensstämmelse med en eller flera standarder.
Några av de mest populära standarderna diskuteras nedan:
ISO 9000: Standarden baseras på sju kvalitetshanteringsprinciper som hjälper organisationerna att säkerställa att deras produkter eller tjänster är anpassade till kundernas behov.
7 principer i ISO 9000 visas i bilden nedan:
CMMI-nivå: CMMI står för Kapacitet mognad modell Integration . Denna modell har sitt ursprung i programvaruteknik. Det kan användas för att styra processförbättringar genom ett projekt, en avdelning eller en hel organisation.
5 CMMI-nivåer och deras egenskaper beskrivs i bilden nedan:
En organisation värderas och tilldelas en mognadsgrad (1-5) baserat på vilken typ av bedömning.
Test Maturity Model integration (TMMi): Baserat på CMMi fokuserar den här modellen på mognadsnivåer i kvalitetshantering och testning av programvara.
5 TMMi-nivåer visas i bilden nedan:
bästa VM-programvaran för Windows 10
När en organisation flyttar på en högre mognadsnivå uppnår den en högre förmåga att producera högkvalitativa produkter med färre defekter och uppfyller företagets krav.
Delar av kvalitetssäkring av programvara
Det finns tio viktiga delar av SQA som listas nedan för din referens:
- Standarder för programvaruteknik
- Tekniska granskningar och revisioner
- Programvarutestning för kvalitetskontroll
- Fel insamling och analys
- Ändringshantering
- Utbildningsprogram
- Försäljarstyrelse
- Säkerhetshantering
- Säkerhet
- Riskhantering
SQA-tekniker
Det finns flera tekniker för SQA. Revision är den främsta tekniken som är allmänt antagen. Vi har dock några andra viktiga tekniker också.
Olika SQA-tekniker inkluderar:
- Granskning: Granskning innefattar inspektion av arbetsprodukterna och dess relaterade information för att avgöra om uppsättningen standardprocesser har följts eller inte.
- Granskning : Ett möte där mjukvaruprodukten granskas av både interna och externa intressenter för att söka kommentarer och godkännande.
- Kodinspektion: Det är den mest formella granskningen som gör statisk testning för att hitta buggar och undvika defekttillväxt i senare skeden. Det görs av en utbildad medlare / kollega och baseras på regler, checklista, in- och utgångskriterier. Granskaren bör inte vara författare till koden.
- Designinspektion: Designinspektion görs med hjälp av en checklista som inspekterar nedanstående områden för programvarudesign:
- Allmänna krav och utformning
- Funktions- och gränssnittsspecifikationer
- Konventioner
- Kravspårbarhet
- Strukturer och gränssnitt
- Logik
- Prestanda
- Felhantering och återställning
- Testbarhet, töjbarhet
- Koppling och sammanhållning
- Simulering: Simulering är ett verktyg som modellerar den verkliga situationen för att praktiskt taget undersöka beteendet hos det system som studeras.
- Funktionell testning: Det är en QA-teknik som verifierar vad systemet gör utan att överväga hur det gör. Den här typen av svart låda testning fokuserar främst på att testa systemspecifikationer eller funktioner.
- Standardisering: Standardisering spelar en avgörande roll i kvalitetssäkring. Det minskar tvetydigheten och gissningen och säkerställer därmed kvalitet.
- Statisk analys: Det är en mjukvaroanalys som görs av ett automatiserat verktyg utan att programmet faktiskt körs. Denna teknik används mycket för kvalitetssäkring inom medicinsk, kärnkrafts- och flygprogramvara. Programvarumätvärden och omvänd teknik är några populära former av statisk analys.
- Genomgångar: Genomgång av programvara eller kodgenomgång är ett slags peer review där utvecklaren guidar medlemmarna i utvecklingsteamet att gå igenom produkten och ta upp frågor, föreslå alternativ, kommentera eventuella fel, standardöverträdelser eller andra problem.
- Path Testing: Det är en vitlåda testteknik där hela filialtäckningen säkerställs genom att utföra varje oberoende väg minst en gång.
- Stresstestning: Denna typ av testning görs för att kontrollera hur robust ett system är genom att testa det under tung belastning, dvs. utöver normala förhållanden.
- Six Sigma: Six Sigma är en kvalitetssäkringsstrategi som syftar till nästan perfekta produkter eller tjänster. Det används i stor utsträckning inom många områden inklusive programvara. Huvudmålet för sex sigma är processförbättringar så att den producerade mjukvaran är 99,76% felfri.
Slutsats
SQA är en paraplyaktivitet som används under programvarans livscykel.
Kvalitetssäkring av programvara är mycket viktigt för att din programvaruprodukt eller tjänst ska lyckas på marknaden och överleva upp till kundens förväntningar.
Det finns olika aktiviteter, standarder och tekniker som du måste följa för att försäkra dig om att den leveransbara programvaran är av hög kvalitet och stämmer nära med affärsbehoven.
Hoppas att du skulle ha fått en tydlig uppfattning om begreppet mjukvarukvalitet genom denna informativa artikel !!
Rekommenderad läsning
- Programvarutestning och kvalitetssäkringscertifieringar - Del 2
- Vilka är kvalitetsattributen?
- Fake God of Quality Versus True Humans - Vem är ansvarig för programvarukvalitet?
- Skillnaden mellan kvalitetssäkring och kvalitetskontroll (QA vs QC)
- Perfekt programvara Testa CV-guide (med programvarutestare CV-prov)
- Hur man använder Poka-Yoke (Mistake Proofing) -teknik för att förbättra mjukvarukvaliteten
- Ömsesidig förståelse vid testning: En nyckel för att leverera en kvalitetsprogramvara
- Programvarutestning QA-assistentjobb