#3 ChatGPT, was ist eine Anforderung und wie teste ich sie?

Nachdem ich von ChatGPT gelernt habe, dass ein Ziel des Testens ist, sicherzustellen dass das Programm den Anforderungen entspricht, wollte ich das nun ein bisschen genauer wissen.

Was ist eine Anforderung an ein Softwaresystem?
Eine Anforderung an ein Softwaresystem ist eine Vorgabe oder Erwartung an die Funktionalität und Leistungsfähigkeit des Systems. Diese Anforderungen können von den Benutzern des Systems, von den Entwicklern des Systems oder von anderen Stakeholdern festgelegt werden. Die Anforderungen sind wichtig, da sie dazu beitragen, dass das Softwaresystem die Bedürfnisse und Erwartungen der Benutzer erfüllt und die Geschäftsanforderungen erfüllt. Die Anforderungen werden in der Regel in einem Anforderungsdokument festgehalten, das als Grundlage für die Entwicklung des Systems dient.

Kannst du mir ein Beispiel für eine Anforderung geben?
Ein Beispiel für eine Anforderung an ein Softwaresystem könnte sein: „Das System muss in der Lage sein, tägliche Berichte automatisch zu generieren und per E-Mail an bestimmte Benutzer zu senden.“ Diese Anforderung beschreibt eine spezifische Funktionalität, die das System erfüllen muss, und legt fest, dass das System in der Lage sein muss, tägliche Berichte zu generieren und per E-Mail zu versenden. Die Anforderung hilft dabei, die Entwickler des Systems bei der Gestaltung und Implementierung der entsprechenden Funktionalität zu leiten.

Wenn ich die Umsetzung dieser Anforderung testen möchte, was sollte ich dann testen?
Wenn Sie die Umsetzung der Anforderung testen möchten, sollten Sie testen, ob das System tatsächlich in der Lage ist, tägliche Berichte zu generieren und per E-Mail an die festgelegten Benutzer zu senden. Dazu können Sie beispielsweise Testdaten verwenden, um zu überprüfen, ob das System die Berichte wie erwartet generiert und versendet. Sie können auch überprüfen, ob die Berichte die erwarteten Informationen enthalten und ob sie ordnungsgemäß formatiert sind. Wichtig ist auch, dass Sie überprüfen, ob das System fehlerfrei funktioniert und ob es mögliche Fehlermeldungen oder -benachrichtigungen gibt. Auf diese Weise können Sie sicherstellen, dass die Anforderung korrekt umgesetzt wurde und dass das System die erwartete Funktionalität bereitstellt.

Kannst du mir ein Beispiel für einen Testfall zu dieser Anforderung geben?
Ein Beispiel für einen Testfall zu der oben genannten Anforderung könnte folgendermaßen lauten:

Testfall: Generierung und Versand von täglichen Berichten

Schritt 1: Stellen Sie sicher, dass das System gestartet ist und bereit ist, tägliche Berichte zu generieren.

Schritt 2: Erstellen Sie Testdaten, die für die Generierung von täglichen Berichten verwendet werden sollen.

Schritt 3: Initiieren Sie den Prozess zur Generierung von täglichen Berichten.

Schritt 4: Überprüfen Sie, ob das System die täglichen Berichte erfolgreich generiert hat.

Schritt 5: Überprüfen Sie, ob das System die täglichen Berichte ordnungsgemäß per E-Mail an die festgelegten Benutzer gesendet hat.

Schritt 6: Überprüfen Sie, ob die täglichen Berichte die erwarteten Informationen enthalten und ordnungsgemäß formatiert sind.

Schritt 7: Überprüfen Sie, ob das System fehlerfrei funktioniert und ob es mögliche Fehlermeldungen oder -benachrichtigungen gibt.

Dieser Testfall beschreibt die Schritte, die erforderlich sind, um die Umsetzung der Anforderung zu testen. Die einzelnen Schritte des Testfalls sollten klar und eindeutig formuliert sein, damit der Tester die Anweisungen leicht verstehen und befolgen kann. Der Testfall hilft dabei, sicherzustellen, dass das System die erwartete Funktionalität bereitstellt und dass es fehlerfrei funktioniert.

