Wat is betrouwbaarheidstesten? Soorten en een voorbeeld.
โก Slimme samenvatting
Betrouwbaarheidstesten bepalen of software gedurende een bepaalde periode onder vastgestelde omstandigheden zonder storingen functioneert. Het combineert modellering, meting en verbetering om te bepalen hoe waarschijnlijk het is dat het systeem blijft werken.

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 uitvoeren?
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 betrouwbaarheidstesten
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.
Hoe voer je betrouwbaarheidstesten uit?
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.
- Aannames en abstracEr kunnen aanpassingen worden gedaan om de problemen te vereenvoudigen, en geen enkel model is geschikt 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: โ Lijn van Code (LOC) is een intuรฏtieve eerste benadering om de omvang van de software te meten. Alleen de broncode wordt in deze metriek meegerekend; commentaren en andere niet-uitvoerbare instructies 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
Hoe deze test past binnen de familie van prestatietests.
Prestatietesten is een overkoepelende term. De onderstaande varianten verschillen alleen in de vorm van de toegepaste belasting en de duur ervan, waardoor ze vaak met elkaar worden verward.
| Testtype | Belastingspatroon | Vraag het beantwoordt |
|---|---|---|
| Load testen | Verwachte piekbelasting, korte duur | Voldoet het systeem aan de doelstellingen bij normale piekbelasting? |
| Stress testen | Verhoogd tot boven de capaciteit tot het faalt | Waar gaat het mis, en verloopt het falen op een elegante manier? |
| Spike-testen | Plotselinge, extreme stijging, gevolgd door terugtrekking. | Kan het een verkeersschok overleven en ervan herstellen? |
| Uithoudingsvermogen testen | Normale belasting gedurende vele uren aangehouden | Neemt de prestatie in de loop der tijd af? |
| Soak testen | Langdurige belasting gedurende een langere periode | Zijn er geheugenlekken of is er sprake van uitputting van de systeembronnen? |
| Stabiliteitstesten | Variรซrende belasting onder verschillende omstandigheden | Blijft het systeem betrouwbaar bij veranderende omstandigheden? |
| Volume testen | Normale gebruikers, zeer grote hoeveelheden data | Kan het de groei van de database aan? |
Duurzaamheidstesten en weektesten worden vaak als synoniemen beschouwd. In de volksmond worden ze als volgt omschreven: beide tests houden een constante belasting gedurende een lange periode vol. Waar teams wel onderscheid maken tussen beide, richt duurtesten zich op de vraag of de responstijden toenemen, terwijl duurtesten zich richten op het resourceverbruik, zoals geheugen, bestandsdescriptors en verbindingspools. Het uitvoeren van รฉรฉn test levert meestal bewijs voor beide.
Betrouwbaarheidstesten: Belangrijkste conclusies
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



