Strategien zur Testerstellung (Teil 1)

In den vorhergehenden Artikeln über C16Unit wurde gezeigt, wie mit einfachen Mitteln automatisierbare Testfunktionen erstellt werden können. Im Folgenden möchte ich Strategien vorstellen, wie sich die Erstellung in bestehende Entwicklungsprozesse integrieren lässt.

Die beiden folgenden Fragen wurden bereits in den vergangenen Artikeln beantwortet:

Damit Modultests optimal in den eigenen Entwicklungsprozess integriert werden können, sollten außerdem die folgenden Fragen betrachtet werden:

  • Was kann effektiv mit Modultests getestet werden? (Testobjekte)
  • Wann sollten Tests erstellt werden? (Testzeitpunkt)
  • Wie können komplexere Funktionen getestet werden? (Testumgebung)

Testobjekte

Sehr gut testen lassen sich eigene Systemfunktionen, die eine gut definierte Schnittstelle haben. Im besten Fall werden der Funktion ein paar Werte als Parameter übergeben und die zurückgelieferten Rückgabewerte können auf Korrektheit überprüft werden. Dies trifft beispielsweise auf die Funktion „StringReplace“ aus dem letzten Artikel zu. Aber auch eine Exportfunktion, die bestimmte Daten in einem vorgegebenen Format exportiert (etwa als XML- oder JSON-Datei), eignet sich sehr gut für einen automatisierten Test.
Eine klar definierte Schnittstelle gibt es auch meist bei externen DLLs, die in CONZEPT 16 eingebunden werden können. Auch Abfragen über die Socket-Schnittstelle bzw. das HTTP-Objekt lassen sich relativ gut testen, wenn das Ergebnis in Textform verarbeitet werden kann. Eine Funktion, die die aktuellen Wechselkurse abfragt, lässt sich zum einen darauf testen, ob sie ohne Fehler abgearbeitet wird und zum anderen, ob die zurückgelieferten Kurse in einem zu erwartenden Bereich liegen.
Komplexe Selektionen, beispielsweise für Auswertungen, können ebenfalls automatisiert getestet werden. Es lässt sich dabei überprüfen, ob die selektierten Datensätze den Filterkriterien entsprechen, also keine Datensätze fehlen und keine falschen Datensätze enthalten sind.
Verarbeitungen, die von der Benutzeroberfläche abhängen, lassen sich meist nicht gut automatisiert testen. Es gibt allerdings Fälle, in denen die Erstellung von Modultests für die Oberfläche hilfreich ist. Sollen beispielsweise manche Einträge eines Kontextmenüs abhängig von den Rechten des Applikationsbenutzers ausgegraut werden, so kann zur Überprüfung ein Modultest programmiert werden. Dieser startet das gewünschte Fenster, öffnet prozedural das Kontextmenü und vergleicht die Eigenschaft wpDisabled der Menüeinträge mit den erwarteten Werten.
Generell sollte bei der Wahl der zu testenden Funktionen auch die zu erwartende Veränderlichkeit berücksichtigt werden: Eine Systemfunktion, die korrekt funktioniert und wahrscheinlich nie mehr angepasst wird, ist für einen Modultest weniger interessant wie eine DLL-Funktion von einem externen Lieferanten, die regelmäßig aktualisiert wird.

Ausblick

Im nächsten Teil der Serie soll das Thema “Testzeitpunkt” behandelt werden. Hierbei steht die Frage im Mittelpunkt, in welchem Schritt des Entwicklungsprozesses ein Einstieg in die Testerstellung sinnvoll ist.

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner