Hva er pålitelighetstesting? Typer og eksempler

⚡ Smart oppsummering

Pålitelighetstesting avgjør om programvare fungerer uten feil i en definert periode under definerte forhold. Den kombinerer modellering, måling og forbedring for å svare på hvor sannsynlig det er at systemet vil fortsette å fungere.

  • 📐 Kjernedefinisjon: Sannsynligheten for feilfri drift i en gitt tidsperiode i et gitt miljø.
  • 🔄 Tre trinn: Modellering forutsier pålitelighet, måling kvantifiserer den, og forbedring virker på resultatet.
  • 📊 Fire metriske grupper: Produkt-, prosjektledelse-, prosess- og feil- og sviktmålinger.
  • Nøkkeltiltak: MTBF, MTTF og MTTR uttrykker pålitelighet i tid snarere enn i antall defekter.
  • 🧪 Metodevalg: Test-retest, parallelle former og beslutningskonsistens sjekker hver et annet aspekt.
  • ???? Business Case: Feltfeil koster mye mer enn den samme feilen som oppdages under testing.

Hva er pålitelighetstesting

Hva er pålitelighetstesting?

Pålitelighetstesting er en programvaretestprosess som sjekker om programvaren kan utføre en feilfri operasjon i et bestemt miljø i en spesifisert tidsperiode. Hensikten med pålitelighetstesting er å sikre at programvareproduktet er feilfritt og pålitelig nok til det forventede formålet.

Pålitelighet betyr "å gi det samme", med andre ord betyr ordet "pålitelig" at noe er pålitelig og at det vil gi det samme resultatet hver gang. Det samme gjelder reliabilitetstesting.

Eksempel på pålitelighetstesting

Sannsynligheten for at en PC i en butikk er oppe og går i åtte timer uten å krasje er 99 %; dette omtales som pålitelighet.

Pålitelighetstesting kan kategoriseres i tre segmenter,

  • Modellering
  • Måling
  • Forbedring

Følgende formel er for å beregne sannsynligheten for feil.

Probability = Number of failing cases/ Total number of cases under consideration

Eksempel på pålitelighetstesting

Faktorer som påvirker programvarepålitelighet

  1. Antall feil i programvaren
  2. Måten brukerne betjener systemet på

Pålitelighetstesting er en av nøklene til bedre programvarekvalitet. Denne testen hjelper til med å oppdage mange problemer i programvaredesign og funksjonalitet.

Hovedformålet med pålitelighetstesting er å sjekke om programvaren oppfyller kravet til kundens pålitelighet.

Reliabilitetstesting vil bli utført på flere nivåer. Komplekse systemer vil bli testet på enhets-, monterings-, delsystem- og systemnivå.

Hvorfor utføre pålitelighetstesting?

Pålitelighetstesting utføres for å teste programvareytelsen under de gitte forholdene.

Målet bak å utføre pålitelighetstesting er,

  1. Å finne strukturen til gjentatte feil.
  2. For å finne antall feil som oppstår er den angitte tiden.
  3. For å oppdage hovedårsaken til feilen.
  4. Å gjennomføre Ytelsestesting av ulike moduler av programvareapplikasjoner etter å ha fikset en defekt.

Etter utgivelsen av produktet også, kan vi minimere muligheten for forekomst av defekter og dermed forbedre programvarens pålitelighet. Noen av verktøyene som er nyttige for dette er- Trendanalyse, Ortogonal Defekt Klassifisering, og formelle metoder, etc.

Typer pålitelighetstesting

Testing av programvarepålitelighet inkluderer funksjonstesting, Load Testingog Regresjonstesting

Funksjonstesting:-

Utvalgt testing sjekker funksjonen som tilbys av programvaren og utføres i følgende trinn:-

  • Hver operasjon i programvaren utføres minst én gang.
  • Samspillet mellom de to operasjonene reduseres.
  • Hver operasjon må kontrolleres for riktig utførelse.

