Bevor Sie jemanden mit der Prüfung beauftragen, sollten Sie sicherstellen, dass Sie die Voraussetzungen für die Prüfung erfüllen. Sie benötigen mindestens:
Eine Spezifikation: Eine maßgebliche Quelle, die angibt, was die Anwendung tun soll. Das kann ein Experte sein, der alle Fragen dazu beantworten kann, was genau die Anwendung tun soll, aber je mehr davon niedergeschrieben und je formaler sie definiert ist, desto besser.
Zeit: Testen braucht Zeit. Sie können eine Anwendung nicht 30 Minuten vor der Inbetriebnahme an den Tester übergeben und erwarten, dass die Ergebnisse stimmen. Wenn Sie nach dem Wasserfallprinzip entwickeln, wird das Testen am Ende sehr viel Zeit in Anspruch nehmen. Bei vielen anderen Entwicklungsmodellen läuft das Testen parallel zur Entwicklung, was viel Zeit spart, aber unabhängig von dem von Ihnen verwendeten Modell erfordert das Testen mehr Zeit als das Nichttesten.
Wenn man diese beiden Dinge nicht hat, ist die Qualitätssicherung nur ein Wunschtraum.
Wenn Sie diese Voraussetzungen erfüllen und jemanden zum Testen ausbilden wollen, finden Sie hier meinen Crashkurs zum Thema Testen.
Im Grunde genommen bedeutet das Testen einer Anwendung, dass Sie versuchen, zwei Dinge sicherzustellen:
-
Das Programm tut, was es tun soll.
-
Das Programm tut nicht, was es nicht tun soll.
Das ist die Grundeinstellung, die ich vertrete. Darauf aufbauend gehe ich die Dinge handlungsorientiert an und versuche, sie zu überprüfen:
- Eine erwartete Handlung mit erwarteten Vorbedingungen führt zu einer erwarteten Wirkung.
- Eine erwartete Aktion mit unerwarteten Vorbedingungen hat keine Wirkung oder wird angemessen behandelt.
- Eine unerwartete Aktion hat keine Auswirkungen oder wird angemessen behandelt.
- Es treten keine unerwarteten Wirkungen auf.
Punkt 1 stammt direkt aus der Spezifikation: Sie stellen sicher, dass das Programm tut, was es tun soll.
Bei den Punkten 2 und 3 kommt die Kunst des Testens ins Spiel. Welche unerwarteten Aktionen und Vorbedingungen kann ich durchführen? Ich könnte versuchen, ein falsches Passwort einzugeben. Ich könnte versuchen, die URL einer vermeintlich sicheren Seite direkt einzugeben. Ich könnte versuchen, seltsame Unicode-Zeichen in ein Textfeld einzufügen. Ich könnte versuchen, SQL- oder Javascript-Code in ein Textfeld einzugeben.
Punkt 4 ist das unendliche Niemandsland der Prüfung, der Teil, der eine vollständige Prüfung unmöglich macht. (2 und 3 sind ebenfalls unendlich, aber nicht so deprimierend.) Das bedeutet nicht, dass Sie es ignorieren. Sie halten immer ein Auge auf alles Ungewöhnliche. Manchmal hat man auch eine Eingebung und überlegt, wie man einen unerwarteten Effekt hervorrufen kann: "Was passiert, wenn ich mich am dritten Dienstag des Monats zwischen 23:59:59PM und 12:00:00AM einlogge? Oh, sieh mal, ich bin jetzt Administrator." Technisches Wissen und ein Blick in die Blackbox helfen dabei, sich solche Szenarien auszudenken.
Es gäbe noch viel mehr über die Prüfung zu sagen, aber das ist das Mindeste, was mir einfällt: Die technischen Anforderungen und die Herangehensweise an das Problem.