• Werbung

    Neu und gebrauchte Software z.b. Microsoft Office 2013 günstig kaufen.
  • Automatisierbarkeit von Softwaretests 3

    4.1. verschiedene Tests
    Es gibt viele verschiedene Arten von automatisierten Tests, die jeweils Vor- und Nachteile haben. Unit bzw. Component-Tests verifizieren die korrekte Funktion einzelner Klassen oder ganzen Komponenten. So kann der Rückgabewert einzelner Funktionen per Unit-Test überprüft werden. Eine Funktion, die addieren soll, kann beispielsweise mit den Werten 3 und 5 aufgerufen werden und das Ergebnis auf 8 geprüft werden. So kann die Funktion auf ihre korrekte Arbeitsweise geprüft werden. Hierbei ist zu beachten, dass der Test nur so aussagekräftig ist, wie er entwickelt wurde. Im Beispiel der Addieren-Funktion reicht es gegebenenfalls nicht aus, nur 3 und 5 als Parameter zu übergeben um die Funktion zu überprüfen. Es muss vielmehr auch eine negative Zahl oder eine Gleitkommazahl übergeben werden. Ein Unit-Test kann so die Funktionen einzeln prüfen, jedoch beispielsweise nicht die Lesbarkeit der Benutzeroberfläche. Hierfür können andere Tests, z.B. ein Makrorekorder oder Selenium eingesetzt werden. Eine solches Testprogramm für grafische Oberflächen dagegen, kann kaum die internen Funktionen der Software ausreichend testen, sondern lediglich das Ergebnis, das auch der Endanwender sieht. Daher ist es empfehlenswert, mehrere Arten von automatischen Tests zu kombinieren um ein möglichst aussagekräftiges Ergebnis zu erreichen.

    4.2. Messbarkeit von Tests
    lassen es zu, den Testnutzen zu ermitteln. Es kann festgestellt werden, wie gründlich eine Software getestet wird und wie hoch die Fehlerfindungsrate ist. Dadurch wird das testen Kalkulierbar und bietet eine Grundlage, den hohen Aufwand für die Tests zu rechtfertigen. Die Fehlerfindungsrate eines Tests folgt aus dem Vergleich der Fehler, die im Test gefunden werden und der Fehler, die im produktiven Betrieb gemeldet werden. Testware umfasst hierbei die Testpläne, Testkonzepte, Testszenarien, Testfälle und Testprotokolle. Es kommt auf die Beurteilung der Testbarkeit, Bewertung von Komplexität und Qualität der Testfälle, Schätzung der Testkosten, Ermittlung der Testüberdeckung und Beurteilung der Testeffektivität an. Die Bewertung der Komplexität und Qualität der Testfälle wird aus Messdaten der Testfallanalyse gezogen.

    4.2.1. Testkosten
    Die Testkosten werden basierend auf der Quantität, Qualität und Komplexität der Software geschätzt. Die Testkosten werden insbesondere durch die Komplexität der Software getrieben. Je Modularer eine Software aufgebaut ist, desto testbarer ist sie. Die Anzahl der benötigten Testfälle richtet sich nach der Anzahl der Pfade durch den Code. Die Schnittstellenkomplexität, welche durch die Anzahl der Parameter pro Funktionsaufruf definiert wird, ist ebenfalls ein wichtiges Kriterium für Testkosten.

    4.2.2. Testüberdeckung
    Um zu erkennen, wie gründlich eine Software getestet wird, wird die Testbarkeit verwendet, sowie Messwerte aus der statischen Analyse des Quellcodes und Entwurfsdokumentation. Die Überdeckungsmessungen der Spezifikation, der Entwurfsarchitektur und der Programme werden für die Testüberdeckung herangezogen. Das Vertrauen des Tests steigt mit der Testüberdeckung. Je detaillierter eine Software getestet wird, umso stabiler ist sie. Die Testüberdeckung ergibt sich aus dem Anteil der getesteten Fälle relativ zur Anzahl der potentiell zu testenden Fälle.

    nächster Teil

    Dieser Beitrag wurde unter Sonstiges abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.