Lasttesting:-

Vanligvis vil programvaren yte bedre i begynnelsen av prosessen, og etter det vil den begynne å forringe. Belastningstesting utføres for å kontrollere ytelsen til programvaren under maksimal arbeidsbelastning.

Regresjonstest:-

Regresjonstesting brukes hovedsakelig for å sjekke om noen nye feil har blitt introdusert på grunn av fiksing av tidligere feil. Regresjonstesting utføres etter hver endring eller oppdatering av programvarefunksjonene og deres funksjoner.

Hvordan utføre pålitelighetstesting

Pålitelighetstesting er kostbart sammenlignet med andre typer testing. Så det kreves riktig planlegging og ledelse mens du utfører pålitelighetstesting. Dette inkluderer testprosessen som skal implementeres, data for testmiljøet, testplan, testpunkter, etc.

For å begynne med pålitelighetstesting, må testeren fortsette å følge ting,

  • Etablere pålitelighetsmål
  • Utvikle driftsprofil
  • Planlegge og gjennomføre tester
  • Bruk testresultater for å ta beslutninger

Som vi diskuterte tidligere, er det tre kategorier der vi kan utføre pålitelighetstesting,- Modellering, måling og forbedring.

Nøkkelparametrene involvert i pålitelighetstesting er: -

  • Sannsynlighet for feilfri drift
  • Lengde på feilfri drift
  • Miljøet det utføres i

Trinn 1) Modellering

Software Modeling Technique kan deles inn i to underkategorier:

1. Prediksjonsmodellering

2. Estimeringsmodellering

  • Meningsfulle resultater kan oppnås ved å bruke egnede modeller.
  • Antagelser og abstracDet kan gjøres forslag for å forenkle problemene, og ingen enkelt modell vil være egnet for alle situasjoner. De viktigste forskjellene mellom de to modellene er:
Problemer Prediksjonsmodeller Estimeringsmodeller
Datareferanse Den bruker historiske data Den bruker gjeldende data fra programvareutvikling.
Når den brukes i utviklingssyklus Det vil vanligvis bli opprettet før utviklings- eller testfasen. Det vil vanligvis bli brukt senere i programvareutviklingens livssyklus.
Time Frame Det vil forutsi pålitelighet i fremtiden. Den vil forutsi påliteligheten enten for nåværende tidspunkt eller i fremtiden.

Trinn 2) Måling

Programvarens pålitelighet kan ikke måles direkte; derfor vurderes andre relaterte faktorer for å estimere programvarens pålitelighet. Gjeldende praksis for måling av programvarepålitelighet er delt inn i fire kategorier:

Måling 1: Produktmålinger

Produktberegninger er kombinasjonen av fire typer beregninger:

  • Programvarestørrelse: – Linje med Code (LOC) er en intuitiv innledende tilnærming for å måle størrelsen på programvaren. Bare kildekoden telles med i denne målingen, og kommentarer og andre ikke-kjørbare setninger telles ikke med.
  • Funksjonspunkt Metrisk:- Funksjon Pont Metric er metoden for å måle funksjonaliteten til programvareutvikling. Den vil vurdere antall innganger, utganger, masterfiler osv. Den måler funksjonaliteten som leveres til brukeren og er uavhengig av programmeringsspråket.
  • kompleksitet er direkte relatert til programvarepålitelighet, så det er viktig å representere kompleksitet. Den kompleksitetsorienterte metrikken bestemmer kompleksiteten til et programs kontrollstruktur ved å forenkle koden til en grafisk representasjon.
  • Testdekningsberegninger:- Det er en måte å estimere feil og pålitelighet ved å fullføre programvareprodukttester. Programvarepålitelighet betyr at det er funksjonen til å fastslå at systemet er fullstendig verifisert og testet.