Wie viele Testfälle brauche ich denn, um zu prüfen ob das System fehlerfrei funktioniert?
Die Anzahl der Testfälle, die benötigt werden, um sicherzustellen, dass ein System fehlerfrei funktioniert, hängt von verschiedenen Faktoren ab. Dazu gehören die Komplexität und Größe des Systems, die Anzahl und Art der Anforderungen, die das System erfüllen muss, und die Anzahl und Art der Benutzer, die das System verwenden werden. In der Regel ist es jedoch unmöglich, alle möglichen Fehler und Probleme in einem System vollständig zu identifizieren und zu beheben, da dies aufgrund der Komplexität und Größe von Softwaresystemen in der Regel unmöglich ist. Deshalb ist es wichtig, einen ausreichenden Satz von Testfällen zu erstellen, um die wichtigsten Funktionalitäten und Anforderungen des Systems zu testen und die häufigsten Fehler und Probleme zu identifizieren und zu beheben. Es ist jedoch nicht möglich, eine genaue Anzahl von Testfällen anzugeben, die benötigt werden, um sicherzustellen, dass ein System fehlerfrei funktioniert.

Kannst du mir einen ausreichenden Satz von Testfällen erstellen?
Es tut mir leid, aber ich bin nicht in der Lage, einen ausreichenden Satz von Testfällen zu erstellen, da ich keine Informationen über das Softwaresystem habe, das Sie testen möchten. Um einen ausreichenden Satz von Testfällen zu erstellen, müsste ich die Anforderungen an das System kennen und Informationen über die Funktionalität und den geplanten Einsatz des Systems haben. Ohne diese Informationen kann ich Ihnen keine hilfreichen Testfälle bereitstellen.

Ich brauche nur die Testfälle für die Anforderung, die du mir als Beispiel gegeben hast.
In dem Fall können Sie den oben genannten Testfall verwenden, um die Umsetzung der Anforderung zu testen, nämlich: „Das System muss in der Lage sein, tägliche Berichte automatisch zu generieren und per E-Mail an bestimmte Benutzer zu senden.“ Dieser Testfall beschreibt die Schritte, die erforderlich sind, um die Generierung und den Versand von täglichen Berichten zu testen. Dazu gehört das Erstellen von Testdaten, das Initiieren des Prozesses zur Generierung von täglichen Berichten, das Überprüfen der generierten Berichte und des Versandvorgangs, das Überprüfen der Inhalte und des Formats der Berichte und das Überprüfen des Systems auf Fehler und mögliche Fehlermeldungen. Wenn Sie weitere Testfälle benötigen, sollten Sie weitere Anforderungen an das System identifizieren und entsprechende Testfälle erstellen, um die Umsetzung dieser Anforderungen zu testen.

Also genügt ein Testfall pro Anforderung?
Es ist möglich, dass ein einzelner Testfall ausreicht, um die Umsetzung einer Anforderung zu testen, insbesondere wenn die Anforderung eine einfache Funktionalität betrifft und keine besonders komplexen Abhängigkeiten oder Einschränkungen aufweist. In der Regel ist es jedoch sinnvoll, mehrere Testfälle pro Anforderung zu erstellen, um verschiedene Aspekte der Anforderung zu testen und mögliche Fehler und Probleme zu identifizieren. Dies hilft dabei, die Qualität und Zuverlässigkeit des Systems zu verbessern und sicherzustellen, dass es die Anforderungen der Benutzer und Stakeholder erfüllt. Deshalb ist es empfehlenswert, mehrere Testfälle pro Anforderung zu erstellen, um eine umfassende Testabdeckung zu erreichen.

