Inom teknikvärlden kopplas termerna kvalitetskontroll och kvalitetssäkring ofta samman som QA/QC. Termen används som om QA/QC vore ett färdigt paket utan någon tydlig åtskillnad mellan rollerna. Det har blivit vanligt att använda QA/QC som en kort beteckning för hela kvalitetsutvärderingsprocessen.
Detta kan vara förvirrande för någon som är ny inom (eller står utanför) området, eftersom det finns tydliga skillnader mellan de två när det gäller det faktiska arbete de utför.
Om du känner dig lite förvirrad över skillnaden mellan kvalitetskontroll och kvalitetssäkring är den här texten något för dig. Här är en genomgång av några viktiga skillnader mellan QA/QC.
Den huvudsakliga skillnaden mellan QA och QC
Det finns en grundläggande skillnad mellan QA och QC.
Kvalitetssäkring sker under utvecklingsfasen.
medan...
Kvalitetskontroll sker när utvecklingen är klar.
QA OCH QC
Det finns fem sätt att undersöka skillnaderna mellan QA/QC. Dessa är:
- Utvecklingsfas
- Huvudfokus
- Hur de angriper sitt arbete
- Viktiga färdigheter
- Vad händer när buggar upptäcks?
I varje fas ser du hur QA/QC skiljer sig från varandra. När du har läst klart den här artikeln kommer du att ha en tydlig förståelse för vilka ansvarsområden som hör till kvalitetssäkring och vilka som hör till kvalitetskontroll.
Utvecklingsfas
Kvalitetssäkring
QA börjar tidigt i utvecklingscykeln.
Vissa former av QA-testning, till exempel statisk testning, kan utföras innan programvaran är fullt fungerande.
Genom att samarbeta med utvecklare tidigt i produktionscykeln kan man se till att misstag som görs i början inte blir allvarliga problem när utvecklingen närmar sig sitt slut. QA-tester genomförs i varje utvecklingsfas.
Have an account? Log In
Kvalitetskontroll
QC börjar när utvecklingen är klar.
QC säkerställer att den utvecklade produkten uppfyller de angivna standarderna och specifikationerna. De granskar produkten och deras mål är att hålla felfrekvensen låg när produkten lanseras för allmänheten.
Huvudfokus
Både kvalitetssäkring och kvalitetskontroll handlar om att hitta buggar och defekter. Det är därför de ofta slås samman till QA/QC. Även om de har samma mål är dock det som motiverar deras arbete olika.
Kvalitetssäkring
QA syftar till att hitta, förutse och förebygga buggar och ineffektivitet i programvaruutvecklingsprocessen.
QA-team arbetar ofta nära programvaruutvecklare för att hjälpa till att åtgärda buggar. QA-analytiker samarbetar till exempel med olika team, från projektledare till utvecklingsansvariga, för att komma fram till det mest optimala sättet att utveckla produkten.
QA är proaktivt.
Kvalitetskontroll
QC fokuserar på att hitta buggar och defekter i den färdiga programvaran. De ser till att varken utvecklare, QA-analytiker eller QA-testare har missat något.
Kvalitetskontroll är i grunden en reaktiv process, eftersom den sker för sent i programvarucykeln för att kunna föreslå korrigeringar till utvecklarna.
Hur QA/QC angriper sitt arbete
Kvalitetssäkring
QA är ett proaktivt sätt att hitta buggar och ineffektivitet.
QA-teamet försöker ofta hitta sätt att maximera processen samt utvecklingen och testningen. QA-team använder metoder som Capability Maturity Model Integration (CCMI), som delar upp en organisation i flera områden och tilldelar varje område ett tal mellan 1 och 5 för att fastställa områdets mognadsgrad.
Genom att använda ett tillvägagångssätt som CCMI kan QA-analytiker identifiera sätt att maximera effektiviteten och kontrollera resultaten.
Kvalitetskontroll
QC:s reaktiva sätt att upptäcka och hitta buggar innebär att de använder andra metoder för att utföra sitt arbete.
QC är mycket noggranna. De arbetar också utifrån procentsatser. QC har vad som kallas en acceptabel kvalitetsgräns, vilket är den procentandel produkter som får underkännas vid inspektion. För de flesta jobb ser den acceptabla kvalitetsgränsen ut så här:
- Kritiska defekter: 0 %
- Allvarliga defekter: 2,5 %
- Mindre defekter: 4 %
Det innebär att QC-teamets uppgift är att garantera att ingen av produkterna som snart ska släppas kommer att drabbas av katastrofala fel.
Vad händer när QA/QC hittar fel?
Kvalitetssäkring
Om en QA-testare hittar ett fel i programvaran dokumenterar hen sina resultat, inklusive hur felet kan återskapas, och rapporterar det till utvecklingsteamet.
Därefter åtgärdar utvecklingsteamet problemet och skickar tillbaka det till QA för ytterligare tester. En QA-testare har ständig kontakt med utvecklingsavdelningen. Dokumentation är nödvändig för att visa utvecklarna var ett misstag gjordes och hur det ska åtgärdas.
En QA-testares största rädsla är att ett fel som låg inom hens testomfattning når produktionen. QA fungerar som en buffert mellan utveckling och produktion.
Kvalitetskontroll
När QC börjar testa efter fel är produkten färdig och nästan redo att lanseras.
QC-teamet samlar in data, till exempel procentandelen enheter som underkänns, och rapporterar resultaten till ledningen. Vad som händer därefter beror på resultaten av testerna.
Om programvarans felfrekvens är hög kan de kalla till ett möte för att ta fram en plan för att förbättra produktionsprocessen (detta är verkligen det sista ett kvalitetssäkringsteam vill ska hända).
För det mesta kommer kvalitetskontrollteamet, om produkten ligger inom den acceptabla kvalitetsgränsen, att erbjuda förmåner till kunder som har återkommande problem.
Kvalitetskontroll fungerar ofta som en buffert mellan produktionen och kunden.
Viktiga färdigheter
Kvalitetssäkring
QA-testare måste ha god förståelse för populära programmeringsspråk. Fem viktiga språk är:
- Python
- Java
- C++
- Ruby
- PHP
De behöver dessutom veta hur man använder populära QA-verktyg (till exempel Selenium).
En QA-testare måste kunna visa att hen kan genomföra testfall och dokumentera sina resultat på ett lättförståeligt sätt. En QA-analytiker måste, även om hen är bra på att genomföra testfall, också vara bra på att skriva dem.
Eftersom QA-teamet har ständig kontakt med utvecklarna är QA-testarnas förmåga att kommunicera tydligt och precist också viktig.
Kvalitetskontroll
Medlemmar i QC måste ha god förståelse för de sju centrala QC-strategierna. Dessa strategier är:
- Stratifiering: separerar data som har samlats in från flera källor så att mönster blir synliga.
- Histogram: Ett vanligt diagram som används för att visa frekvensfördelningar.
- Kontrollblad:
- Orsak–verkan-diagram: Organiserar idéer och hjälper till att synliggöra samband mellan potentiella orsaker.
- Pareto-diagram: Prioriterar de faktorer som har störst inverkan på problemet.
- Spridningsdiagram: Hjälper till att visualisera sambandet mellan variabler.
- Styrdiagram: Undersöker variationen i en process över tid.
Dessutom måste QC kunna samla in korrekta dataprover för att säkerställa att produkten uppfyller den acceptabla kvalitetsgränsen.
Förstå skillnaden
Det finns många termer och roller när det gäller testning. Ibland slås saker ihop och skillnaderna blir otydliga. Har du fått en bättre förståelse för skillnaderna mellan QA och QC? Berätta gärna i kommentarerna!
