Hva er pålitelighetstesting? (Eksempel)

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ører 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 gjø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.
  • Forutsetninger og abstraksjoner kan gjøres for å forenkle problemene, og ingen enkelt modell vil være egnet for alle situasjoner. De største 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: Produktberegninger

Produktberegninger er kombinasjonen av fire typer beregninger:

  • Programvarestørrelse: – Line of Code (LOC) er en intuitiv innledende tilnærming for å måle størrelsen på programvaren. Bare kildekoden telles i denne beregningen, og kommentarene og andre ikke-kjørbare setninger telles ikke.
  • 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

Sammendrag

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å