29.08.2008, 08:19 Uhr
Software & System Quality Conference
Software wird aufgrund von konkreten Anforderungen hergestellt. Die Disziplin des Softwaretestens orientiert sich daher standardmässig an diesen Anforderungen als Vorgabe für die Qualitätsprüfung des Endproduktes. Mehr darüber erfahren Sie auch an der Software & System Quality Conference, 2. bis 3. September 2008 in Zürich.
Thomas Prosser, Management Consultant ist verantwortlich für die von SQS Software Quality Systems (Schweiz) AG organisierten Trainings.
Vor einigen Jahren bereits hat sich das International Software Testing Qualifications Board (ISTQB) zum Ziel gesetzt, einen einheitlichen Standard für Softwaretests zu definieren. Inhalt des ISTQB-Standards ist denn auch das Testen sowohl des eigentlichen Produktes, als auch der Anforderungen und Dokumente, die dieses Produkt spezifizieren.
Betrachtet man den Softwareentwicklungsprozess, so fällt auf, dass die Testphase eines Projektes früher üblicherweise am Ende des Herstellungsprozesses angesiedelt wurde. Dies hatte zur Folge, dass die Grundlagen, auf denen die Software erstellt wurde, nur implizit einer Qualitätsüberprüfung unterzogen wurde; ist die Software fehlerhaft, so kann die Ursache in einer fehlerhaft formulierten Anforderung, oder auch in fehlerhaftem Code liegen und eine Analyse der Fehlerursache ist meist schwierig und kostenintensiv. «Aus diesem Grunde entstanden Entwicklungsmodelle wie das V-Modell», erklärt Thomas Prosser, Management Consultant bei SQS Software Quality Systems.
Betrachtet man den Softwareentwicklungsprozess, so fällt auf, dass die Testphase eines Projektes früher üblicherweise am Ende des Herstellungsprozesses angesiedelt wurde. Dies hatte zur Folge, dass die Grundlagen, auf denen die Software erstellt wurde, nur implizit einer Qualitätsüberprüfung unterzogen wurde; ist die Software fehlerhaft, so kann die Ursache in einer fehlerhaft formulierten Anforderung, oder auch in fehlerhaftem Code liegen und eine Analyse der Fehlerursache ist meist schwierig und kostenintensiv. «Aus diesem Grunde entstanden Entwicklungsmodelle wie das V-Modell», erklärt Thomas Prosser, Management Consultant bei SQS Software Quality Systems.
«Das Testen nimmt einerseits eine verifizierende, andererseits eine validierende Funktion ein.» Das heisst, während der Spezifikationsphase werden Dokumente und andere Artefakte, die zur Entwicklung von Software benötigt werden, auf ihre Gültigkeit kontinuierlich verifiziert. Dabei werden die Anforderungen auf Richtigkeit bezüglich etwa der rechtlichen Vorgaben von Fachpersonen überprüft. Process Engineers beurteilen die Schlüssigkeit eines zu implementierenden Prozesses, Datenbankmodelle werden auf Ihre Effizienz und Code auf seine Übersichtlichkeit geprüft. Die Kernfrage, die sich hier stellt ist, ob das System richtig gebaut wird. Dazu Prosser: «Der ISTQB-Standard versucht hier einen Überblick über die gängigen und erprobten Techniken zu geben. Ziel ist das Erlernen der einschlägigen ISO-und IEEE-Standards über Qualitätsmerkmale und Reviewtechniken. Gemeinsam ist dieser Art von Testtechniken, dass sie allesamt statisch sind. Das heisst, dass kein Programm ausgeführt werden muss, um bereits erste Aussagen über die zu erwartende Qualität des Endproduktes zu erhalten.» Diese ersten Schritte des Testens bieten denn auch eine sehr kostengünstige Methode, Software zu prüfen, bevor sie überhaupt programmiert wird. Der ISTQB-Standard vereinheitlicht hier die Vorgehensweise und zeigt auf, auf welcher Stufe welche Techniken besonders geeignet sind.
Software & System Quality Conference
«In der eigentlichen, klassischen Testphase wird die Software dann gegen die Anforderungen auf den verschiedenen Stufen des V-Modells validiert», erklärt Prosser weiter. Hier stellt sich die Frage, ob das richtige System gebaut wird. «ISTQB bietet hier eine Auswahl von bewährten Testfallermittlungsverfahren, wie etwa der Äquivalenzklassenmethode, die sich besonders eignen, Testfälle zu erstellen und dabei gleichzeitig sicherzustellen, dass die zu testenden Merkmale effizient und ohne Redundanzen getestet werden. Die Durchführung der Testfälle ist dann meist das dynamische Testen, also das Ausführen und überprüfen von Programmen, was man landläufig als Softwaretest versteht», erläutert Prosser.
Neben dem V-Modell existieren heute allerdings eine Vielzahl von Vorgehensweisen, die der ISTQB-Standard gegenwärtig nur am Rande behandelt. Mit seinem gegenwärtigen Schwerpunkt auf der Ausführungsseite lassen sich allerdings auch Vorgehensweisen wie XP oder RUP gut implementieren. Der Standard erklärt die Techniken bewusst am Vorbild des V-Modells, ohne sich jedoch auf dieses zu beschränken. Die Philosophie, das Testteam früh einzubeziehen und alles, was in einem Softwareentwicklungsprojekt anfällt, einem Test zu unterziehen kann unabhängig zum Entwicklungsvorgehen umgesetzt werden und ist mithin die Grundherausforderung für erfolgreiches Testmanagement.
Informationen und Anmeldung unter: www.sqc-ch-conference.ch
Fredy Haag