Die folgenden Bemerkungen zur Durchführung effektiver Vorproduktionstests habe ich für meine Kolumne "VOS Corner" im Newsletter der Stratus User Group im Dezember 1996 geschrieben. Sie sind auch heute, fast 13 Jahre später, noch relevant.
Wenn ich unseren Kunden einen Vorschlag machen könnte (nur eine Bitte!), dann wäre es, dass Sie neue Versionen Ihrer Anwendung einem Stresstest unterziehen, bevor Sie sie in Produktion geben. Ich hatte in letzter Zeit mit einer Reihe von Situationen zu tun, in denen der Kunde eine Anwendung bereitgestellt hat, die alle Funktionstests bestanden hat, aber kurz nach der Inbetriebnahme in der Produktion versagte, weil sie die Produktionslast nicht bewältigen konnte.
Wie Sie sicher wissen, kann Software unvorhersehbar und schwierig zu testen sein. Zu wissen, dass ein Programm mit 10 Transaktionen pro Sekunde funktioniert, ist nicht dasselbe wie zu wissen, dass es mit 100 Transaktionen pro Sekunde funktioniert. Zu wissen, dass es mit 10 virtuellen Schaltkreisen funktioniert, ist nicht dasselbe wie zu wissen, dass es mit 1000 virtuellen Schaltkreisen funktioniert. In allen Fällen, die ich erlebt habe, funktionierte das Programm im Labor oder in der Testumgebung einwandfrei, versagte aber in der Produktion aufgrund eines Softwarefehlers oder einer Kapazitätsgrenze kläglich. Wenn ich mich einmische, lag die Grenze in der Regel in der VOS und nicht in der Anwendung, aber egal, wo sie liegt, die Auswirkungen auf Ihre Kunden sind dieselben. Wenn Sie wissen wollen, ob Ihre Anwendung in der Produktion funktionieren wird, müssen Sie sie so testen, als ob sie in der Produktion wäre.
Im Laufe der Jahre habe ich viele Ausreden gehört, warum man seine Software nicht bis zu denselben Grenzen wie in der Produktion testen kann. Ich glaube keine von ihnen. Man kann den Produktionsdatenstrom und die Dateien für den Test aufzeichnen. Man kann synthetische Testgeneratoren aufstellen, um gute und schlechte Eingaben zu simulieren. Sie können den geräteabhängigen Schnittstellencode umgehen, um Hochgeschwindigkeitsdatenströme an Server zu leiten. Es gibt viele Tricks, mit denen Sie 90 % Ihrer Anwendung zum Laufen bringen können, auch wenn Sie sie im Testmodus nicht zu 100 % zum Laufen bringen können. Hören Sie auf, das Problem als Simulation der Produktion zu betrachten, sondern sehen Sie es einfach als Aufgabe an, so viel wie möglich von Ihrem Code so schnell wie möglich auszuführen. Achten Sie darauf, dass Ihr System zu 100 % ausgelastet ist, denn dort treten die "interessanten" Probleme am ehesten auf.
Wenn Sie Ihre Anwendungssoftware bis an ihre Grenzen ausreizen, wird auch die VOS belastet. Sie werden Kapazitätsprobleme in Ihrem Labor finden, nicht in der Produktion. Sie werden wissen, wo und wo Ihre Kapazitätsgrenzen liegen. Sie verlassen die Testphase mit einem viel höheren Maß an Vertrauen, dass Ihre Anwendungsbereitstellung erfolgreich sein wird. Sie werden Ihren Chef und Ihre Kunden zufrieden stellen. Sind das nicht gute Gründe?