10 steps improve software quality improving process
Softwaretest er afgørende for at forbedre softwarekvaliteten. Denne vejledning viser procesmodeller og 10 trin til forbedring af testprocessen for at levere bedre softwarekvalitet:
Et softwareprodukt er udviklet til at imødekomme visse krav fra kunden, men mange gange ender det som et defekt produkt på grund af flere grunde som forkerte krav, kommunikationsgab, forståelsesgab, tidslinjeproblemer, ufuldstændig teknisk viden eller mindre dygtige mennesker i system.
Dette udsætter softwareprodukterne for fejl, mangler eller fejl. Softwaretest er meget vigtigt for at undgå eller forhindre denne slags problemer og opretholde kvaliteten af softwareprodukter.
Denne artikel giver dig en idé om forskellige modeller og nogle enkle trin til forbedring af softwaretestprocessen, som kan følges for at forbedre softwarekvaliteten.
Vi ved, at softwaretestning er processen med at evaluere, om softwaren opfylder de specifikke krav. I denne proces følger vi mange teknikker og modeller for at levere et kvalitetsprodukt. Men selv da er der få områder, der kan forbedres for bedre softwarekvalitet.
- Processen skal løbende forbedres. Disse teknikker vælges og implementeres.
- Deming-hjulet (PDCA-cyklus) er den mest anvendte teknik.
- Forbedret testproceskvalitet reducerer vedligeholdelsesomkostningerne.
Hvad du vil lære:
- Typer af model
- Trin til forbedring af softwarekvalitet
- Forbedring af softwaretestproces
- # 1) Tilgængelighed af kravspecifikationsdokumenter
- # 2) Test af teaminddragelse i kravdiskussioner
- # 3) Tydeligt anvendelsesområde
- # 4) Testplanlægning og udførelse
- # 5) Test Cases Review
- # 6) Sørg for tilstrækkelig tid til at udføre test
- # 7) Planlægning af regressionstest
- # 8) Test automatisering
- # 9) Testdatastyring og rapportering
- # 10) Retrospektion efter hver sprint
- Konklusion
Typer af model
Der er 2 modeller som angivet nedenfor -
- Processreferencemodel: Udfør modenhedsmåling som en del af vurderingen, evaluer organisationsevne.
- Indholdsreferencemodel: Forbedrer forretningsdrevet evaluering af organisationsmuligheder. For eksempel, benchmarking teknikker.
Procesmodeller
Der er 4 procesmodeller:
# 1) TMMI: Testning af modenhedsmodeller
Der er fem niveauer i testmodningmodellerne som angivet nedenfor -
- Niveau 1: Initial
- Ingen formel eller dokumenteret struktureret test. Test og udvikling udføres i Adhoc-form efter kodning.
- Test- og fejlfindingsfasen betragtes som den samme.
- Niveau 2: Administreret
- Test udføres separat fra debugging.
- Testpolitikker og mål er sat.
- Implementere grundlæggende testteknikker.
- Niveau 3: Defineret
- Testprocessen er integreret i udviklingsprocessen og dokumenteret i formelle standarder, procedurer og materialer.
- Niveau 4: Målt
- Testprocessen måles effektivt og styres på organisatorisk niveau.
- Niveau 5: Organiseret
- Data fra testprocessen kan bruges til at forhindre defekter og optimere processen.
# 2) CTP: Kritisk testproces
- Den har 12 testprocesser.
- Det er kontekstdrevet, hvor udfordringer identificeres og egenskaber ved den gode proces anerkendes.
- Det kan tilpasses
- Det inkluderer brugen af metrics til benchmarking.
# 3) TPI Næste
- Definerer 16 procesområder og dækker hvert et specifikt aspekt af testprocessen.
- Den har 4 modenhedsniveauer: Indledende, kontrolleret, effektiv og optimering.
- Kontrolpunkter er defineret for at få adgang til hvert niveau.
- Resultaterne opsummeres og visualiseres ved hjælp af modenhedsmålinger.
- Det kan skræddersys.
# 4) TRIN
- Systematisk test- og evalueringsproces.
- Kontekst Reference Model.
- Det kræver ikke forbedring for at forekomme i en bestemt rækkefølge.
- Bruger kravbaseret testning.
- Test er en livscyklusaktivitet, der begynder i kravfasen og fortsætter indtil pensionering.
- Fejl opdages tidligere og analyseres.
- Testere og udviklere arbejder sammen.
- Test bruges som en krav- og brugsmodel. Testware design fører til software design.
Trin til forbedring af softwarekvalitet
Trin # 1) Start forbedringsproces:
- Mål, mål, rækkevidde og dækning er aftalt af interessenter.
- Succeskriterier bør defineres.
- Metoden bør etableres for at måle forbedringer.
Trin # 2) Diagnosticering af den aktuelle situation:
forskel mellem gentest og regressionstest
- Der foretages en gratis vurderingsmetode, og der oprettes en testvurderingsrapport.
- Den indeholder en vurdering af nuværende testpraksis og en liste over procesforbedringer.
Trin # 3) Handler for at implementere forbedring:
- Uddannelse og vejledning er færdig.
Trin # 4) Læring af forbedringsplan:
- Identificer hvilken fordel ud over den forventede fordel blev modtaget.
- Overvåge
Lad os fokusere på det første trin nævnt ovenfor, dvs. hvordan man forbedrer softwarekvaliteten ved at forbedre processen.
Forbedring af softwaretestproces
Softwaretestning er ikke kun at teste et produkt for at kontrollere, om kravene er opfyldt eller ej, men det er en proces med kvalitetskontrol samt sikkerhed.
- Kvalitetskontrol: En metode til detektering og korrektion af mangler.
- Kvalitetssikring : En metode til forebyggelse af defekter, når produktet er under kontrol.
Fordelene ved softwaretest er opsummeret nedenfor:
- Softwaretest kontrollerer, om vi bygger det rigtige produkt gennem test af det faktiske produkt.
- Det kontrollerer, om udviklingsprocessen gennemføres efter kvalitetsstandarder eller ej.
- Det sørger for, at produktet opfylder alle de specificerede krav fra kunden.
- Softwaretest fokuserer på slutproduktets fuldstændighed, korrekthed og konsistens.
- Det kontrollerer, om vi bygger produktet lige gennem proceskontrol.
- Det er ansvarligt at bekræfte, at et softwareprodukt er fejlfrit.
Nu vil vi diskutere de forskellige trin og teknikker til forbedring af softwaretestprocessen for at opnå et softwareprodukt af god kvalitet.
# 1) Tilgængelighed af kravspecifikationsdokumenter
Det allerførste mål for kravstyring er at opbygge en gensidig opfattelse mellem klienten og softwareudviklingsteamet for at fokusere på alle kravene til det definerede softwareprojekt. Det primære resultat af kravstyring er kravspecifikationsdokumentet.
Kravspecifikationsdokumentet forklarer alle de tekniske / ikke-tekniske krav til det forretningsbehov, der kræves for at udvikle softwareproduktet.
Det meste af tiden i softwareudviklingens livscyklus mangler disse vigtige dokumenter, utilstrækkelige eller ikke tilgængelige i begyndelsen af sprintplanlægningen, og der er derfor en enorm uoverensstemmelse mellem hvad der bliver bedt om og hvad der leveres.
For at udrydde disse smuthuller er det første skridt derfor at få disse vigtige dokumenter fra forretningsbrugere, da dette hjælper testeren med at forstå det komplette krav lige fra starten.
Klassificering af krav:
Den tidlige tilgængelighed af disse dokumenter fra en kunde er en meget god praksis for at forbedre softwaretestprocessen, da hele projektet kun afhænger af krav.
Nogle af de vigtigste kravsdokumenter inkluderer:
- SRS (specifikation af softwarekrav): Dette forklarer formålet, omfanget, funktionelle og ikke-funktionelle krav inklusive både software- og hardwarekravene til projektet .
- HLD (design på højt niveau): Dette dokument skal oversætte specifikationerne til en logisk eller grafisk gengivelse af den software, der skal implementeres .
- RTM (kravsporbarhedsmatrix): Det inkluderer kravmatrixtilknytning af brugerkravet og testvalideringsdokumentet eller testcase-dokumentet .
# 2) Test af teaminddragelse i kravdiskussioner
En af de grundlæggende nøgler til at opbygge et vellykket projekt er klar og effektiv kommunikation mellem alle design, udvikling og testmedlemmer.
Testteamet skal medtages i alle nøglemøder og designmøder, herunder applikationsdesign og kravdefinerende sessioner, som testteamet kan forbedre følgende opgave på en mere raffineret måde.
- Forberedelse af teststrategidokumentet.
- Forberedelse af et testplandokument og indsatsestimering af testning.
- Test team planlægning for testaktiviteter.
- Test sagsskrivning.
- Testskriptsskrivning til automatiseringstest.
- Forberedelse af fejlrapporter.
- Fejladministration gennem fejlrapporteringsværktøjer (Jira, Bugzilla, QC osv.)
Der skal være en gensidig forståelse og samarbejde mellem alle teammedlemmerne, så de kan følge de samme IT-standarder og teknikker til at arbejde på og forvente samarbejde visualisering ved at respektere hvert teammedlems arbejde for at producere et kvalitetsprodukt.
# 3) Tydeligt anvendelsesområde
For det meste af softwaren følger IT-branchen den smidige model, så omfattende eller simpelt defineret omfang leveres næppe af kunden, og de ændrer konstant kravene imellem udviklingscyklussen.
Dette fører til et hul i forståelsen mellem udviklings- og testteamet, og resultatet kommer ikke altid som forventet.
For at forbedre softwaretestprocessen bør Clear-Cut-omfang altid være der, og testteamet skal være opmærksom på alle kravene og bør have en fuldstændig forståelse, inden softwaretest startes. Dette vil virkelig altid bidrage til at producere bedre resultater.
At forstå projektets samlede anvendelsesområde / formål hjælper også med at bedømme niveauet / typen eller intensiteten af den krævede test.
# 4) Testplanlægning og udførelse
I denne fase udpeger vi den komplette testproces, herunder definerer krav, teknikker, virksomhedsstandarder, dokumentation, funktionsbeskrivelser og de risici, der kan indføres under test.
Selve testplanlægningen er et komplet projekt, der er designet til at opnå kvalitetsproduktet ved at opdele i følgende vigtige opgaver.
# 1) Teststrategi: Der skal oprettes en beskrivelse / dokument på højt niveau af testproceduren for at udføre testbehovet inden for disse procedurer. Testteamet følger fremgangsmåden i disse dokumenter. Teststrategidokumentet udarbejdes af testadministratoren og er et statisk dokument, der ikke ændres hyppigt.
Nedenfor er komponenterne i et teststrategidokument:
- Testomfang
- Test tilgang
- Værktøjer og teknikker til testning.
- Konfiguration
- Miljøoplysninger
- Software, IT-standarder
- Test afslutningsplan
- Undtagelser
# 2) Testplan: Efter udarbejdelse af et teststrategidokument skal testledningen udarbejde master- og detaljeret testplan, der er afledt af SRS-dokumentet.
bedste datagendannelsessoftware til ekstern harddisk
Testplanen beskriver følgende.
- Hvad skal jeg teste?
- Hvordan tester man?
- Hvornår skal man teste?
- Hvem vil teste?
Hvis kravene ændrer sig hurtigt, anbefales det stærkt at have en veldefineret og detaljeret testplan. Fejlene ved testning skyldes hovedsageligt, at planrevisionen af testplanen ikke er udført.
Testplanens funktioner inkluderer:
- Testplan-id
- Introduktion
- Test emner
- Funktioner, der skal testes
- Fremhævet for ikke at blive testet
- Test tilgang
- Indgangskriterier
- Suspensionskriterier
- Udgangskriterier
- Test miljø
- Testleverancer
- Behov for personale og uddannelse
- Ansvar
- Tidsplan
- Risiko og afbødning
# 3) Test case design: Test Case Design er en aktivitet, hvor alle kravdiskussioner konverteres til formelle dokumenter som f.eks. Et testcase, test script, testscenarie.
Med andre ord er testcases et sæt trin, hvor testeren identificerer, om et softwareprodukt opfylder alle kravene eller ej ved at sammenligne det faktiske resultat med det forventede resultat.
Test case format:
Mr. Nej. | Testoversigt | Trin nr. | Trin | forventet resultat | Faktisk resultat |
---|---|---|---|---|---|
Hvad er behovet for test case skrivning?
Det er praktisk nødvendigt at skrive testcases for at hjælpe testere med at forstå kravene på en detaljeret måde og sikre, at de nærmer sig på den rigtige måde.
Fordele ved testsager
- Testcases sørger for at fuldføre testdækningen.
- Det hjælper med at fjerne ethvert hul i kravene.
- Det hjælper med at forbedre testprocessen.
- Det hjælper med at forbedre produktets kvalitet.
- Øget tillid til, at vi fortsætter på den rigtige måde.
- Det hjælper med at bekræfte forventningen.
- Det giver testeren mulighed for at tænke grundigt og hjælper med at dække alle de positive og negative scenarier.
# 5) Test Cases Review
Test case review spiller en vigtig rolle i softwareudviklingens livscyklus i enhver organisation, da kundens ultimative mål er at få et produkt “Som er fejlfri” og skal opfylde alle de specificerede krav.
Hovedformålet med gennemgang af testsager: at estimere fuldstændighed, øge testdækningen og korrektheden af de analyserede krav og vigtigst af alt “Ingen kløft mellem kravforståelser” og derved forbedre produktkvaliteten.
Nedenfor er fordelene ved at have test case anmeldelser:
- Forebyggelse af defekt.
- Tidlig advarsel om design og krav.
- Alle scenarier er fanget eller ej.
- Hele scenariet er relevant eller ej.
- Testdækning er i henhold til produktets krav.
- Det hjælper med at spare testtid.
# 6) Sørg for tilstrækkelig tid til at udføre testning
For enhver tester er tidsnødet en af de almindelige udfordringer, som de normalt står over for under deres testaktiviteter, og dette påvirker produktkvaliteten drastisk. Typisk, i en sprint, er det første skridt, at kravene fryses, og derefter udvikles produktet, og senere kommer det til QA-teamet før UAT og implementering.
I UAT er datoer faste, men på grund af mange kendte / ukendte problemer strækker udviklingscyklusserne sig, og det fører til tidsnød for QA-aktivitet, som i sidste ende påvirker testkvaliteter.
Det er således meget vigtigt at få nok tid til at udføre testaktiviteter gennem nedenstående punkter for at sikre et produkt uden fejl:
- Analyser hver brugerhistorie nøje.
- Angiv estimering af testindsats for hver opgave.
- Udforsk testteknologier til hurtigt arbejde.
- Planlæg testressourcer.
- Optag fejlene.
- Undgå gentagne opgaver.
# 7) Planlægning af regressionstest
Efter udførelse af de krævede ændringer i softwarekodning for at løse mangler frigiver udviklingsholdet generelt modificeret build til testteamet for at validere mangler. Nogle gange kan selv en lille ændring i kodning have en alvorlig effekt på de andre områder af softwaren, der ikke er blevet berørt.
For at forbedre softwareproduktets kvalitet bør testerne altid planlægge regressionstest for at give ledelsen, udviklere, testere og klienter sikkerhed for, at den nye funktion ikke påvirker nogen af de eksisterende funktioner og også for at bekræfte, at de nye problemer ikke udsættes for de funktionaliteter, der ikke ændres.
Betydningen af regressionstest
- Det er nyttigt at opdage problemer / i den indledende fase.
- Det sikrer, at softwareprodukterne kan implementeres.
- Det bekræfter, at nogle tidligere udgaver ikke genåbnes på grund af nye ændringer.
- Opbyg klienttillid til at have fejlfri softwareprodukter.
Forskellige måder at udføre regressionstest på:
Regressionstest er påkrævet, når der er ny funktionalitet; en defekt i eksisterende produkt skal være korrekt, ændring af eksisterende funktionalitet og sletning af eksisterende funktioner. Disse kodeændringer kan introducere en ny defekt i systemet, og systemet begynder at fungere forkert.
Nedenfor er de forskellige måder, hvorpå regressionstest kunne udføres.
- Gentest af komplet testdragt.
- Valg af tilfælde af regressionstest.
- Prioritering af testsager.
# 8) Test automatisering
I nutidens verden er softwaretest en vigtig del af softwareudviklingens livscyklusproces. For at reducere det manuelle hårde arbejde med testning vælger mange virksomheder testautomatisering til smart arbejde.
Dog går automatiseringsfunktionerne ud for at reducere tiden for at øge hastigheden og fuldføre testdækningen og vigtigst af alt QA-omkostningsoptimering til sidst.
Testautomatisering foretrækkes således frem for manuel test frem for at finde et alternativ med den mest omkostningseffektive eller højest opnåelige ydeevne for at få det maksimale resultat eller resultat med mindst mulig omkostning eller omkostning.
(billede kilde )
Desuden giver testautomatisering mange grunde til at forbedre testprocessen i forskellige faser.
- Opnåelse af mål med de minimale omkostninger på lang sigt.
- Reduceret udførelsestid.
- Evner til at øge testdækningen.
- Øget effektivitet og produktivitet.
- Reduceret manuel indsats
- Nedsat gentaget arbejde
- Nyttig til regressionstest
- Forøg scriptingkvaliteter
- Mere pålidelighed
# 9) Testdatastyring og rapportering
Testledelse er en proces til styring af testaktiviteter såsom organisering af testressourcer, estimering, planlægning, strategisering af testindsats, testovervågning, testrapportering og kontrol.
Testadministration er en måde at levere et kvalitetssoftwareprodukt såvel som en effektiv måde at forbedre softwaretestprocessen på. Test Management er ikke kun effektiv til automatisering, men også effektiv i manuel test.
- Test organisation : Oprettelse og anerkendelse af testteamet og opgavetildeling.
- Testplanlægning : Optegnelser om diskussion og aftaler mellem testere og resten af projektteamet.
- Teststrategi : Identificer testomfang, testproces, testteknikker og tilgang, estimering af testindsats og omkostninger.
- Testudførelse : Dokumentation af testsag, oprettelse af script og udførelse.
- Testovervågning og kontrol : Evaluer status for opgavens afslutning.
- Testrapportering : Effektiv kommunikation af testresultater og status til andre interessenter. Der er mange måder at rapportere status på, f.eks. Ved at oprette en testoversigtsrapport, ved direkte teststatus i e-mail eller ved at oprette et dashboard og sende dashboardlinket.
# 10) Retrospektion efter hver sprint
Et retrospektivt møde er en formel sammenkomst afholdt af et softwareudviklingsteam i slutningen af en sprint for at kontrollere og diskutere præstation og fiasko og komme med nye planer for fremtidige forbedringer for kommende sprints.
Gennemførelse af retrospektiver efter hver sprint giver holdene en chance for løbende forbedring af deres præstationer og forbedrer ikke kun softwaretestprocessen, men også alle de andre involverede aktiviteter.
hvordan man åbner .jar-filer på Windows 10
Fokusområder bagud:
- Hvad gik godt?
- Hvad gik ikke godt?
- Hvad lærte vi?
- Hvordan forbedrer man?
- Hvad gik godt ?: Den bedste måde at diskutere forbedring på er først at vurdere de gode ting, der er sket, så diskussionen starter med positivitet og fejre årsagen til succesen, og holdet holder også energien høj og diskuterer videre i et lykkeligt miljø.
- Hvad gik ikke godt? : Formålet med dette spørgsmål bør ikke være at bebrejde enkeltpersoner, men at identificere årsagerne til fejl eller fejl. Hvert medlem bør deltage for at besvare dette spørgsmål, så vi skal være kendt om et eksisterende problem og løsningerne til at løse dem til yderligere sprints. Nøglen til et vellykket projekt er at acceptere fejlen og arbejde på den.
- Hvad lærte vi? : For ikke at gentage fejl og fokusere på nye processer og værktøjer eller teknikker, kan vi introducere eller bruge for at få bedre resultater.
- Hvordan forbedres? : Ved at acceptere alle de fejl, der er gjort i den forrige sprint, og forbedre de færdigheder, der er sat i alle afdelinger, og dokumentere al feedback positivt for at arbejde meget mere og bedre i de yderligere sprints.
Konklusion
Bag enhver vellykket produktlevering burde der være nogle strategier til at følge forskellige softwaretestprocesser. Implementér disse enkle trin til forbedring af softwaretestprocessen, der er nævnt i denne artikel, for at levere det bedste kvalitetsprodukt.
I denne vejledning dækkede vi de forskellige procesforbedringstrin og -teknikker, der kan følges i enhver SDLC (Softwareudvikling livscyklus) -model gennem sprintcyklussen for at levere det bedste kvalitetsprodukt inden for en optimal tidsramme.
Det er tydeligt, at softwaretest er en integreret del af SDLC, og dets mål er at værdsætte systemet som helhed og tilfredsstille kundens krav. Derfor skal vi som et team implementere ovenstående måder til at forbedre softwaretestprocessen, som i sidste ende vil føre til bedre ydelse og kvalitet af softwareproduktet.
Anbefalet læsning
- 9 bedste VoIP-testværktøjer: VoIP-hastigheds- og kvalitetstestværktøjer (2021 LIST)
- Forskellen mellem kvalitetssikring og kvalitetskontrol (QA vs QC)
- Fejltilstand og effektanalyse (FMEA) - Sådan analyseres risici for bedre softwarekvalitet og tilfredse kunder!
- Maksimering af kvalitet ved at gå ud over Full Stack-test
- Sådan bruges Poka-Yoke (Mistake Proofing) -teknik til at forbedre softwarekvaliteten
- 8 nøgleindikatorer for kvalitetsudgivelser (Panaya Test Dynamix Review)
- Sådan forbedres testudgivelsesprocessen for vellykket fejlfri software til produktion
- 4 trin mod udvikling af Agile Testing Mindset for vellykket overgang til agil proces