Måling 2: Prosjektledelsesberegninger

  • Forskere har innsett at god ledelse kan resultere i bedre produkter.
  • God ledelse kan oppnå høyere pålitelighet ved å bruke bedre utviklings-, risikostyrings- og konfigurasjonsstyringsprosesser.

Måling 3: Prosessmålinger

Kvaliteten på produktet er direkte relatert til prosessen. Prosessmålinger kan brukes til å estimere, overvåke og forbedre påliteligheten og kvaliteten til programvare.

Måling 4: Feil- og feilmålinger

Feil- og feilmålinger brukes hovedsakelig for å sjekke om systemet er helt feilfritt. Både typene feil funnet under testprosessen (dvs. før levering) så vel som feilen rapportert av brukere etter levering, samles inn, oppsummeres og analyseres for å nå dette målet.

Programvarens pålitelighet måles i form av gjennomsnittlig tid mellom feil (MTBF). MTBF består av

  • Mean to failure (MTTF): Det er tidsforskjellen mellom to påfølgende feil.
  • Gjennomsnittlig tid til reparasjon (MTTR): Det er tiden som kreves for å fikse feilen.
MTBF = MTTF + MTTR

Pålitelighet for god programvare er et tall mellom 0 og 1.

Pålitelighet øker når feil eller feil fra programmet fjernes.

Trinn 3) Forbedring

Forbedring avhenger helt av problemene som oppsto i applikasjonen eller systemet, ellers egenskapene til programvaren. I henhold til kompleksiteten til programvaremodulen vil også måten å forbedre seg på være forskjellig. To hovedbegrensninger, tid og budsjett, vil begrense innsatsen som legges ned på forbedring av programvarepålitelighet.

Eksempelmetoder for pålitelighetstesting

Testing for pålitelighet handler om å trene et program for å oppdage og fjerne feil før systemet distribueres.

Det er hovedsakelig tre tilnærminger som brukes for pålitelighetstesting

  • Test-retest pålitelighet
  • Parallelle former pålitelighet
  • Beslutningskonsistens

Nedenfor forsøkte vi å forklare alle disse med et eksempel.

Test-retest pålitelighet

Test-retest pålitelighet

For å estimere test-retest-pålitelighet, vil en enkelt gruppe med eksaminander utføre testprosessen med bare noen få dager eller uker fra hverandre. Tiden bør være kort nok til at eksaminandens ferdigheter på området kan vurderes. Sammenhengen mellom eksaminandens skårer fra to ulike administrasjoner estimeres gjennom statistisk korrelasjon. Denne typen pålitelighet demonstrerer i hvilken grad en test er i stand til å produsere stabile, konsistente skårer over tid.

Parallelle former pålitelighet

Parallelle former pålitelighet

Mange eksamener har flere formater av spørsmålsoppgaver, disse parallelle eksamensformene gir sikkerhet. Parallellformens pålitelighet estimeres ved å administrere begge eksamensformene til samme gruppe av eksamenspersoner. Eksaminandens poengsum på de to testformene er korrelert for å avgjøre hvor like de to testformene fungerer. Dette pålitelighetsestimatet er et mål på hvor konsistente eksamensresultater kan forventes på tvers av testformer.

Beslutningskonsistens

Etter å ha gjort Test-Retest Reliability og Parallell Form Reliability, vil vi få et resultat av at eksaminanden enten har bestått eller ikke bestått. Påliteligheten til denne klassifiseringsbeslutningen estimeres i beslutningskonsistenspålitelighet.

Viktigheten av pålitelighetstesting

En grundig vurdering av pålitelighet er nødvendig for å forbedre ytelsen til programvareprodukter og prosesser. Testing av programvarepålitelighet vil hjelpe programvareledere og utøvere i stor grad.

For å sjekke påliteligheten til programvaren via testing: -

  1. Et stort antall testtilfeller bør utføres over en lengre periode for å bestemme hvor lenge programvaren vil kjøre uten feil.
  2. Testcasedistribusjonen skal samsvare med programvarens faktiske eller planlagte driftsprofil. Jo oftere en funksjon av programvaren utføres, desto større er prosentandelen av testtilfeller som bør allokeres til den funksjonen eller undergruppen.