OK, und die Anforderung in deinem Beispiel, ist die einfach oder komplex?
Die Anforderung in meinem Beispiel, nämlich „Das System muss in der Lage sein, tägliche Berichte automatisch zu generieren und per E-Mail an bestimmte Benutzer zu senden“, ist eine einfache Anforderung, die sich auf eine spezifische Funktionalität des Systems bezieht. Sie beschreibt, dass das System tägliche Berichte generieren und per E-Mail an bestimmte Benutzer senden muss, ohne weitere Einschränkungen oder Abhängigkeiten zu erwähnen. Eine solche Anforderung ist in der Regel einfach umzusetzen und zu testen, und es ist möglich, dass ein einzelner Testfall ausreicht, um die Umsetzung der Anforderung zu überprüfen. Wenn die Anforderung jedoch komplexere Funktionalitäten oder Einschränkungen enthält, ist es wahrscheinlicher, dass mehrere Testfälle erforderlich sind, um die Umsetzung der Anforderung vollständig zu testen.

Kannst du mir dann ein Beispiel für eine komplexe Anforderung geben bei der mehr als ein Testfall erforderlich wäre?
Ein Beispiel für eine komplexe Anforderung, bei der mehrere Testfälle erforderlich wären, könnte folgendermaßen lauten: „Das System muss in der Lage sein, tägliche Berichte automatisch zu generieren und per E-Mail an bestimmte Benutzer zu senden, wenn die Benutzer über ein gültiges Abonnement verfügen und sich innerhalb des Gültigkeitszeitraums befinden. Die Berichte müssen personalisiert sein und die vom Benutzer festgelegten Einstellungen und Vorlieben berücksichtigen. Wenn ein Benutzer kein gültiges Abonnement hat oder sich außerhalb des Gültigkeitszeitraums befindet, muss das System eine Fehlermeldung anzeigen.“ Diese Anforderung ist komplexer als die zuvor genannte Anforderung, da sie mehrere Bedingungen und Einschränkungen enthält, die vom System berücksichtigt werden müssen. Um sicherzustellen, dass das System die Anforderung korrekt erfüllt, wären mehrere Testfälle erforderlich, um die verschiedenen Bedingungen und Einschränkungen zu testen und mögliche Fehler und Probleme zu identifizieren. Zum Beispiel könnte ein Testfall überprüfen, ob das System die personalisierten Berichte korrekt generiert und versendet, wenn der Benutzer über ein gültiges Abonnement verfügt und sich innerhalb des Gültigkeitszeitraums befindet. Ein anderer Testfall könnte überprüfen, ob das System die Fehlermeldung korrekt anzeigt, wenn der Benutzer kein gültiges Abonnement hat oder sich außerhalb des Gültigkeitszeitraums befindet. Auf diese Weise können Sie sicherstellen, dass das System die komplexe Anforderung korrekt erfüllt.

Prima! Wann und wie oft sollte ich die Testfälle ausführen?
Wann und wie oft Sie die Testfälle ausführen, hängt von verschiedenen Faktoren ab, wie z.B. dem Entwicklungsprozess des Systems, dem Fortschritt der Entwicklung und dem Zeitplan für die Bereitstellung des Systems. In der Regel werden Testfälle während des Entwicklungsprozesses des Systems ausgeführt, um sicherzustellen, dass das System die Anforderungen erfüllt und keine Fehler oder Probleme aufweist. Dies kann beispielsweise nach jeder Änderung oder Erweiterung der Funktionalität des Systems geschehen, um sicherzustellen, dass das System weiterhin korrekt funktioniert. Auch vor der Bereitstellung des Systems werden in der Regel umfassende Tests durchgeführt, um sicherzustellen, dass das System bereit ist für den Einsatz. Die Häufigkeit der Tests hängt dabei vom Entwicklungsprozess und dem Fortschritt der Entwicklung ab und sollte in Abstimmung mit den Entwicklern und anderen Stakeholdern des Systems festgelegt werden.

Vielen Dank, du hast mir sehr geholfen.
Ich freue mich, dass ich Ihnen helfen konnte. Bitte zögern Sie nicht, mich erneut zu kontaktieren, wenn Sie weitere Fragen haben.

Originalgespräch mit ChatGPT vom 07.12.2022


Beitrag veröffentlicht

in

von

Schlagwörter: