10 steps improve software quality improving process
Programvaretesting er avgjørende for å forbedre programvarekvaliteten. Denne opplæringen viser prosessmodeller og 10 trinn for å forbedre testprosessen for å levere bedre programvarekvalitet:
Et programvareprodukt er utviklet for å oppfylle visse krav gitt av kunden, men mange ganger ender det som et defekt produkt på grunn av flere grunner som feil krav, kommunikasjonsgap, forståelsesgap, tidslinjeproblemer, ufullstendig teknisk kunnskap eller mindre dyktige mennesker i system.
Dette utsetter programvareproduktene for feil, mangler eller feil. Programvaretesting er svært viktig for å unngå eller forhindre slike problemer og opprettholde kvaliteten på programvareprodukter.
Denne artikkelen vil gi deg en ide om forskjellige modeller og noen enkle trinn for forbedring av programvaretestprosesser som kan følges for å forbedre programvarekvaliteten.
Vi vet at programvaretesting er prosessen med å evaluere om programvaren oppfyller de spesifikke kravene. I denne prosessen følger vi mange teknikker og modeller for å levere et kvalitetsprodukt. Men selv da er det få områder som kan forbedres for bedre programvarekvalitet.
- Prosessen bør fortsette kontinuerlig. Disse teknikkene velges og implementeres.
- Deming-hjulet (PDCA-syklus) er den mest brukte teknikken.
- Forbedret testprosesskvalitet reduserer vedlikeholdskostnadene.
Hva du vil lære:
- Typer modell
- Fremgangsmåte for å forbedre programvarekvaliteten
- Programvare Testing Prosessforbedring
- # 1) Kravspesifikasjon Dokumenttilgjengelighet
- # 2) Testing av teaminvolvering i kravdiskusjoner
- # 3) Tydelig omfang
- # 4) Testplanlegging og gjennomføring
- # 5) Test Cases Review
- # 6) Sørg for nok tid til å utføre testing
- # 7) Planlegging av regresjonstest
- # 8) Test automatisering
- # 9) Test datahåndtering og rapportering
- # 10) Retrospeksjon etter hver sprint
- Konklusjon
Typer modell
Det er to modeller som er oppført nedenfor -
- Prosessreferansemodell: Utfør modenhetsmåling som en del av vurderingen, evaluer evnen til organisasjonen.
- Innhold Referansemodell: Forbedrer forretningsdrevet evaluering av organisasjonsmuligheter. For eksempel, benchmarking teknikker.
Prosessmodeller
Det er 4 prosessmodeller:
# 1) TMMI: Testing av modenhetsmodeller
Det er fem nivåer i testmodningmodellene som er oppført nedenfor -
- Nivå 1: innledende
- Ingen formell eller dokumentert strukturert testing. Testing og utvikling gjøres i Adhoc-form etter koding.
- Test- og feilsøkingsfasen anses som den samme.
- Nivå 2: Administrert
- Testing utføres separat fra feilsøking.
- Testpolitikk og mål er satt.
- Implementere grunnleggende testteknikker.
- Nivå 3: Definert
- Testprosessen er integrert i utviklingsprosessen og dokumentert i formelle standarder, prosedyrer og materialer.
- Nivå 4: Målt
- Testprosessen måles effektivt og styres på organisasjonsnivå.
- Nivå 5: Organisert
- Data fra testprosessen kan brukes til å forhindre feil og optimalisere prosessen.
# 2) CTP: Kritisk testprosess
- Den har 12 testprosesser.
- Det er kontekstdrevet, der utfordringer blir identifisert og attributter for den gode prosessen blir anerkjent.
- Det er tilpasningsdyktig
- Det inkluderer bruk av beregninger for benchmarking.
# 3) TPI Neste
- Definerer 16 prosessområder og dekker hvert et spesifikt aspekt av testprosessen.
- Den har 4 modenhetsnivåer: innledende, kontrollert, effektiv og optimalisering.
- Kontrollpunkter er definert for å få tilgang til hvert nivå.
- Resultatene er oppsummert og visualisert ved hjelp av modenhetsmåling.
- Det kan skreddersys.
# 4) TRINN
- Systematisk test- og evalueringsprosess.
- Kontekstreferansemodell.
- Det krever ikke forbedring for å skje i en bestemt rekkefølge.
- Bruker kravbasert testing.
- Testing er en livssyklusaktivitet som begynner i kravfasen og fortsetter til pensjon.
- Mangler oppdages tidligere og analyseres.
- Testere og utviklere jobber sammen.
- Tester brukes som en krav- og bruksmodell. Testware design fører til Software Design.
Fremgangsmåte for å forbedre programvarekvaliteten
Trinn 1) Start forbedringsprosessen:
- Mål, mål, omfang og dekning er enige om av interessenter.
- Suksesskriterier bør defineres.
- Metoden bør etableres for å måle forbedring.
Trinn 2) Diagnostisering av den nåværende situasjonen:
intervjuspørsmål og svar på skrivebordet
- En gratis vurderingsmetode gjennomføres og en testvurderingsrapport opprettes.
- Den inneholder en vurdering av gjeldende testpraksis og en liste over prosessforbedringer.
Trinn 3) Handle for å implementere forbedring:
- Opplæring og veiledning er ferdig.
Trinn 4) Lære av forbedringsplan:
- Identifiser hvilken fordel i tillegg til forventet fordel ble mottatt.
- Observere
La oss fokusere på det første trinnet som er nevnt ovenfor, dvs. hvordan vi kan forbedre programvarekvaliteten ved å forbedre prosessen.
Programvare Testing Prosessforbedring
Programvaretesting er ikke bare å teste et produkt for å sjekke om kravene er oppfylt eller ikke, men det er en prosess med kvalitetskontroll samt sikkerhet.
- Kvalitetskontroll: En metode for deteksjon og korrigering av mangler.
- Kvalitetssikring : En metode for forebygging av feil når produktet er under kontroll.
Fordelene med programvaretesting er oppsummert nedenfor:
- Programvaretesting sjekker om vi bygger riktig produkt gjennom å teste det faktiske produktet.
- Den sjekker om utviklingsprosessen oppnås etter kvalitetsstandarder eller ikke.
- Det sørger for at produktet oppfyller alle spesifiserte krav fra kunden.
- Programvaretesting fokuserer på fullstendighet, korrekthet og konsistens av det endelige produktet.
- Det sjekker om vi bygger produktet rett gjennom prosesskontroll.
- Det er ansvarlig å bekrefte at et programvareprodukt er feilfritt.
Nå vil vi diskutere de forskjellige trinnene og teknikkene for å forbedre programvaretestprosessen for å oppnå et programvare produkt av god kvalitet.
# 1) Kravspesifikasjon Dokumenttilgjengelighet
Det aller første målet for kravhåndtering er å bygge en gjensidig oppfatning mellom klienten og programvareutviklingsteamet for å fokusere på alle kravene til det definerte programvareprosjektet. Det primære utfallet av kravhåndtering er dokumentet Kravspesifikasjon.
Kravspesifikasjonsdokumentet forklarer alle tekniske / ikke-tekniske krav til forretningsbehovet som kreves for å utvikle programvareproduktet.
Mesteparten av tiden i programvarens utviklingslivssyklus mangler disse viktige dokumentene, er utilstrekkelige eller ikke tilgjengelige i begynnelsen av sprintplanleggingen, og det er derfor et stort avvik mellom det som blir spurt og det som blir levert.
Derfor, for å utrydde disse smutthullene, er det første trinnet å få disse viktige dokumentene fra forretningsbrukerne, da dette hjelper testeren til å forstå det komplette kravet helt fra begynnelsen.
Klassifisering av krav:
Den tidlige tilgjengeligheten av disse dokumentene fra en kunde er en veldig god praksis for å forbedre programvaretestprosessen, ettersom hele prosjektet bare er avhengig av krav.
Noen av de viktigste dokumentene er:
- SRS (spesifikasjon for programvarekrav): Dette forklarer formålet, omfanget, funksjonelle og ikke-funksjonelle krav, inkludert både programvare- og maskinvarekravene til prosjektet .
- HLD (høyt nivå design): Dette dokumentet skal oversette spesifikasjonene til en logisk eller grafisk fremstilling av programvaren som skal implementeres .
- RTM (Kravsporbarhetsmatrise): Det inkluderer kravmatrisekartlegging av brukerkravet og testvalideringsdokumentet eller testsaksdokumentet .
# 2) Testing av teaminvolvering i kravdiskusjoner
En av de grunnleggende nøklene til å bygge et vellykket prosjekt er klar og effektiv kommunikasjon mellom alle designmedlemmer, utvikling og testing av teammedlemmer.
Testteamet bør inkluderes i alle viktige møter og designmøter, inkludert applikasjonsdesign og kravdefinerende økter, som testteamet kan forbedre følgende oppgave på en mer raffinert måte.
- Forbereder teststrategidokumentet.
- Utarbeide et testplandokument og anslagsestimering av testing.
- Testing team planlegging for testing aktiviteter.
- Test saksskriving.
- Testmanuskripter for automatiseringstesting.
- Utarbeidelse av feilrapporter.
- Feilhåndtering gjennom feilrapporteringsverktøy (Jira, Bugzilla, QC, etc.)
Det skal være gjensidig forståelse og samarbeid mellom alle teammedlemmene, slik at de kan følge de samme IT-standardene og teknikkene for å jobbe med og forvente samarbeidsvisualisering, ved å respektere hvert teammedlems arbeid for å produsere et kvalitetsprodukt.
# 3) Tydelig omfang
For det meste av programvaren følger IT-bransjen den smidige modellen, og omfattende eller enkelt definert omfang gis knapt av kunden, og de endrer stadig kravene mellom utviklingssyklusen.
Dette fører til et gap i forståelsen mellom utviklings- og testteamet, og resultatet kommer ikke alltid som anslått.
For å forbedre programvaretestingsprosessen bør det alltid være et tydelig omfang, og testteamet bør være klar over hele kravene og bør ha full forståelse før programvaretesting. Dette vil virkelig alltid bidra til å gi bedre resultater.
Å forstå det komplette omfanget / formålet med prosjektet vil også bidra til å bedømme nivået / typen eller intensiteten til testene som kreves.
# 4) Testplanlegging og gjennomføring
I denne fasen utpeker vi hele testprosessen, inkludert definerende krav, teknikker, firmastandarder, dokumentasjon, funksjonsbeskrivelser og risikoen som kan innføres under testing.
Testplanlegging i seg selv er et komplett prosjekt, som er designet for å oppnå kvalitetsproduktet ved å dele inn i følgende viktige oppgaver.
# 1) Teststrategi: Det skal opprettes en beskrivelse / dokument på høyt nivå av testprosedyren for å utføre testbehovene innenfor disse prosedyrene. Testteamet følger fremgangsmåten som er lagt til i disse dokumentene. Teststrategidokumentet er utarbeidet av testlederen og er et statisk dokument som ikke endres ofte.
Nedenfor er komponentene i et teststrategidokument:
- Testing Omfang
- Testing tilnærming
- Verktøy og teknikker for testing.
- Konfigurasjon
- Miljødetaljer
- Programvare, IT-standarder
- Testing fullføringsplan
- Unntak
# 2) Testplan: Etter å ha utarbeidet et teststrategidokument, må testledningen utarbeide master- og detaljert testplan, som er hentet fra SRS-dokumentet.
kjerne java intervju spørsmål og svar for erfarne
Testplanen beskriver følgende.
- Hva skal jeg teste?
- Hvordan teste?
- Når skal jeg teste?
- Hvem skal teste?
Hvis kravene endres raskt, anbefales det sterkt å ha en veldefinert og detaljert testplan. Feilene i testingen skyldes hovedsakelig at planrevisjonen av testplanen ikke ble utført.
Testplanfunksjonene inkluderer:
- Testplan-ID
- Introduksjon
- Test elementer
- Funksjoner som skal testes
- Utvalgt for ikke å bli testet
- Test tilnærming
- Oppføringskriterier
- Suspensjonskriterier
- Utgangskriterier
- Test miljø
- Testleveranser
- Personal- og opplæringsbehov
- Ansvar
- Rute
- Risiko og avbøtende forhold
# 3) Testkassedesign: Test Case Design er en aktivitet der alle Krav-diskusjonene blir konvertert til formelle dokumenter som et test case, test script, test scenario.
Med andre ord er testtilfeller et sett med trinn hvor testeren identifiserer om et programvareprodukt oppfyller alle kravene eller ikke ved å sammenligne det faktiske resultatet med det forventede resultatet.
Test Case Format:
Mr. Nei. | Testoppsummering | Trinn nr. | Steg | forventet resultat | Egentlige resultatet |
---|---|---|---|---|---|
Hva er behovet for prøveskriving?
Å skrive testsaker er praktisk nødvendig for å hjelpe testerne til å forstå kravene på en detaljert måte og sikre at de nærmer seg på riktig måte.
Fordeler med testsaker
- Test tilfeller sørg for å fullføre testdekningen.
- Det hjelper med å fjerne eventuelle hull i kravene.
- Det hjelper med å forbedre testprosessen.
- Det hjelper med å forbedre kvaliteten på produktet.
- Øker tilliten til at vi går frem på riktig måte.
- Det hjelper å verifisere forventningen.
- Det lar testeren tenke grundig og hjelper til med å dekke alle positive og negative scenarier.
# 5) Test Cases Review
Test case review spiller en viktig rolle i programvarens utvikling livssyklus i enhver organisasjon som det endelige målet for kunden er å få et produkt “Som er feilfritt” og skal oppfylle alle spesifiserte krav.
Hovedformålet med gjennomgang av testtilfeller: å estimere fullstendighet, øke testdekning og korrekthet av de analyserte kravene, og viktigst av alt “Ingen avstand mellom kravforståelser” og dermed forbedre produktkvaliteten.
Nedenfor er fordelene ved å ha prøvesaker:
- Forebygging av feil.
- Tidlig varsel om design og krav.
- Alle scenariene fanges opp eller ikke.
- Hele scenariet er relevant eller ikke.
- Test tilfelle dekning er i henhold til kravene til produktet.
- Det hjelper med å spare testtid.
# 6) Sørg for nok tid til å utføre testing
For alle tester er tidsklemma en av de vanligste utfordringene som de vanligvis møter under testaktivitetene, og dette påvirker produktkvaliteten drastisk. Vanligvis, i en sprint, er det første trinnet at kravene fryses, og deretter utvikles produktet, og senere kommer det til QA-teamet før UAT og distribusjon.
I UAT er datoer faste, men på grunn av mange kjente / ukjente problemer strekker utviklingssyklusene seg, og det fører til tidsklemme for QA-aktivitet, som til slutt påvirker testkvaliteter.
Dermed er det veldig viktig å få nok tid til å utføre testaktiviteter gjennom punktene nedenfor for å sikre et feilfritt produkt:
- Analyser hver brukerhistorie nøye.
- Gi testinnsatsestimering for hver oppgave.
- Utforsk testteknologier for raskt arbeid.
- Planlegg testressurser.
- Noter feilene.
- Unngå gjentatte oppgaver.
# 7) Planlegging av regresjonstest
Vanligvis, etter å ha utført de nødvendige endringene i programvarekoding, for å løse feilene, frigjør utviklingsteamet modifisert build til testteamet for å validere feil. Noen ganger kan til og med en liten endring i kodingen ha en alvorlig effekt på de andre områdene av programvaren som ikke er berørt.
For å forbedre programvareproduktkvaliteten, bør testerne alltid planlegge regresjonstesting for å gi ledelse, utviklere, testere og klienter forsikring om at den nye funksjonen ikke påvirker noen av de eksisterende funksjonalitetene, og også for å bekrefte at de nye problemene ikke blir eksponert i de funksjonalitetene som ikke endres.
forskjell mellom testplan og testtilfelle
Viktigheten av regresjonstesting
- Det er nyttig å oppdage problemer / i den innledende fasen.
- Det forsikrer at programvareproduktene kan distribueres.
- Det bekrefter at noen tidligere utgaver ikke åpnes på nytt på grunn av nye endringer.
- Bygg klienttillit for å ha feilfrie programvareprodukter.
Ulike måter å utføre regresjonstesting på:
Regresjonstesting er nødvendig når det er ny funksjonalitet. en feil i eksisterende produkt må være korrekt, modifisering av eksisterende funksjonalitet og sletting av eksisterende funksjoner. Disse kodeendringene kan introdusere en ny feil i systemet, og systemet begynner å fungere feil.
Nedenfor er de forskjellige måtene regresjonstesting kan utføres på.
- Re-testing av komplett testdrakt.
- Utvalg av regresjonstesttilfeller.
- Prioritering av testsaker.
# 8) Test automatisering
I dagens verden er programvaretesting en viktig del av livssyklusprosessen for programvareutvikling. For å redusere det manuelle harde arbeidet med testing, velger mange selskaper testautomatisering for smart arbeid.
Imidlertid beveger automatiseringsfunksjonene seg lenger enn å redusere tiden for å øke hastigheten og fullføre testdekningen, og viktigst av alt QA-kostnadsoptimalisering til slutt.
Testautomatisering foretrekkes derfor fremfor manuell testing fremfor å finne et alternativ med den mest kostnadseffektive eller høyest oppnåelige ytelsen for å oppnå maksimalt resultat eller resultat med minimale kostnader eller utgifter.
(bilde kilde )
Videre gir testautomatisering mange grunner til å forbedre testprosessen i forskjellige trinn.
- Å oppnå mål med minimumskostnad på sikt.
- Redusert tid for utførelse.
- Evner til å øke testdekningen.
- Økt effektivitet og produktivitet.
- Redusert manuell innsats
- Redusert repeterende arbeid
- Nyttig i regresjonstesting
- Øk skriptkvaliteter
- Mer pålitelighet
# 9) Test datahåndtering og rapportering
Testadministrasjon er en prosess for å administrere testaktiviteter, for eksempel å organisere testressurser, estimering, planlegging, strategisering av testinnsats, testovervåkning, testrapportering og kontroll.
Testadministrasjon er en måte å levere et kvalitetsprogramvareprodukt i tillegg til en effektiv måte å forbedre programvaretestprosessen på. Testadministrasjon er ikke bare effektiv for automatisering, men også effektiv i manuell testing.
- Test organisasjon : Opprettelse og anerkjennelse av testteamet og oppgaveoppgaven.
- Testplanlegging : Register over diskusjoner og avtaler mellom testere og resten av prosjektgruppen.
- Teststrategi : Identifiser testomfang, testprosess, testteknikker og tilnærming, estimering av testinnsats og kostnad.
- Testutførelse : Test saksdokumentasjon, skriptoppretting og utførelse.
- Test overvåking og kontroll : Evaluer statusen for fullføringen av oppgaven.
- Testrapportering : Kommuniserer effektivt testfunn og status til andre interessenter. Det er mange måter å rapportere status på, for eksempel ved å opprette en testoppsummeringsrapport, ved direkte teststatus i e-post eller ved å opprette et dashbord og sende dashbordkoblingen.
# 10) Retrospeksjon etter hver sprint
Et retrospektivt møte er en formell samling som holdes av et programvareutviklingsteam på slutten av en sprint for å sjekke og diskutere prestasjoner og fiasko og komme med nye planer for fremtidige forbedringer for kommende sprints.
Gjennomføring av retrospektiver etter hver sprint gir lagene en sjanse til kontinuerlig forbedring av ytelsen og til å forbedre ikke bare programvaretestprosessen, men også alle andre involverte aktiviteter.
Fokusområder i ettertid:
- Hva gikk bra?
- Hva gikk ikke bra?
- Hva lærte vi?
- Hvordan forbedre?
- Hva som gikk bra ?: Den beste måten å diskutere forbedring på er å først vurdere de gode tingene som har skjedd, slik at diskusjonen starter med positivitet og å feire årsaken bak suksessen, og teamet holder også energien høy og diskuterer videre i et lykkelig miljø.
- Hva gikk ikke bra? : Målet med dette spørsmålet bør ikke være å klandre enkeltpersoner, men å identifisere årsakene bak feil eller feil. Hvert medlem bør delta for å svare på dette spørsmålet, slik at vi skal være kjent med et eksisterende problem og løsningene for å løse dem for ytterligere sprint. Nøkkelen til et vellykket prosjekt er å godta feilen og jobbe med den.
- Hva lærte vi? : For ikke å gjenta feil og fokusere på nye prosesser og verktøy eller teknikker, kan vi introdusere eller bruke for å få bedre resultater.
- Hvordan forbedre? : Ved å akseptere alle feilene som er gjort i forrige sprint og forbedre ferdighetene som er satt i alle avdelinger, og å dokumentere alle tilbakemeldingene positivt for å jobbe mye mer og bedre i de videre spurtene.
Konklusjon
Bak enhver vellykket produktlevering, bør det være noen strategier for å følge forskjellige programvaretestprosesser. Implementere disse enkle trinnene for forbedring av programvaretesting, nevnt i denne artikkelen, for å levere det beste kvalitetsproduktet.
I denne opplæringen dekket vi de forskjellige trinnene og teknikkene for prosessforbedring som kan følges i hvilken som helst SDLC (Software Development Life Cycle) -modell gjennom hele sprint-syklusen, for å levere det beste kvalitetsproduktet innen en optimal tidsramme.
Det er tydelig at programvaretesting er en integrert del av SDLC, og målet er å verdsette systemet som helhet og tilfredsstille kundens krav. Derfor som et team, bør vi implementere de ovennevnte måtene for å forbedre programvaretestprosessen som til slutt vil føre til bedre ytelse og kvalitet på programvareproduktet.
Anbefalt lesing
- 9 beste VoIP-testverktøy: VoIP-hastighets- og kvalitetstestverktøy (2021 LISTE)
- Forskjellen mellom kvalitetssikring og kvalitetskontroll (QA vs QC)
- Feilmodus og effektanalyse (FMEA) - Hvordan analysere risikoen for bedre programvarekvalitet og fornøyde kunder!
- Maksimere kvaliteten ved å gå utover og utover Full Stack Testing
- Slik bruker du Poka-Yoke (Mistake Proofing) -teknikk for å forbedre programvarekvaliteten
- 8 viktige ytelsesindikatorer for kvalitetsutgivelser (Panaya Test Dynamix Review)
- Hvordan du kan forbedre testutgivelsesprosessen for vellykket feilfri programvare til produksjon
- 4 trinn mot utvikling av Agile Testing Mindset for vellykket overgang til smidig prosess