Tutorial zum Testen der Zuverlässigkeit: Was ist, Methoden, Werkzeuge, Beispiel

Inhaltsverzeichnis:

Anonim

Zuverlässigkeitstests

Bei der Zuverlässigkeitsprüfung handelt es sich um einen Softwaretestprozess, bei dem geprüft wird, ob die Software in einer bestimmten Umgebung für einen bestimmten Zeitraum einen fehlerfreien Vorgang ausführen kann. Mit dem Zuverlässigkeitstest soll sichergestellt werden, dass das Softwareprodukt fehlerfrei und zuverlässig genug für den erwarteten Zweck ist.

Zuverlässigkeit bedeutet "dasselbe liefern", mit anderen Worten bedeutet das Wort "zuverlässig", dass etwas zuverlässig ist und jedes Mal das gleiche Ergebnis liefert. Gleiches gilt für Zuverlässigkeitstests.

In diesem Tutorial lernen Sie:

  • Was ist Zuverlässigkeitstest?
  • Beispiel für Zuverlässigkeitstests
  • Faktoren, die die Zuverlässigkeit der Software beeinflussen
  • Warum sollten Sie Zuverlässigkeitstests durchführen?
  • Arten von Zuverlässigkeitstests
  • So führen Sie Zuverlässigkeitstests durch
  • Beispielmethoden für Zuverlässigkeitstests
  • Tools zum Testen der Zuverlässigkeit

Beispiel für Zuverlässigkeitstests

Die Wahrscheinlichkeit, dass ein PC in einem Geschäft acht Stunden lang ohne Absturz läuft, beträgt 99%. Dies wird als Zuverlässigkeit bezeichnet.

Zuverlässigkeitstests können in drei Segmente unterteilt werden:

  • Modellieren
  • Messung
  • Verbesserung

Die folgende Formel dient zur Berechnung der Ausfallwahrscheinlichkeit.

Wahrscheinlichkeit = Anzahl der fehlgeschlagenen Fälle / Gesamtzahl der betrachteten Fälle

Faktoren, die die Zuverlässigkeit der Software beeinflussen

  1. Die Anzahl der Fehler in der Software
  2. Die Art und Weise, wie Benutzer das System bedienen
  • Zuverlässigkeitstests sind einer der Schlüssel zu einer besseren Softwarequalität. Diese Tests helfen dabei, viele Probleme im Software-Design und in der Funktionalität zu entdecken.
  • Der Hauptzweck von Zuverlässigkeitstests besteht darin, zu überprüfen, ob die Software die Anforderungen an die Zuverlässigkeit des Kunden erfüllt.
  • Zuverlässigkeitstests werden auf mehreren Ebenen durchgeführt. Komplexe Systeme werden auf Einheits-, Montage-, Subsystem- und Systemebene getestet.

Warum sollten Sie Zuverlässigkeitstests durchführen?

Zuverlässigkeitstests werden durchgeführt, um die Softwareleistung unter den angegebenen Bedingungen zu testen.

Das Ziel der Durchführung von Zuverlässigkeitstests ist:

  1. Um die Struktur sich wiederholender Fehler zu finden.
  2. Um die Anzahl der auftretenden Fehler zu ermitteln, muss die angegebene Zeitspanne angegeben werden.
  3. Um die Hauptursache des Fehlers zu entdecken
  4. Durchführung von Leistungstests für verschiedene Module der Softwareanwendung nach Behebung des Fehlers

Auch nach der Freigabe des Produkts können wir das Auftreten von Fehlern minimieren und dadurch die Zuverlässigkeit der Software verbessern. Einige der hierfür nützlichen Tools sind: Trendanalyse, Klassifizierung orthogonaler Fehler und formale Methoden usw.

Arten von Zuverlässigkeitstests

Das Testen der Softwarezuverlässigkeit umfasst Funktionstests, Lasttests und Regressionstests

Funktionsprüfung: -

Empfohlene Tests Überprüfen Sie die von der Software bereitgestellte Funktion und führen Sie die folgenden Schritte aus: -

  • Jede Operation in der Software wird mindestens einmal ausgeführt.
  • Die Interaktion zwischen den beiden Operationen wird reduziert.
  • Jede Operation muss auf ihre ordnungsgemäße Ausführung überprüft werden.

Lasttests: -

Normalerweise arbeitet die Software zu Beginn des Prozesses besser und verschlechtert sich danach. Lasttests werden durchgeführt, um die Leistung der Software bei maximaler Arbeitslast zu überprüfen.

Regressionstest:-

Regressionstests werden hauptsächlich verwendet, um zu überprüfen, ob aufgrund der Behebung früherer Fehler neue Fehler eingeführt wurden. Regressionstests werden nach jeder Änderung oder Aktualisierung der Softwarefunktionen und ihrer Funktionen durchgeführt.

So führen Sie Zuverlässigkeitstests durch

Zuverlässigkeitstests sind im Vergleich zu anderen Testarten kostspielig. Daher ist bei der Durchführung von Zuverlässigkeitstests eine ordnungsgemäße Planung und Verwaltung erforderlich. Dies umfasst den zu implementierenden Testprozess, Daten für die Testumgebung, den Testplan, Testpunkte usw.

Um mit Zuverlässigkeitstests zu beginnen, muss der Tester die folgenden Dinge beachten:

  • Legen Sie Zuverlässigkeitsziele fest
  • Betriebsprofil entwickeln
  • Planen und Ausführen von Tests
  • Verwenden Sie Testergebnisse, um Entscheidungen zu treffen

Wie bereits erwähnt, gibt es drei Kategorien, in denen wir Zuverlässigkeitstests durchführen können: Modellierung, Messung und Verbesserung .

Die wichtigsten Parameter für Zuverlässigkeitstests sind:

  • Wahrscheinlichkeit eines störungsfreien Betriebs
  • Dauer des störungsfreien Betriebs
  • Die Umgebung, in der es ausgeführt wird

Schritt 1) ​​Modellierung

Die Softwaremodellierungstechnik kann in zwei Unterkategorien unterteilt werden:

1. Vorhersagemodellierung

2. Schätzungsmodellierung

  • Durch Anwendung geeigneter Modelle können aussagekräftige Ergebnisse erzielt werden.
  • Annahmen und Abstraktionen können gemacht werden, um die Probleme zu vereinfachen, und kein einzelnes Modell ist für alle Situationen geeignet.

    Die Hauptunterschiede zweier Modelle sind:

Probleme Vorhersagemodelle Schätzmodelle
Datenreferenz Es werden historische Daten verwendet Es verwendet aktuelle Daten aus der Softwareentwicklung.
Bei Verwendung im Entwicklungszyklus Es wird normalerweise vor der Entwicklungs- oder Testphase erstellt. Es wird normalerweise in der späteren Phase des Software Development Life Cycle verwendet.
Zeitrahmen Es wird die Zuverlässigkeit in der Zukunft vorhersagen. Es wird die Zuverlässigkeit entweder für die gegenwärtige Zeit oder für die zukünftige Zeit vorhersagen.

Schritt 2) Messung

Die Softwarezuverlässigkeit kann nicht direkt gemessen werden, und daher werden andere verwandte Faktoren berücksichtigt, um die Softwarezuverlässigkeit abzuschätzen. Die derzeitigen Praktiken zur Messung der Softwarezuverlässigkeit sind in vier Kategorien unterteilt:

1. Produktmetriken: -

Produktmetriken sind die Kombination von 4 Arten von Metriken:

  • Softwaregröße : - Line of Code (LOC) ist ein intuitiver Ansatz zur Messung der Größe der Software. In dieser Metrik wird nur der Quellcode gezählt, und die Kommentare und anderen nicht ausführbaren Anweisungen werden nicht gezählt.
  • Funktionspunktmetrik : - Die Funktionspunktmetrik ist die Methode zur Messung der Funktionalität der Softwareentwicklung. Es berücksichtigt die Anzahl der Eingaben, Ausgaben, Masterdateien usw. Es misst die dem Benutzer bereitgestellte Funktionalität und ist unabhängig von der Programmiersprache.
  • Komplexität : - Sie steht in direktem Zusammenhang mit der Zuverlässigkeit der Software, daher ist die Darstellung der Komplexität wichtig. Die komplexitätsorientierte Metrik ist eine Methode zur Bestimmung der Komplexität der Steuerungsstruktur eines Programms, indem der Code in eine grafische Darstellung vereinfacht wird.
  • Testabdeckungsmetriken : - Auf diese Weise können Fehler und Zuverlässigkeit abgeschätzt werden, indem der vollständige Test von Softwareprodukten durchgeführt wird. Software-Zuverlässigkeit bedeutet, dass festgestellt werden muss, ob das System vollständig verifiziert und getestet wurde.

2. Projektmanagement-Metriken

  • Forscher haben erkannt, dass gutes Management zu besseren Produkten führen kann.
  • Ein gutes Management kann eine höhere Zuverlässigkeit erzielen, indem es einen besseren Entwicklungsprozess, Risikomanagementprozess, Konfigurationsmanagementprozess usw. verwendet.

3. Prozessmetriken

Die Qualität des Produkts steht in direktem Zusammenhang mit dem Prozess. Die Prozessmetriken können verwendet werden, um die Zuverlässigkeit und Qualität von Software zu schätzen, zu überwachen und zu verbessern.

4. Fehler- und Fehlermetriken

Fehler- und Fehlermetriken werden hauptsächlich verwendet, um zu überprüfen, ob das System vollständig fehlerfrei ist. Um dieses Ziel zu erreichen, werden sowohl die während des Testprozesses (dh vor der Lieferung) festgestellten Fehlertypen als auch die von den Benutzern nach der Lieferung gemeldeten Fehler erfasst, zusammengefasst und analysiert.

Die Zuverlässigkeit der Software wird anhand der mittleren Zeit zwischen Ausfällen (MTBF) gemessen . MTBF besteht aus

  • Mean to Failure (MTTF): Dies ist die Zeitdifferenz zwischen zwei aufeinander folgenden Fehlern
  • Mittlere Reparaturzeit (MTTR): Dies ist die Zeit, die zur Behebung des Fehlers erforderlich ist.
MTBF = MTTF + MTTR

Die Zuverlässigkeit für gute Software liegt zwischen 0 und 1.

Die Zuverlässigkeit erhöht sich, wenn Fehler oder Bugs aus dem Programm entfernt werden.

Schritt 3) Verbesserung

Die Verbesserung hängt vollständig von den Problemen ab, die in der Anwendung oder im System aufgetreten sind, oder von den Eigenschaften der Software. Je nach Komplexität des Softwaremoduls unterscheidet sich auch die Art der Verbesserung. Zwei Hauptbeschränkungen in Bezug auf Zeit und Budget, die den Aufwand begrenzen, werden in die Verbesserung der Softwarezuverlässigkeit gesteckt.

Beispielmethoden für Zuverlässigkeitstests

Beim Testen der Zuverlässigkeit geht es darum, eine Anwendung so auszuführen, dass Fehler erkannt und behoben werden, bevor das System bereitgestellt wird.

Es gibt hauptsächlich drei Ansätze für Zuverlässigkeitstests

  • Test-Retest-Zuverlässigkeit
  • Zuverlässigkeit paralleler Formulare
  • Entscheidungskonsistenz

Im Folgenden haben wir versucht, all dies anhand eines Beispiels zu erklären.

Test-Retest-Zuverlässigkeit

Um die Zuverlässigkeit von Testwiederholungen abzuschätzen, führt eine einzelne Gruppe von Prüflingen den Testprozess nur im Abstand von wenigen Tagen oder Wochen durch. Die Zeit sollte kurz genug sein, damit die Fähigkeiten der Prüflinge in diesem Bereich beurteilt werden können. Die Beziehung zwischen den Bewertungen des Prüflings aus zwei verschiedenen Verwaltungen wird durch statistische Korrelation geschätzt. Diese Art der Zuverlässigkeit zeigt, inwieweit ein Test in der Lage ist, über die Zeit hinweg stabile, konsistente Ergebnisse zu erzielen.

Zuverlässigkeit paralleler Formulare

Viele Prüfungen haben mehrere Formate von Fragebögen. Diese parallelen Prüfungsformen bieten Sicherheit. Die Zuverlässigkeit paralleler Formulare wird geschätzt, indem beide Prüfungsformen derselben Gruppe von Prüflingen zugewiesen werden. Die Ergebnisse der Prüflinge auf den beiden Testformen werden korreliert, um festzustellen, wie ähnlich die beiden Testformen funktionieren. Diese Zuverlässigkeitsschätzung ist ein Maß dafür, wie konsistent die Ergebnisse der Prüflinge in allen Testformularen erwartet werden können.

Entscheidungskonsistenz

Nach der Durchführung von Test-Retest-Zuverlässigkeit und paralleler Formularzuverlässigkeit erhalten wir das Ergebnis, dass die Prüflinge entweder bestanden oder nicht bestanden haben. Es ist die Zuverlässigkeit dieser Klassifizierungsentscheidung, die in Bezug auf die Zuverlässigkeit der Entscheidungskonsistenz geschätzt wird.

Bedeutung von Zuverlässigkeitstests

Eine gründliche Bewertung der Zuverlässigkeit ist erforderlich, um die Leistung von Softwareprodukten und -prozessen zu verbessern. Das Testen der Softwarezuverlässigkeit wird den Software-Managern und -Praktikern in hohem Maße helfen.

So überprüfen Sie die Zuverlässigkeit der Software durch Testen: -

  1. Eine große Anzahl von Testfällen sollte über einen längeren Zeitraum ausgeführt werden, um herauszufinden, wie lange die Software fehlerfrei ausgeführt wird.
  2. Die Verteilung der Testfälle sollte mit dem tatsächlichen oder geplanten Betriebsprofil der Software übereinstimmen. Je öfter eine Funktion der Software ausgeführt wird, desto mehr Testfälle sollten dieser Funktion oder Teilmenge zugeordnet werden.

Tools zum Testen der Zuverlässigkeit

Einige der Zuverlässigkeitstest-Tools, die für die Software-Zuverlässigkeit verwendet werden, sind:

1. WEIBULL ++: - Analyse der Zuverlässigkeitslebensdaten

2. RGA: - Zuverlässigkeitswachstumsanalyse

3. RCM: Zuverlässigkeitsorientierte Wartung

Zusammenfassung:

Zuverlässigkeitstests sind der wichtige Bestandteil eines Zuverlässigkeitsentwicklungsprogramms. Richtiger gesagt, es ist die Seele des Zuverlässigkeits-Engineering-Programms.

Darüber hinaus dienen Zuverlässigkeitstests hauptsächlich dazu, bestimmte Fehlermodi und andere Probleme beim Testen von Software aufzudecken.

In der Softwareentwicklung können Zuverlässigkeitstests in drei Segmente unterteilt werden:

  • Modellieren
  • Messung
  • Verbesserung

Faktoren, die die Zuverlässigkeit der Software beeinflussen

  • Die Anzahl der Fehler in der Software
  • Die Art und Weise, wie Benutzer das System bedienen