OOAD Test und Qualitätssicherung


Advertisements


Sobald ein Programmcode geschrieben wird, muss es getestet werden, zu erfassen und anschließend behandeln alle Fehler in ihm. Eine Reihe von Regelungen sind zu Testzwecken verwendet.

Ein weiterer wichtiger Aspekt ist die Fitness von Zweck eines Programms, das feststellt, ob das Programm dazu dient, die es zum Ziel hat für. Das Fitness definiert die Software-Qualität.

Testen Object-Oriented Systems

Testen ist eine kontinuierliche Aktivität während der Software-Entwicklung. In objektorientierten Systemen umfasst Tests drei Ebenen, nämlich Unit-Tests, Teilsystem Tests und Systemtests.

Unit Testen

In Unit-Tests, die einzelnen Klassen werden getestet. Es ist zu erkennen, ob die Klassenattribute sind implementiert nach Konstruktion und ob die Methoden und die Schnittstellen Fehlerfrei. Unit-Tests ist in der Verantwortung des Anwendungstechniker, die die Struktur implementiert

Subsystem Testen

Dies beinhaltet das Testen eines bestimmten Moduls oder eines Subsystems und liegt in der Verantwortung des Teilsystems führen. Es geht um die Prüfung der Verbände innerhalb des Subsystems sowie die Interaktion des Teilsystems mit der Außenseite. Subsystem-Tests können als Regressionstests für jeden neu veröffentlichten Version des Subsystems verwendet werden.

System Testen

Der Systemtest beinhaltet das Testen des Systems als Ganzes und liegt in der Verantwortung des Qualitätssicherungsteam. Das Team nutzt häufig Systemtests als Regressionstests beim Zusammenbau neue Releases.

Objektorientierte Testing Techniques

Grey Box Testen

Die verschiedenen Arten von Testfällen, die zum Testen objektorientierte Programme entwickelt werden können, werden graue Box Testfälle genannt. Einige der wichtigsten Arten von grauen Box-Tests sind:

  • State Model Based Testen :. Dies umfasst staatliche Deckung, Zustandsübergangsdeckung und Zustandsübergangspfadüberdeckung

  • Anwendungsfallbasiertes Testen :. Jedes Szenario in jedem Anwendungsfall geprüft

  • Klassendiagramm basiertes Testen :. Jede Klasse, abgeleitete Klasse, Assoziationen und Aggregationen getestet

  • Sequenzdiagramm basiertes Testen :. Die Methoden in den Nachrichten in den Sequenzdiagrammen werden geprüft

Techniken für Subsystem Testen

Die beiden Hauptansätze des Subsystems Tests sind:

  • Thread basiertes Testen :. Alle Klassen, die nötig sind, um einen einzigen Anwendungsfall in einem Subsystem zu realisieren sind integriert und getestet

  • Verwenden basiertes Testen : Die Schnittstellen und Dienste der Module auf jeder Ebene der Hierarchie werden getestet. Testing beginnt aus den einzelnen Klassen zu den kleinen Modulen, die von Klassen, allmählich zu größeren Modulen und schließlich alle wichtigen Subsystemen.

Kategorien der Systemprüfung

  • Alpha-Testen : Dies wird durch den Test-Team innerhalb der Organisation, die Software entwickelt geführt .

  • Beta Test : Dies erfolgt durch ausgewählte Gruppe von kooperierenden Kunden durchgeführt.

  • Abnahmeprüfung :. Dies erfolgt durch den Kunden vor Annahme der Leistungen durchgeführt

Software-Qualitätssicherung

Software Quality

Schulmeyer und McManus haben Software-Qualität als "die Gebrauchstauglichkeit des gesamten Software-Produkt" definiert. Eine gute Qualität Software tut genau, was es tun soll und ist in Bezug auf die Zufriedenheit der Anforderungsspezifikation, die von der Benutzer gelegt interpretiert.

Qualitätssicherung

Software Qualitätssicherung ist eine Methodik, die das Ausmaß, in dem ein Software-Produkt für den Einsatz bestimmt. Die Aktivitäten, die für die Bestimmung der Software-Qualität aufgenommen werden, sind:

  • Wirtschaftsprüfung
  • Entwicklung von Normen und Richtlinien
  • Erstellung von Berichten
  • Rezension des Qualitätssicherungssystems

Qualitätsfaktoren

  • Korrektheit :. Correctness bestimmt, ob die Software-Anforderungen in geeigneter Weise erfüllt

  • Usability :. Usability legt fest, ob die Software kann verwendet werden von verschiedenen Benutzerkategorien (Anfänger, nicht-technische und Experten)

  • Portabilität : Portabilität legt fest, ob die Software in verschiedenen Plattformen mit unterschiedlichen Hardware-Geräte arbeiten

  • Wartbarkeit : Wartbarkeit bestimmt die Leichtigkeit mit der Fehler korrigiert werden können und Module kann aktualisiert werden

  • Wiederverwendbarkeit : Wiederverwendbarkeit, ob die Module und Klassen können für die Entwicklung von anderen Software-Produkten wiederverwendet werden

Object-Oriented Metrics

Metriken können grob in drei Kategorien eingeteilt werden: Projektmetriken, Produkt Metriken und Prozessmetriken

Project Metrics

Projekt Metrics ermöglichen ein Software-Projekt-Manager, um den Status und die Leistung eines laufenden Projekts zu beurteilen. Die folgenden Kennzahlen sind angemessen für die objektorientierte Software-Projekte:

  • Anzahl der Szenario Script
  • Anzahl der Schlüsselklassen
  • Anzahl der Unterstützungsklassen
  • Anzahl der Teilsysteme

Product Metrics

Produkt Metriken messen die Eigenschaften des Software-Produkt, das entwickelt wurde. Die Produktmetriken für objektorientierte Systeme sind:

  • Methoden pro Klasse : Er bestimmt die Komplexität einer Klasse. Wenn alle Methoden einer Klasse sind davon ausgegangen, ebenso komplex zu sein, dann eine Klasse mit mehreren Verfahren ist komplexer und damit fehleranfällig.

  • Vererbungsstruktur : Systeme mit mehreren kleinen Erbschaft Gitter werden mehr gut strukturiert als Systeme mit einem einzigen großen Erbschaft Gitter. Als Faustregel gilt, sollte ein Vererbungsbaum nicht mehr als 7 (± 2) Anzahl der Ebenen und der Baum sollte ausgewogen sein.

  • Kopplung und Kohäsion : Module mit geringer Kopplung und hohe Kohäsion gelten als besser konzipiert werden, da sie größere Wiederverwendbarkeit und Wartbarkeit erlauben

  • Antwort für eine Klasse : Er misst die Effizienz der Methoden, die von den Instanzen der Klasse genannt werden

Prozessmetriken

Prozessmetriken helfen bei der Messung, wie ein Prozess durchführt. Sie sind über alle Projekte über lange Zeiträume gesammelt. Sie werden als Indikatoren für die langfristige Softwareprozessverbesserungen verwendet. Einige Prozessmetriken sind:

  • Anzahl der KLOC (Kilo Lines of Code)
  • Defect Entfernungseffizienz
  • Durchschnittliche Anzahl der Ausfälle erfasst während der Prüfung
  • Anzahl der versteckten Mängeln pro KLOC


Advertisements