what is software quality assurance
Wat is softwarekwaliteitsborging?
Software kwaliteitsborging (SQA) is een proces dat ervoor zorgt dat alle software-engineeringprocessen, methoden, activiteiten en werkitems worden gecontroleerd en voldoen aan de gedefinieerde normen. Deze gedefinieerde normen kunnen een of een combinatie zijn van ISO 9000, CMMI-model, ISO15504, enz.
SQA omvat alle softwareontwikkelingsprocessen, van het definiëren van vereisten tot codering tot de release. Het belangrijkste doel is om kwaliteit te garanderen.
Wat je leert:
- Software kwaliteitsborgingsplan
- SQA-activiteiten
- Standaarden voor softwarekwaliteitsborging
- Elementen van Software Quality Assurance
- SQA-technieken
- Gevolgtrekking
- Aanbevolen literatuur
Software kwaliteitsborgingsplan
Afgekort als SQAP, omvat het softwarekwaliteitsborgingsplan de procedures, technieken en tools die worden gebruikt om ervoor te zorgen dat een product of dienst in overeenstemming is met de vereisten die zijn gedefinieerd in de SRS (specificatie van softwarevereisten).
Het plan identificeert de SQA-verantwoordelijkheden van een team, somt de gebieden op die moeten worden herzien en gecontroleerd. Het identificeert ook de SQA-werkproducten.
Het SQA-plandocument bestaat uit de onderstaande secties:
- Doel sectie
- Verwijzingssectie
- Software configuratie beheer sectie
- Probleemrapportage en corrigerende actie sectie
- Tools, technologieën en methodologieën
- Code controle sectie
- Records: sectie verzameling, onderhoud en bewaring
- Testmethodologie
SQA-activiteiten
Hieronder vindt u de lijst met SQA-activiteiten:
# 1) Een SQA-beheerplan opstellen:
De belangrijkste activiteit omvat het opstellen van een goed plan over hoe de SQA in uw project zal worden uitgevoerd.
Samen met welke SQA-aanpak u gaat volgen, welke engineeringactiviteiten er zullen worden uitgevoerd, en het omvat ook het zorgen voor een juiste talentmix in uw team.
# 2) De ijkpunten instellen:
Het SQA-team zet verschillende ijkpunten op waarmee het de kwaliteit van de projectactiviteiten in elke ijkpunt / projectfase evalueert. Dit zorgt voor een regelmatige kwaliteitscontrole en werken volgens het schema.
# 3) Software-engineeringtechnieken toepassen:
hoe u EPS-bestanden kunt bekijken in Windows 10
Het toepassen van enkele software-engineeringtechnieken helpt een softwareontwerper bij het bereiken van hoogwaardige specificaties. Voor het verzamelen van informatie kan een ontwerper technieken gebruiken zoals interviews en FAST (Functional Analysis System Technique).
Later, op basis van de verzamelde informatie, kan de softwareontwerper de projectschatting voorbereiden met behulp van technieken zoals WBS (work breakdown structure), SLOC (source line of codes) en FP (functioneel punt) schatting.
# 4) Formele technische beoordelingen uitvoeren:
Er wordt een FTR gedaan om de kwaliteit en het ontwerp van het prototype te evalueren.
In dit proces vindt een bespreking plaats met de technische staf om de feitelijke kwaliteitseisen van de software en de ontwerpkwaliteit van het prototype te bespreken. Deze activiteit helpt bij het opsporen van fouten in de vroege fase van SDLC en vermindert de herwerkinspanning in de latere fasen.
# 5) Een multi-teststrategie hebben:
Met een multi-teststrategie bedoelen we dat men niet moet vertrouwen op een enkele testaanpak, maar dat er meerdere soorten tests moeten worden uitgevoerd, zodat het softwareproduct vanuit alle hoeken goed kan worden getest om een betere kwaliteit te garanderen.
# 6) Procesnaleving afdwingen:
Deze activiteit benadrukt de noodzaak van procesvolgorde tijdens het softwareontwikkelingsproces. Het ontwikkelingsproces dient zich ook aan de gedefinieerde procedures te houden.
Deze activiteit is een mix van twee deelactiviteiten die hieronder in detail worden toegelicht:
(i) Productevaluatie:
Deze activiteit bevestigt dat het softwareproduct voldoet aan de vereisten die zijn ontdekt in het projectbeheerplan. Het zorgt ervoor dat de gestelde normen voor het project correct worden gevolgd.
(ii) Procesbewaking:
Deze activiteit controleert of de juiste stappen zijn genomen tijdens de softwareontwikkeling. Dit wordt gedaan door de werkelijk genomen stappen te vergelijken met de gedocumenteerde stappen.
# 7) Controle over verandering:
Bij deze activiteit gebruiken we een mix van handmatige procedures en geautomatiseerde tools om een mechanisme te hebben voor wijzigingscontrole.
Door de wijzigingsverzoeken te valideren, de aard van de wijziging te evalueren en het wijzigingseffect te beheersen, wordt ervoor gezorgd dat de softwarekwaliteit tijdens de ontwikkelings- en onderhoudsfasen behouden blijft.
# 8) Impact van verandering meten:
Als er een defect wordt gemeld door het QA-team, dan lost het betrokken team het defect op.
Hierna moet het QA-team de impact bepalen van de verandering die wordt veroorzaakt door deze defectfix. Ze moeten niet alleen testen of de wijziging het defect heeft verholpen, maar ook of de wijziging compatibel is met het hele project.
Voor dit doel gebruiken we softwarekwaliteitsstatistieken waarmee managers en ontwikkelaars de activiteiten en voorgestelde wijzigingen van het begin tot het einde van SDLC kunnen observeren en waar nodig corrigerende maatregelen kunnen nemen.
# 9) SQA-audits uitvoeren:
De SQA-audit inspecteert het volledige daadwerkelijke SDLC-proces en vergelijkt het met het vastgestelde proces.
Het controleert ook wat het team in de statusrapporten meldt, daadwerkelijk is uitgevoerd of niet. Deze activiteit legt ook eventuele niet-nalevingskwesties bloot.
# 10) Records en rapporten bijhouden:
Het is cruciaal om de nodige documentatie met betrekking tot SQA bij te houden en de vereiste SQA-informatie te delen met de belanghebbenden. De testresultaten, auditresultaten, beoordelingsrapporten, documentatie over wijzigingsverzoeken, enz. Moeten worden bewaard voor toekomstig gebruik.
# 11) Beheer goede relaties:
In feite is het erg belangrijk om de harmonie tussen de QA en het ontwikkelingsteam te behouden.
We horen vaak dat testers en developers zich vaak superieur aan elkaar voelen. Dit moet worden vermeden omdat het de algehele kwaliteit van het project kan beïnvloeden.
Standaarden voor softwarekwaliteitsborging
In het algemeen kan SQA conformiteit met een of meer normen eisen.
een goede muziekdownloader voor Android
Enkele van de meest populaire standaarden worden hieronder besproken:
ISO 9000: Deze norm is gebaseerd op zeven kwaliteitsmanagementprincipes die de organisaties helpen ervoor te zorgen dat hun producten of diensten zijn afgestemd op de behoeften van de klant '.
7 principes van ISO 9000 worden weergegeven in de onderstaande afbeelding:
CMMI-niveau: CMMI staat voor Capaciteitsvolwassenheidsmodel Integratie Dit model is ontstaan in software engineering. Het kan worden gebruikt om procesverbetering door een project, afdeling of een hele organisatie te sturen.
5 CMMI-niveaus en hun kenmerken worden beschreven in de onderstaande afbeelding:
Een organisatie wordt getaxeerd en krijgt een volwassenheidsniveauclassificatie (1-5) op basis van het type beoordeling.
Test Maturity Model-integratie (TMMi): Dit model is gebaseerd op CMMi en richt zich op volwassenheidsniveaus in softwarekwaliteitsbeheer en -testen.
5 TMMi-niveaus worden weergegeven in de onderstaande afbeelding:
Naarmate een organisatie naar een hoger volwassenheidsniveau beweegt, bereikt het een hoger vermogen om hoogwaardige producten te produceren met minder defecten en voldoet het nauw aan de zakelijke vereisten.
Elementen van Software Quality Assurance
Er zijn 10 essentiële elementen van SQA die hieronder ter referentie worden vermeld:
- Standaarden voor software-engineering
- Technische beoordelingen en audits
- Software testen voor kwaliteitscontrole
- Fouten verzamelen en analyseren
- Veranderingsmanagement
- Educatieve programma's
- Beheer van leveranciers
- Veiligheidsmanagement
- Veiligheid
- Risicomanagement
SQA-technieken
Er zijn verschillende technieken voor SQA. Auditing is de belangrijkste techniek die algemeen wordt toegepast. We hebben echter ook een paar andere belangrijke technieken.
Verschillende SQA-technieken zijn onder meer:
- Auditing: Auditing omvat inspectie van de werkproducten en de bijbehorende informatie om te bepalen of de reeks standaardprocessen al dan niet werd gevolgd.
- Herziening : Een bijeenkomst waarin het softwareproduct wordt onderzocht door zowel de interne als externe belanghebbenden om hun commentaar en goedkeuring te vragen.
- Code inspectie: Het is de meest formele soort beoordeling die statische tests uitvoert om bugs te vinden en de groei van defecten in de latere stadia te voorkomen. Het wordt gedaan door een getrainde mediator / peer en is gebaseerd op regels, checklist, entry en exit criteria. De recensent mag niet de auteur van de code zijn.
- Ontwerpinspectie: Ontwerpinspectie wordt gedaan met behulp van een checklist die de onderstaande gebieden van softwareontwerp inspecteert:
- Algemene eisen en ontwerp
- Functionele en interface-specificaties
- Conventies
- Traceerbaarheid van vereisten
- Structuren en interfaces
- Logica
- Prestatie
- Foutafhandeling en herstel
- Testbaarheid, uitbreidbaarheid
- Koppeling en samenhang
- Simulatie: Simulatie is een hulpmiddel dat de werkelijke situatie modelleert om virtueel het gedrag van het bestudeerde systeem te onderzoeken.
- Functioneel testen: Het is een QA-techniek die verifieert wat het systeem doet zonder na te denken over hoe het werkt. Dit soort black box testen richt zich voornamelijk op het testen van de systeemspecificaties of features.
- Standaardisatie: Standaardisatie speelt een cruciale rol bij kwaliteitszorg. Het vermindert de dubbelzinnigheid en het giswerk en zorgt zo voor kwaliteit.
- Statische analyse: Het is een softwareanalyse die wordt uitgevoerd door een geautomatiseerde tool zonder dat het programma daadwerkelijk wordt uitgevoerd. Deze techniek wordt veel gebruikt voor kwaliteitsborging in medische, nucleaire en luchtvaartsoftware. Softwarestatistieken en reverse engineering zijn enkele populaire vormen van statische analyse.
- Walkthroughs: Software-walkthrough of code-walkthrough is een soort peer review waarbij de ontwikkelaar de leden van het ontwikkelteam begeleidt om het product te doorlopen en vragen te stellen, alternatieven voor te stellen, opmerkingen te maken over mogelijke fouten, standaardschendingen of andere problemen.
- Pad testen: Het is een white box-testtechniek waarbij de volledige dekking van het filiaal wordt gegarandeerd door elk onafhankelijk pad minstens één keer uit te voeren.
- Stress testen: Dit type testen wordt gedaan om te controleren hoe robuust een systeem is door het onder zware belasting te testen, d.w.z. onder normale omstandigheden.
- Six Sigma: Six Sigma is een benadering van kwaliteitsborging die gericht is op bijna perfecte producten of diensten. Het wordt op veel gebieden toegepast, waaronder software. Het belangrijkste doel van six sigma is procesverbetering zodat de geproduceerde software 99,76% defectvrij is.
Gevolgtrekking
SQA is een overkoepelende activiteit die gedurende de levenscyclus van de software wordt gebruikt.
Softwarekwaliteitsborging is erg belangrijk voor uw softwareproduct of -service om succesvol te zijn in de markt en om te overleven tot aan de verwachtingen van de klant.
Er zijn verschillende activiteiten, standaarden en technieken die u moet volgen om ervoor te zorgen dat de te leveren software van hoge kwaliteit is en nauw aansluit bij de zakelijke behoeften.
Ik hoop dat u via dit informatieve artikel een duidelijk idee zou hebben gekregen van het concept van Software Quality Assurance !!
Aanbevolen literatuur
- Softwaretests en certificeringen voor kwaliteitsborging - Deel 2
- Wat zijn de kwaliteitskenmerken?
- Fake God van kwaliteit versus echte mensen - Wie is verantwoordelijk voor softwarekwaliteit?
- Verschil tussen kwaliteitsborging en kwaliteitscontrole (QA versus QC)
- Perfect Software Testing CV-gids (met Software Tester CV-voorbeeld)
- Hoe Poka-Yoke-techniek (Mistake Proofing) te gebruiken om de softwarekwaliteit te verbeteren
- Wederzijds begrip bij testen: een sleutel voor het leveren van kwaliteitssoftware
- Software testen QA Assistant Job