Verktøy for pålitelighetstesting

Noen av Verktøy for pålitelighetstesting som brukes for programvarepålitelighet er:

1. WEIBULL++:- Pålitelighet Levetid Dataanalyse

2. RGA:- Pålitelighetsvekstanalyse

3. RCM:-Plitelighetssentrert vedlikehold

Hvordan denne testen passer inn i ytelsestestingfamilien

Ytelsestesting er en paraplybetegnelse. Variantene nedenfor skiller seg bare i formen på den påførte belastningen og varigheten den holdes i, og det er derfor de så ofte forveksles med hverandre.

Testtype Lastemønster Spørsmål den svarer
Lasttesting Forventet toppbelastning, kort varighet Oppfyller systemet målene sine under normal trafikktopp?
Stresstesting Økte utover kapasiteten inntil feil Hvor ryker den, og svikter den grasiøst?
Piggtesting Plutselig ekstrem bølge, deretter tilbaketrekning Overlever og kommer den seg etter et trafikksjokk?
Utholdenhetstesting Normal belastning holdt i mange timer Forringes ytelsen over tid?
Bløtleggingstesting Vedvarende belastning over lengre tid Er det minnelekkasjer eller ressursutmattelse?
Stabilitetstesting Varierende belastning underveis Forblir systemet pålitelig selv om forholdene endrer seg?
Volumtesting Vanlige brukere, veldig stort datavolum Takler den når databasen vokser?

Utholdenhetstesting og gjennomvåtningstesting blir ofte behandlet som synonymer. Vanligvis brukes de slik: begge holder en vedvarende belastning over lengre tid. Der team skiller dem fra hverandre, fokuserer utholdenhetstesting på om responstidene stiger, mens soak-testing fokuserer på ressursforbruk som minne, filhåndtak og tilkoblingspooler. Å kjøre én gir deg vanligvis bevis for begge.

Pålitelighetstesting: Viktige konklusjoner

Pålitelighetstesting er en viktig del av et pålitelighetsingeniørprogram. Mer korrekt, det er sjelen til et pålitelighetsingeniørprogram. Videre er pålitelighetstester hovedsakelig designet for å avdekke spesielle feilmoduser og andre problemer under programvaretesting.

In Engineering programvare, Pålitelighetstesting kan kategoriseres i tre segmenter,

  • Modellering
  • Måling
  • Forbedring

Faktorer som påvirker programvarepålitelighet

  • Antall feil i programvaren
  • Måten brukerne betjener systemet på

Spørsmål og svar

Pålitelighetstesting måler sannsynligheten for feilfri drift over en definert periode, uttrykt statistisk. Stabilitetstesting kontrollerer at systemet fortsetter å fungere selv om forholdene varierer, uten nødvendigvis å kvantifisere en feilrate.

MTBF er gjennomsnittstiden mellom feil for et reparerbart system. MTTF er gjennomsnittstiden til feil for et ikke-reparerbart system. MTTR er gjennomsnittstiden for reparasjon etter at en feil har oppstått.

Ja. Akselerert testing bruker en tyngre bruksprofil enn produksjon, og modellerer deretter resultatet tilbake til normale forhold. Modellen er et estimat, så den må valideres mot feltdata.

AI-modeller forutsier hvilke komponenter som er mest utsatt for feil basert på feilhistorikk, kodeutskiftning og kompleksitet, slik at teamene kan konsentrere pålitelighetsinnsatsen der feil faktisk er sannsynlige.

Til en viss grad. Modeller trent på historiske hendelsesdata estimerer sannsynligheten for feil per komponent, men prognosen er bare så god som driftsdataene bak den og bør aldri erstatte målt testing.

Oppsummer dette innlegget med: