Wat is betrouwbaarheidstesten? (Voorbeeld)
Wat is betrouwbaarheidstesten?
Betrouwbaarheidstesten is een softwaretestproces dat controleert of de software een foutloze werking kan uitvoeren in een bepaalde omgeving gedurende een bepaalde tijdsperiode. Het doel van betrouwbaarheidstesten is om te verzekeren dat het softwareproduct bugvrij en betrouwbaar genoeg is voor het verwachte doel.
Betrouwbaarheid betekent ‘hetzelfde opleveren’, met andere woorden: het woord ‘betrouwbaar’ betekent dat iets betrouwbaar is en dat het elke keer hetzelfde resultaat zal opleveren. Hetzelfde geldt voor het testen van de betrouwbaarheid.
Betrouwbaarheidstestvoorbeeld
De kans dat een pc in een winkel acht uur lang draait zonder vast te lopen, is 99%. Dit wordt betrouwbaarheid genoemd.
Betrouwbaarheidstesten kunnen worden onderverdeeld in drie segmenten:
- Modellering
- maat
- Verbetering
De volgende formule wordt gebruikt om de kans op falen te berekenen.
Probability = Number of failing cases/ Total number of cases under consideration
Factoren die de betrouwbaarheid van software beïnvloeden
- Het aantal fouten in de software
- De manier waarop gebruikers het systeem bedienen
Betrouwbaarheidstesten zijn een van de sleutels tot betere softwarekwaliteit. Deze tests helpen bij het ontdekken van veel problemen in het softwareontwerp en de functionaliteit.
Het belangrijkste doel van betrouwbaarheidstesten is om te controleren of de software voldoet aan de eis van klantbetrouwbaarheid.
Betrouwbaarheidstesten worden op verschillende niveaus uitgevoerd. Complexe systemen worden getest op het niveau van de eenheid, assemblage, subsysteem en systeem.
Waarom betrouwbaarheidstesten?
Betrouwbaarheidstests worden uitgevoerd om de softwareprestaties onder de gegeven omstandigheden te testen.
Het doel achter het uitvoeren van betrouwbaarheidstesten is:
- Om de structuur van herhaalde mislukkingen te vinden.
- Om het aantal optredende fouten te vinden, is de opgegeven hoeveelheid tijd nodig.
- Om de belangrijkste oorzaak van falen te ontdekken.
- Uitvoeren Performance Testing van verschillende modules van softwareapplicaties na het verhelpen van een defect.
Ook na de release van het product kunnen we de kans op het optreden van defecten minimaliseren en daarmee de betrouwbaarheid van de software verbeteren. Enkele van de hulpmiddelen die hiervoor nuttig zijn, zijn: Trendanalyse, Orthogonaal Defect Classificatie en formele methoden, enz.
Soorten betrouwbaarheid Testen
Het testen van de softwarebetrouwbaarheid omvat het testen van functies, load Testenen Regressie Testing
Functietesten: -
Bij de aanbevolen tests worden de functies van de software gecontroleerd. Deze tests worden in de volgende stappen uitgevoerd:
- Elke bewerking in de software wordt minimaal één keer uitgevoerd.
- De interactie tussen de twee bewerkingen is verminderd.
- Er moet gecontroleerd worden of elke bewerking correct wordt uitgevoerd.
Belastingtesten: -
Normaal gesproken zal de software aan het begin van het proces beter presteren, en daarna zal deze achteruit gaan. Er worden belastingtests uitgevoerd om de prestaties van de software onder de maximale werkbelasting te controleren.
Regressietest: -
Regressietesten worden voornamelijk gebruikt om te controleren of er nieuwe bugs zijn geïntroduceerd als gevolg van het repareren van eerdere bugs. Regressietesten worden uitgevoerd na elke wijziging of update van de softwarefuncties en hun functionaliteiten.
Betrouwbaarheidstesten uitvoeren
Betrouwbaarheidstesten zijn kostbaar in vergelijking met andere soorten testen. Een goede planning en beheer zijn dus vereist bij het uitvoeren van betrouwbaarheidstests. Denk hierbij aan het uit te voeren testproces, gegevens voor de testomgeving, testschema, testpunten etc.
Om te beginnen met betrouwbaarheidstesten moet de tester de volgende zaken blijven volgen:
- Stel betrouwbaarheidsdoelstellingen vast
- Operationeel profiel ontwikkelen
- Testen plannen en uitvoeren
- Gebruik testresultaten om beslissingen te nemen
Zoals we eerder hebben besproken, zijn er drie categorieën waarin we betrouwbaarheidstesten kunnen uitvoeren: Modelleren, meten en verbeteren.
De belangrijkste parameters die betrokken zijn bij het testen van betrouwbaarheid zijn: -
- Waarschijnlijkheid van storingsvrije werking
- Duur van de storingsvrije werking
- De omgeving waarin het wordt uitgevoerd
Stap 1) Modellering
Software Modeling Technique kan worden onderverdeeld in twee subcategorieën:
1. Voorspellingsmodellering
2. Schattingsmodellering
- Betekenisvolle resultaten kunnen worden verkregen door geschikte modellen toe te passen.
- Er kunnen aannames en abstracties worden gemaakt om de problemen te vereenvoudigen, en geen enkel model zal geschikt zijn voor alle situaties. De belangrijkste verschillen tussen de twee modellen zijn: -
Problemen | Voorspellingsmodellen | Schattingsmodellen |
---|---|---|
Gegevensreferentie | Er wordt gebruik gemaakt van historische gegevens | Er wordt gebruik gemaakt van actuele gegevens uit de softwareontwikkeling. |
Bij gebruik in de ontwikkelingscyclus | Het wordt meestal gemaakt vóór de ontwikkelings- of testfase. | Meestal wordt het later in de softwareontwikkelingscyclus gebruikt. |
Tijdsbestek | Het zal de betrouwbaarheid in de toekomst voorspellen. | Het zal de betrouwbaarheid voor de huidige tijd of in de toekomst voorspellen. |
Stap 2) Meting
De betrouwbaarheid van software kan niet direct worden gemeten; daarom worden andere gerelateerde factoren in aanmerking genomen om de betrouwbaarheid van software te schatten. De huidige praktijken van Software Reliability Measurement zijn onderverdeeld in vier categorieën: -
Meting 1: Productstatistieken
Productstatistieken zijn de combinatie van 4 soorten statistieken:
- Softwaregrootte: – Line of Code (LOC) is een intuïtieve eerste benadering voor het meten van de omvang van de software. Alleen de broncode wordt meegeteld in deze statistiek, en de opmerkingen en andere niet-uitvoerbare verklaringen worden niet meegeteld.
- Functiepunt Metrisch:- Functie Pont Metric is de methode voor het meten van de functionaliteit van Softwareontwikkeling. Het houdt rekening met het aantal inputs, outputs, masterbestanden, enz. Het meet de functionaliteit die aan de gebruiker wordt geleverd en is onafhankelijk van de programmeertaal.
- Ingewikkeldheid is direct gerelateerd aan softwarebetrouwbaarheid, dus het weergeven van complexiteit is belangrijk. De complexiteitsgerichte metriek bepaalt de complexiteit van de besturingsstructuur van een programma door de code te vereenvoudigen tot een grafische weergave.
- Testdekkingsstatistieken: - Het is een manier om fouten en betrouwbaarheid in te schatten door softwareproducttests uit te voeren. Softwarebetrouwbaarheid betekent dat het de functie is om te bepalen of het systeem volledig is geverifieerd en getest.
Meting 2: Projectmanagementstatistieken
- Onderzoekers hebben zich gerealiseerd dat goed management kan resulteren in betere producten.
- Goed management kan een hogere betrouwbaarheid bereiken door gebruik te maken van betere processen voor ontwikkeling, risicobeheer en configuratiebeheer.
Meting 3: Processtatistieken
De kwaliteit van het product houdt rechtstreeks verband met het proces. Procesmetrieken kunnen worden gebruikt om de betrouwbaarheid en kwaliteit van software te schatten, monitoren en verbeteren.
Meting 4: Fout- en storingsstatistieken
Fault and Failure Metrics worden voornamelijk gebruikt om te controleren of het systeem volledig storingsvrij is. Zowel de typen storingen die tijdens het testproces (d.w.z. vóór levering) zijn gevonden als de storingen die door gebruikers na levering zijn gemeld, worden verzameld, samengevat en geanalyseerd om dit doel te bereiken.
De betrouwbaarheid van software wordt gemeten in termen van de gemiddelde tijd tussen storingen (MTBF). MTBF bestaat uit
- Mean to Failure (MTTF): Het is het tijdsverschil tussen twee opeenvolgende mislukkingen.
- Mean Time to Repair (MTTR): Dit is de tijd die nodig is om de storing te verhelpen.
MTBF = MTTF + MTTR
Betrouwbaarheid voor goede software is een getal tussen 0 en 1.
De betrouwbaarheid neemt toe wanneer fouten of bugs uit het programma worden verwijderd.
Stap 3) Verbetering
Verbetering hangt volledig af van de problemen die zich in de applicatie of het systeem hebben voorgedaan, of anders de kenmerken van de software. Afhankelijk van de complexiteit van de softwaremodule, zal de manier van verbetering ook verschillen. Twee belangrijke beperkingen, tijd en budget, zullen de inspanningen beperken die worden geleverd om de betrouwbaarheid van software te verbeteren.
Voorbeeldmethoden voor het testen van de betrouwbaarheid
Bij het testen op betrouwbaarheid wordt een applicatie getest om fouten te ontdekken en te verhelpen voordat het systeem wordt geïmplementeerd.
Er worden hoofdzakelijk drie benaderingen gebruikt voor het testen van betrouwbaarheid
- Test-hertest betrouwbaarheid
- Betrouwbaarheid van parallelle formulieren
- Beslissingsconsistentie
Hieronder probeerden we dit allemaal uit te leggen met een voorbeeld.
Test-hertest betrouwbaarheid
Om de test-hertestbetrouwbaarheid te schatten, zal een enkele groep examenkandidaten het testproces met een tussenpoos van een paar dagen of weken uitvoeren. De tijd moet kort genoeg zijn zodat de vaardigheden van de examinandus op dit gebied kunnen worden beoordeeld. De relatie tussen de scores van de proefpersoon van twee verschillende administraties wordt geschat door middel van statistische correlatie. Dit type betrouwbaarheid laat zien in hoeverre een test in de loop van de tijd stabiele, consistente scores kan opleveren.
Betrouwbaarheid van parallelle formulieren
Veel examens hebben meerdere formaten van vraagpapieren, deze parallelle examenvormen bieden veiligheid. De betrouwbaarheid van parallelle formulieren wordt geschat door beide examenvormen aan dezelfde groep examinandi te verstrekken. De scores van de examinandus op de twee testformulieren worden gecorreleerd om te bepalen hoe vergelijkbaar de twee testformulieren functioneren. Deze betrouwbaarheidsschatting is een maatstaf voor hoe consistent de scores van examinandi over testformulieren heen kunnen worden verwacht.
Beslissingsconsistentie
Nadat we Test-Hertest Betrouwbaarheid en Parallelle Vorm Betrouwbaarheid hebben gedaan, krijgen we het resultaat van de examenkandidaten die wel of niet slagen. De betrouwbaarheid van deze classificatiebeslissing wordt geschat in de betrouwbaarheid van de beslissingsconsistentie.
Belang van betrouwbaarheidstesten
Een grondige beoordeling van de betrouwbaarheid is vereist om de prestaties van softwareproducten en -processen te verbeteren. Het testen van de betrouwbaarheid van software zal softwarebeheerders en praktijkmensen in grote mate helpen.
Om de betrouwbaarheid van de software te controleren via testen: -
- Er moet een groot aantal testgevallen gedurende een langere periode worden uitgevoerd om te bepalen hoe lang de software zonder fouten zal werken.
- De distributie van testcases moet overeenkomen met het werkelijke of geplande operationele profiel van de software. Hoe vaker een functie van de software wordt uitgevoerd, hoe groter het percentage testcases dat aan die functie of subset moet worden toegewezen.
Betrouwbaarheidstesttools
Enkele Betrouwbaarheidstesttools gebruikt voor softwarebetrouwbaarheid zijn:
1. WEIBULL++: - Betrouwbaarheid Levensduur Data-analyse
2. RGA: - Betrouwbaarheidsgroeianalyse
3. RCM: Betrouwbaarheidsgericht onderhoud
Samenvatting
Betrouwbaarheidstesten zijn een belangrijk onderdeel van een betrouwbaarheidsengineeringprogramma. Correcter gezegd: het is de ziel van een betrouwbaarheidsengineeringprogramma. Bovendien zijn betrouwbaarheidstests vooral bedoeld om bepaalde foutmodi en andere problemen tijdens het testen van software aan het licht te brengen.
In Software EngineeringBetrouwbaarheidstesten kunnen worden onderverdeeld in drie segmenten:
- Modellering
- maat
- Verbetering
Factoren die de betrouwbaarheid van software beïnvloeden
- Het aantal fouten in de software
- De manier waarop gebruikers het systeem bedienen