Was ist Testen in der Software?

Stellen Sie sich vor, Sie erstellen eines Tages eine Website mit einem Benutzerportal. Sie haben die Anmelde- und Registrierungsseite erstellt. Endlich ist die Website fertig und Sie sind gespannt darauf, sie einzurichten und zu sehen, wie sie funktioniert. Aber zuerst klicken Sie auf eine Reihe von Links und testen die Website, um sicherzustellen, dass sie funktioniert.

Schließlich stellen Sie die Website bereit. Zu Ihrem Erstaunen beginnen die Benutzer, Ihre Website zu nutzen. Sie sind begeistert. Doch dann erhalten Sie eine E-Mail von einem Ihrer Benutzer, dass eine der Funktionen nicht richtig funktioniert. Sie bemühen sich, die Funktion zu reparieren. Sie testen sie aus und stellen fest, dass Sie einen dummen Fehler gemacht haben. Aber haben Sie Ihre Website nicht getestet, bevor Sie sie bereitgestellt haben?

Das Problem bestand darin, dass der Benutzer irgendwie eine Eingabe machen konnte, die Sie nicht erwartet hatten, und das hat die Funktion zerstört. Sie haben eine Textzeichenfolge erwartet, aber stattdessen eine Zahl erhalten.

Später erhalten Sie eine weitere E-Mail, dass etwas nicht funktioniert. Was als aufregende Reise begann, hat sich schnell in einen Alptraum der Fehlerbehebung verwandelt. Was hätten Sie anders machen können, damit so etwas nicht passiert?

Betreten Sie die Welt der Tests für Ihre Software.

Die Idee hinter dem Testen

In unserer Kurzgeschichte hatten wir reale Benutzer, die etwas in das System eingegeben haben, was nicht erwartet wurde. Dieses Phänomen ist nicht nur für diese fiktive Geschichte reserviert, sondern kommt auch im wirklichen Leben vor, und zwar viel häufiger, als man erwarten würde.

Testen ist etwas, das Ihnen in diesem Fall helfen kann. Es gibt jedoch zwei Hauptrichtungen des Testens: manuelles und automatisches Testen.

Manuelles Testen

Sie können das Endprodukt selbst testen, aber als Entwickler des Produkts sind Sie in den meisten Fällen voreingenommen. Sie wissen, welche Art von Eingaben in ein Suchfeld eingegeben werden müssen. Sie wissen, was die einzelnen Schaltflächen bewirken. Sie sind derjenige, der das Produkt entwickelt hat.

Benutzer in der realen Welt verfügen nicht über dieses Hintergrundwissen und nähern sich Ihrem Endprodukt daher eher aus seltsamen Blickwinkeln. Sie sind sich vielleicht nicht sicher, welche Art von Eingabe in das Suchfeld eingegeben werden soll. Möglicherweise wissen sie nicht einmal, was die einzelnen Schaltflächen bewirken. Wenn Sie nicht eine Vielzahl von Beispielen getestet haben, kann es sein, dass Ihre Software scheinbar keine Fehler hat, aber dennoch welche aufweist.

Wir haben noch nicht über böswillige Benutzer gesprochen. Das sind Ihre Hacker. Sie möchten keine Website einrichten, die Daten über Benutzer enthält, und sich einem Angriff wie SQL-Injection aussetzen. Hacker kommen mit der Absicht, Ihr Produkt zu zerstören. Indem Sie Ihren Code mit einer großen Anzahl von Beispielen testen, schützen Sie sich auch vor Hackern.

Manuelles Testen kann sehr viel Zeit in Anspruch nehmen, um alle Ihre Funktionen zu testen. Manuelles Testen ist jedoch vor allem dann sinnvoll, wenn Sie Ihre kreative Seite testen wollen. Zum Beispiel beim Testen der Benutzerfreundlichkeit. Sie lassen außer Acht, ob Ihre Funktionen korrekt funktionieren oder nicht, und erstellen einfach einen Prototyp der Benutzeroberfläche Ihrer Software.

Sie können dann potenzielle Benutzer einladen, mit dem Prototyp herumzuspielen. Sie können ihnen einen kurzen Überblick über die Funktionen Ihrer Software geben. Danach geben Sie ihnen eine Reihe von Aufgaben, die sie erledigen sollen. Sie können Daten darüber sammeln, welche Dinge schwer zu finden waren, welche Aufgaben schwierig waren usw. Auf dieser Grundlage können Sie Ihre Benutzeroberfläche ändern, um sie intuitiver zu gestalten.

Fazit ist, dass manuelle Tests im Allgemeinen besser geeignet sind, wenn es um kreative Dinge wie Benutzeroberflächen geht. Computer sind nicht die Besten, wenn es um kreative Dinge geht, und genau da können manuelle Tests helfen. Aber lassen Sie uns über automatische Tests sprechen, die Ihnen helfen können, weniger kreative Dinge wie die Funktionalität zu testen.