M 2.82 Entwicklung eines Testplans für Standardsoftware

Verantwortlich für Initiierung: Behörden-/Unternehmensleitung

Verantwortlich für Umsetzung: Leiter Fachabteilung, Leiter IT

Die im nachfolgenden beschriebene Vorgehensweise beim Testen orientiert sich an den Standardwerken DIN ISO/IEC 12119 "Software-Erzeugnisse, Qualitätsanforderungen und Prüfbestimmungen", Vorgehensmodell für die Planung und Durchführung von IT-Vorhaben (VModell) und dem Handbuch für die Bewertung der Sicherheit von Systemen der Informationstechnik (ITSEM), die als weiterführende Literatur empfohlen werden.

Vor der Entscheidung für ein geeignetes Standardsoftwareprodukt müssen die nach der Vorauswahl (siehe M 2.81 Vorauswahl eines geeigneten Standardsoftwareproduktes ) in die engere Wahl gezogenen Produkte als Testlizenz beschafft und ausreichend getestet werden. War es aufgrund zeitlicher Beschränkungen, institutionsinterner Beschaffungsempfehlungen (Einhaltung von Hausstandards) oder anderen Gründen nicht möglich, daß Produkt vor der Beschaffung zu testen, müssen auf jeden Fall Tests vor der endgültigen Inbetriebnahme durchgeführt werden. Die Ergebnisse dieser Tests liefern dann die Grundlage für die Installationsvorschriften und anderer Freigabe-Bedingungen.

Obwohl bereits bei der Vorauswahl eine Überprüfung der notwendigen Anforderungen an das Produkt aufgrund der Herstelleraussagen stattgefunden hat, kann man nicht davon ausgehen, daß diese Anforderungen auch im gewünschten Maße erfüllt werden. Vielmehr muß nun durch systematisches Testen die Eignung und Zuverlässigkeit des Produktes auf Grundlage des Anforderungskataloges überprüft werden, um das geeignetste Produkt auszuwählen.

Dabei bietet es sich an, das Testen in vier Bereiche einzuteilen:

Das prinzipielle Vorgehen beim Testen von Standardsoftware zeigt die folgende Abbildung.

Anhand der bei der Vorauswahl erstellten Hitliste sind diejenigen Produkte auszuwählen, die getestet werden sollen. Anschließend wird ein Testplan entwickelt.

Dieser umfaßt folgende Inhalte:

Die einzelnen genannten Punkte werden nachfolgend erläutert.

Festlegung der Testinhalte anhand des Anforderungskataloges

Aus dem Anforderungskatalog werden diejenigen Anforderungen ausgewählt, die überprüft werden sollen. Dies sollten insbesondere diejenigen Eigenschaften sein, die eine große Bedeutung oder einen hohen Vertrauensanspruch besitzen.

Überprüfung von Referenzen

Bei der Vorauswahl (siehe M 2.81 Vorauswahl eines geeigneten Standardsoftwareproduktes ) wurden bereits erste Referenzen über die zu testenden Produkte eingeholt. Diese können ersatzweise herangezogen werden, wenn man der jeweiligen externen Testgruppe ausreichendes Vertrauen entgegenbringt.

Wurde für das Produkt ein Zertifikat nach den Kriterien für die Bewertung der Sicherheit von Systemen der Informationstechnik (ITSEC) oder den Common Criteria (CC) vergeben, ist anhand des Zertifizierungsreportes zu prüfen, inwieweit die dort dokumentierten Testergebnisse berücksichtigt werden können.

Gegebenenfalls können dann eigene Test unterbleiben oder in geringerem Umfang stattfinden. Die freiwerdenden Kapazitäten können auf andere Testinhalte verteilt werden.

Festlegung des Gesamtprüfaufwandes

Um den Aufwand für die Tests nicht ausufern zu lassen, sollte vorab der Gesamtprüfaufwand festgelegt werden, z. B. in Personentagen oder durch Fristsetzung.

Zeitplanung einschließlich Prüfaufwand je Testinhalt

Beim Testen mehrerer Produkte empfiehlt es sich, diese vergleichend zu testen. Das heißt, alle Produkte werden von einer Testgruppe bzgl. einer Anforderung des Anforderungskataloges getestet. Der Prüfaufwand ist damit für jede Anforderung des Anforderungskataloges festzulegen und wird damit automatisch gleichmäßig auf alle zu testenden Produkte verteilt. Der Prüfaufwand ergibt sich dabei aus Prüftiefe und Komplexität der Eigenschaft. Die Prüftiefe der jeweiligen Eigenschaften sollte sich zum einen an ihrem Vertrauensanspruch, das heißt an dem Vertrauen orientieren, das der Korrektheit dieser Eigenschaft entgegengebracht werden muß. Zum anderen muß aber auch die Fehleranfälligkeit und Nutzungshäufigkeit der jeweiligen Eigenschaft berücksichtigt werden. Ausführlichere Informationen sind der Norm ISO 12119 zu entnehmen.

Hinweise:

Abschließend ist der Gesamtprüfaufwand entsprechend dem relativen Prüfaufwand der jeweiligen Eigenschaft auf die einzelnen Testabschnitte zu verteilen.

Festlegung der Testverantwortlichen

Für jeden Testinhalt ist nun festzulegen, welche Aufgaben durchzuführen sind und wer dafür verantwortlich ist. Insbesondere ist zu beachten, daß bei einigen Testinhalten der Personal- bzw. Betriebsrat, der Datenschutzbeauftragte und der IT-Sicherheitsbeauftragte zu beteiligen ist.

Testumgebung

Testen ist immer destruktiv, da vorsätzlich nach Fehlern gesucht wird. Aus diesem Grund muß das Testen immer in einer isolierten Testumgebung erfolgen.

Die Testumgebung sollte nach Möglichkeit ein genaues funktionales Abbild der Produktionsumgebung sein. In der Regel ist es jedoch nicht wirtschaftlich, die Produktionsumgebung in vollem Umfang nachzubilden.

Damit für die ausgewählten Produkte gleiche Randbedingungen gegeben sind, sollte eine Referenztestumgebung definiert werden. Für einzelne Tests kann diese weiter angepaßt oder eingeschränkt werden.

Die für die einzelnen Prüfungen benötigten Ressourcen (Betriebsmittel, IT-Infrastruktur) sind zu spezifizieren. Es sollte im Detail beschrieben werden, wann und in welchem Umfang sie verfügbar sein müssen.

Wichtig ist, daß alle Betriebssysteme in allen im Produktionsbetrieb eingesetzten Versionen (Releases) in der Testumgebung zur Verfügung stehen. Die Intention ist dabei die Ermittlung von systembedingten Schwachstellen von Komponenten der Produktionsumgebung im Zusammenspiel mit dem zu installierenden Standardsoftwareprodukt. In Ausnahmefällen, wenn sich Aspekte verallgemeinern lassen, kann auf einzelne Komponenten verzichtet werden.

Folgende weitere Aspekte sind unbedingt zu beachten und helfen, eine sichere und geeignete Testumgebung aufzubauen:

Nach Beendigung aller geplanten Tests ist zu entscheiden, ob die Testumgebung abgebaut werden soll. Ggf. sind weitere Tests auch nach der Beschaffung eines Produktes notwendig, so daß es eventuell wirtschaftlich ist, die Testumgebung vorzuhalten. Vor dem Abbau der Testumgebung sind die Testdaten zu löschen, falls sie nicht mehr benötigt werden (z. B. für eine spätere Installation). Druckerzeugnisse sind ordnungsgemäß zu entsorgen, Programme sind zu deinstallieren. Die Testlizenzen der nicht ausgewählten Produkte sind zurückzugeben.

Inhalt der Testdokumentation

Im Testplan ist vorzugeben, wie ausführlich die Testdokumentation zu erstellen ist. Hierbei sind die Aspekte der Nachvollziehbarkeit, Reproduzierbarkeit und Vollständigkeit zu berücksichtigen.

Die Testdokumentation muß Testpläne, -ziele, -verfahren und -ergebnisse enthalten und die Übereinstimmung zwischen den Tests und den spezifizierten Anforderungen beschreiben. Sämtliche Testaktivitäten sowie die getroffene Testbewertung (inklusive Entscheidungsargumentation) sind schriftlich festzuhalten. Dazu gehören im einzelnen

Der Testgruppe sollte eine Möglichkeit zur übersichtlichen Dokumentation und Protokollierung der Testaktivitäten und

Wird beim Testen ein automatisiertes Werkzeug verwendet, muß die Testdokumentation ausreichende Informationen über dieses Werkzeug und die Art seines Einsatzes enthalten, damit die Entscheidung nachvollzogen werden kann.

Festlegung von Entscheidungskriterien

Bei der Bewertung der jeweiligen Testinhalte kann beispielsweise folgende dreistufige Skala verwendet werden:

Sind Fehler aufgetaucht, die nicht reproduziert werden können, hat der Prüfer zu entscheiden, welcher Kategorie (Note) der Fehler zuzuordnen ist.

Sind Fehler aufgetreten, die während des Tests behoben werden können, ist nach deren Behebung erneut im erforderlichen Umfang zu testen.

Beispiel:

Das Beispiel des Kompressionsprogramms aus M 2.81 Vorauswahl eines geeigneten Standardsoftwareproduktes wird hier fortgesetzt, um eine Möglichkeit zu beschreiben, den Prüfaufwand für jede Anforderung des Anforderungskataloges festzulegen. Hier wird der Prüfaufwand aus Prüftiefe und Komplexität abgeleitet. Der Vertrauensanspruch kennzeichnet den Bedarf an Vertrauen in die Eigenschaft.

Die Nutzungshäufigkeit, Fehleranfälligkeit und Komplexität einer Eigenschaft werden wie folgt bewertet:

Ein besonderer Fall ist gegeben, wenn eine unveränderbare Eigenschaft des Produktes betrachtet werden soll, die unabhängig von der Fehleranfälligkeit oder Nutzungshäufigkeit ist. Für diesen Fall wird der Wert 0 vergeben. Für das Beispiel des Kompressionsprogramms ergibt sich folgende Tabelle:

In diesem Beispiel wurde der Prüfaufwand folgendermaßen definiert:

Prüfaufwand = Komplexität * Prüftiefe,

dabei ist

Prüftiefe = Vertrauensanspruch + Fehleranfälligkeit + Nutzungshäufigkeit

(Die Prozentzahlen für den Prüfaufwand in der letzten Spalte der Tabelle ergeben sich aus den für den Prüfaufwand errechneten Werten bei Division durch die Summe dieser Werte.)

Ein Beispiel für eine andere Methode, den Prüfaufwand zu berechnen und die Prüfergebnisse zu bewerten, findet sich in der Norm ISO 12119. Hier wird folgende Gewichtung der einzelnen Anforderungen vorgenommen: Bewertung jedes Prüfinhaltes = (Komplexität + Fehleranfälligkeit) * (Benutzungshäufigkeit + Wichtigkeit) .

Letztendlich muß der Testverantwortliche eine dem Produkt und der Institution adäquate Bewertungsmethode individuell festlegen.

Nach Erstellung des Testplans wird für jeden im Testplan spezifizierten Testinhalt ein Tester oder eine Testgruppe mit der Durchführung des ihr zugeteilten Tests beauftragt. Der Testplan ist der Testgruppe zu übergeben und die für die Einzeltests vorgegebenen Zeiten sind mitzuteilen.

Ergänzende Kontrollfragen:


© Copyright by Bundesamt für Sicherheit in der Informationstechnik 2000.