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
Faktorer som påvirker programvarepålitelighet
- Antall feil i programvaren
- 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,
- Å finne strukturen til gjentatte feil.
- For å finne antall feil som oppstår er den angitte tiden.
- For å oppdage hovedårsaken til feilen.
- Å 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
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
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: -
- Et stort antall testtilfeller bør utføres over en lengre periode for å bestemme hvor lenge programvaren vil kjøre uten feil.
- 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å