Wat is kwaliteitsborging (QA) bij het testen van software?
Wat is kwaliteit?
Kwaliteit is uiterst moeilijk te definiëren en er wordt eenvoudigweg gezegd: “Fit for use or purpose.” Het draait allemaal om het voldoen aan de behoeften en verwachtingen van klanten met betrekking tot functionaliteit, ontwerp, betrouwbaarheid, duurzaamheid en prijs van het product.
Wat is zekerheid?
Assurance is niets anders dan een positieve verklaring over een product of dienst, die vertrouwen geeft. Het is de zekerheid dat een product of dienst goed zal werken. Het biedt de garantie dat het product zonder problemen zal werken volgens de verwachtingen of vereisten.
Wat is kwaliteitsborging bij het testen van software
Kwaliteitsborging bij het testen van software wordt gedefinieerd als een procedure om de kwaliteit te garanderen van softwareproducten of -diensten die door een organisatie aan de klanten worden geleverd. Kwaliteitszorg richt zich op het verbeteren van de software ontwikkelingsproces en het efficiënt en effectief maken volgens de kwaliteitsnormen die zijn gedefinieerd voor softwareproducten. Kwaliteitsborging staat in de volksmond bekend als QA-testen.
Kwaliteitsborging uitvoeren: compleet proces
De methodologie voor kwaliteitsborging heeft een gedefinieerde cyclus die de PDCA-cyclus of Deming-cyclus wordt genoemd. De fasen van deze cyclus zijn:
- Plannen
- Do
- Check
- Handelen
Deze bovenstaande stappen worden herhaald om ervoor te zorgen dat de processen die in de organisatie worden gevolgd, periodiek worden geëvalueerd en verbeterd. Laten we de bovenstaande QA-processtappen in detail bekijken:
- Plannen – De organisatie moet de procesgerelateerde doelstellingen plannen en vaststellen en de processen bepalen die nodig zijn om een eindproduct van hoge kwaliteit te leveren.
- Do – Ontwikkelen en testen van Processen en ook “doen” veranderingen in de processen
- Check – Bewaken van processen, aanpassen van de processen en controleren of deze voldoen aan de vooraf gestelde doelstellingen
- Handelen – Een Quality Assurance-tester moet acties implementeren die nodig zijn om verbeteringen in de processen te bereiken
Een organisatie moet kwaliteitsborging gebruiken om ervoor te zorgen dat het product volgens de juiste procedures wordt ontworpen en geïmplementeerd. Dit helpt problemen en fouten in het eindproduct te verminderen.
Wat is kwaliteitscontrole?
Kwaliteitscontrole, in de volksmond afgekort als QC. Het is een Software Engineering-proces dat wordt gebruikt om de kwaliteit van een product of dienst te garanderen. Het gaat niet over de processen die worden gebruikt om een product te creëren; het onderzoekt eerder de kwaliteit van de “eindproducten” en het uiteindelijke resultaat.
Het belangrijkste doel van kwaliteitscontrole is om te controleren of de producten voldoen aan de specificaties en eisen van de klant. Als er een probleem of probleem wordt vastgesteld, moet dit worden opgelost voordat het aan de klant wordt afgeleverd.
QC evalueert mensen ook op hun vaardigheden op kwaliteitsniveau en geeft trainingen en certificeringen. Deze evaluatie is vereist voor de servicegerichte organisatie en helpt de klanten een “perfecte” service te bieden.
Verschil tussen kwaliteitscontrole en kwaliteitsborging?
Soms wordt QC verward met QA. Kwaliteitscontrole is het onderzoeken van het product of de dienst en het controleren op het resultaat. Kwaliteitsborging in Software Engineering is het onderzoeken van de processen en het aanbrengen van wijzigingen in de processen die tot het eindproduct hebben geleid.
Voorbeelden van QC- en QA-activiteiten zijn als volgt:
Kwaliteitscontroleactiviteiten | Kwaliteitsborgingsactiviteiten |
---|---|
walkthrough | Kwaliteitsaudit |
Testen | Proces definiëren |
Inspectie | Gereedschapsidentificatie en -selectie |
Controlepunt beoordeling | Training van kwaliteitsnormen en -processen |
De bovengenoemde activiteiten hebben betrekking op kwaliteitsborgings- en controlemechanismen voor elk product en niet in essentie op software. Wat software betreft
- QA wordt SQA (Software Quality Assurance)
- QC wordt Software Testen.
Controleer ook: - Kwaliteitsborging versus kwaliteitscontrole: wat is het verschil?
Verschillen tussen SQA en softwaretesten
De volgende tabel legt de verschillen uit tussen SQA en softwaretesten:
SQA | Software testen |
---|---|
Software Quality Assurance gaat over engineeringprocessen die kwaliteit garanderen | Software testen is het testen van een product op problemen voordat het product live gaat |
Omvat activiteiten die verband houden met de implementatie van processen, procedures en standaarden. Voorbeeld – Audittraining | Betreft activiteiten met betrekking tot de verificatie van het product. Voorbeeld – Review testen |
Procesgericht | Productgericht |
Preventieve techniek | Corrigerende techniek |
Proactieve maatregel | Reactieve maatregel |
De reikwijdte van SQA toegepast op alle producten die door de organisatie worden gemaakt | De reikwijdte van Softwaretesten is van toepassing op een bepaald product dat wordt getest. |
Beste praktijken voor kwaliteitsborging
- Creëer een robuuste testomgeving
- Selecteer de vrijgavecriteria zorgvuldig
- Solliciteer geautomatiseerd testen naar gebieden met een hoog risico om geld te besparen. Het helpt om het hele proces te versnellen.
- Wijs tijd toe aan elk proces
- Het is belangrijk om prioriteit te geven aan het oplossen van bugs op basis van het softwaregebruik
- Vorm een speciaal beveiligings- en prestatietestteam
- Simuleer klantaccounts vergelijkbaar met een productieomgeving
Kwaliteitsborgingsfuncties
Er zijn vijf primaire kwaliteitsborgingsfuncties:
- Overdracht van technologie: Deze functie omvat het verkrijgen van een productontwerpdocument, evenals de gegevens over vallen en opstaan en de evaluatie ervan. De documenten worden verspreid, gecontroleerd en goedgekeurd
- validatie: Hier wordt het validatiemasterplan voor het gehele systeem opgesteld. Goedkeuring van testcriteria voor het valideren van product en proces is vastgelegd. Er wordt een resourceplanning gemaakt voor de uitvoering van een validatieplan.
- Documentatie: Deze functie regelt de distributie en archivering van documenten. Elke wijziging in een document wordt doorgevoerd door de juiste wijzigingscontroleprocedure te hanteren. Goedkeuring van alle typen documenten.
- Het waarborgen van de kwaliteit van producten
- Kwaliteitsverbeteringsplannen
Certificeringen voor kwaliteitsborging
Er zijn in de branche verschillende certificeringen beschikbaar om ervoor te zorgen dat organisaties de standaardkwaliteitsprocessen volgen. Klanten hanteren dit als kwalificatiecriterium bij het selecteren van een softwareleverancier.
ISO 9000
Deze norm werd voor het eerst vastgesteld in 1987 en is gerelateerd aan kwaliteitsmanagementsystemen. Dit helpt de organisatie om kwaliteit te garanderen aan hun klanten en andere belanghebbenden. Een organisatie die gecertificeerd wil worden als ISO 9000 wordt gecontroleerd op basis van hun functies, producten, diensten en hun processen. Het hoofddoel is om te beoordelen en te verifiëren of de organisatie het proces volgt zoals verwacht en om te controleren of bestaande processen verbetering behoeven.
Deze certificering helpt –
- Vergroot de winst van de organisatie
- Verbetert de binnenlandse en internationale handel
- Vermindert verspilling en verhoogt de productiviteit van de medewerkers
- Zorg voor een uitstekende klanttevredenheid
CMMI-niveau
Het Capability Maturity Model Geïntegreerd (CMMI) is een procesverbeteringsaanpak die speciaal is ontwikkeld voor softwareprocesverbetering. Het is gebaseerd op het procesvolwassenheidsframework en wordt gebruikt als algemeen hulpmiddel bij bedrijfsprocessen in de software-industrie. Dit model staat hoog aangeschreven en wordt veel gebruikt in softwareontwikkelingsorganisaties.
CMMI heeft 5 niveaus. Een organisatie wordt gecertificeerd op CMMI-niveau 1 tot 5 op basis van de volwassenheid van hun kwaliteitsborgingsmechanismen.
- Niveau 1 - Voorletter: In deze fase is de kwaliteitsomgeving onstabiel. Er zijn eenvoudigweg geen processen gevolgd of gedocumenteerd
- Niveau 2 - Herhaalbaar: Er worden enkele processen gevolgd die herhaalbaar zijn. Dit niveau zorgt ervoor dat processen op projectniveau worden gevolgd.
- Niveau 3 - Bepaald: Een reeks processen wordt gedefinieerd en gedocumenteerd op organisatieniveau. Deze gedefinieerde processen zijn onderhevig aan enige mate van verbetering.
- Niveau 4 - Beheerd: Dit niveau maakt gebruik van processtatistieken en controleert effectief de processen die worden gevolgd.
- Niveau 5 - Optimaliseren: Dit niveau richt zich op de continue verbetering van processen door middel van leren en innoveren.
Controleer ook: - Capability Maturity Model (CMM) en zijn niveaus in Software Engineering
Testvolwassenheidsmodel (TMM)
Dit model beoordeelt de volwassenheid van processen in een testomgeving. Zelfs dit model heeft 5 niveaus, hieronder gedefinieerd:
- Niveau 1 - Eerste: Er wordt geen kwaliteitsnorm gevolgd voor testprocessen en op dit niveau worden alleen ad-hocmethoden gebruikt
- Niveau 2 - Definitie: Gedefinieerd proces. Opstellen van teststrategie, plannen, testgevallen worden gedaan.
- Niveau 3 - integratie: Het testen wordt uitgevoerd gedurende de gehele softwareontwikkelingslevenscyclus (SDLC) – wat niets anders is dan integratie met de ontwikkelingsactiviteiten, bijvoorbeeld V-Model.
- Niveau 4 - Beheer en meting: RevOp dit niveau vindt het onderzoek van eisen en ontwerpen plaats en zijn voor elk testniveau criteria vastgesteld
- Niveau 5 - optimalisatie: Er worden veel preventieve technieken gebruikt voor testprocessen, en toolondersteuning (automatisering) wordt gebruikt om de teststandaarden en -processen te verbeteren.
Controleer ook: - Wat is het Test Maturity Model (TMM) bij het testen van software?
Conclusie
Kwaliteitsborging is het controleren of het ontwikkelde product geschikt is voor gebruik. Daarvoor moet de organisatie beschikken over processen en normen die moeten worden gevolgd en die op periodieke basis moeten worden verbeterd. Het concentreert zich vooral op de kwaliteit van het product/dienst die wij aan de klanten leveren tijdens of na de implementatie van software.