Tests

Zu testen ist - wie immer - die Installation, das Update und die Deinstallation. Weiter ist das Verhalten der Erweiterung im Betrieb zu testen, abhängig von den Einstellungen.

Zur Erweiterung gehören:

  • Die Bibliothek BwLib
  • Das Plugin System - BwLibLoad
  • Die Komponente BwDocCheck
  • Das Modul BwDocCheck
  • Das Plugin System - BwDocCheck

Die Bibliothek und das zugehörige Plugin können auch von anderen Erweiterungen verwendet werden. Sie kann bei der Installation also bereits vorhanden sein und darf bei der Deinstallation nur ebenfalls deinstalliert werden, wenn keine andere installierte Erweiterung diese Bibliothek verwendet. Letzteres kann überprüft werden, wenn man bei in den Erweiterungen (#__extensions) in den custom_data nach sieht. Dort muss jede Erweiterung, die diese Bibliothek verwendet, einen Kenner haben.

Nötige Tests

Installation

  • Wird die Bibliothek sauber installiert
    • Die Bibliothek kann bereits vorhanden sein, dann darf ein Update nur passieren, wenn es eine neuere Version ist
  • Wird das Plugin der Bibliothek sauber installiert
    • Das Plugin kann bereits vorhanden sein, dann darf ein Update nur passieren, wenn es eine neuere Version ist
  • Wird die Komponente sauber installiert
  • Wird der Kenner für die Nutzung von BwLib gesetzt
  • Wird das Modul installiert
    • Neuer Name
    • Aktiviert
  • Wird das Plugin sauber installiert und aktiviert
  • Wird die Benutzergruppe angelegt
  • Wird der Viewlevel angelegt
  • Wird die Benutzergruppe dem Viewlevel zugeordnet

Update

  • Wird die Bibliothek aktualisiert (falls nötig)
  • Wird das Plugin der Bibliothek aktualisiert (falls nötig)
  • Wird die Komponente aktualisiert
  • Wird der Kenner für die Nutzung von BwLib aktualisiert
  • Wird das Modul aktualisiert
  • Wird das Plugin aktualisiert

ToDo: Behandlung von Benutzergruppe und Viewlevel überlegen

Deinstallation

  • Wird das Modul gelöscht
  • Wird das Plugin gelöscht
  • Wird die Komponente gelöscht
  • Wird die Bibliothek und deren Plugin gelöscht, wenn dies die letzte Komponente war, die BwLib verwendet

ToDo: Behandlung von Benutzergruppe und Viewlevel überlegen

Funktion

Die Funktion von BwDocCheck wird vor allem durch das Modul sichtbar. Hier werden die wichtigsten Einstellungen vorgenommen, dass das Modul die Verbindung zu DocCheck herstellen kann. Das wären

  • die DocCheck ID
  • die Sprache
  • die Größe
  • die Farbe

Mit diesen Angaben wird das Modul gebaut, damit DocCheck erreichbar ist. Damit muss man nicht mit dem Quellcode hantieren, den DocCheck liefert.

Weitere Einstellungen sind dann noch

  • Die Benutzergruppe, die für die temporären Benutzer verwendet werden soll
  • Die Seite der Webseite, auf die der Besucher nach erfolgreicher Anmeldung weitergeleitet werden soll

Schließlich wird noch der Link eingeblendet, der bei DocCheck als Weiterleitungsadresse angegeben werden muss.

Als Tests lassen sich daraus schon ableiten, dass manche Einstellungen nur die Optik betreffen, andere tatsächlich auf die Funktion abzielen.

Schließlich müssen auch noch verschiedene Benutzer bei DocCheck angelegt werden, damit die Kommunikation zwischen BwDocCheck und DocCheck getestet werden kann:

  • Benutzer, der zugreifen darf, also in einer der bei DocCheck zugelassenen Gruppen auftaucht
  • Benutzer, der bei DocCheck in einer Gruppe ist, die nicht zugreifen darf.

Für die eigentlichen Tests von BwDocCheck ist nur der erste Benutzer von Belang, mit dem anderen wird getestet, ob die Daten auch richtig bei DocCheck ankommen. Schließlich kann man auch noch Zugangsdaten eingeben, die keinem Konto bei DocCheck entsprechen.

Die ID sorgt dafür, dass der richtige Empfänger von DocCheck adressiert wird. Hier ist auch das Szenario denkbar, dass man mehrere Logins bei DocCheck anlegt, also auch mehrere IDs hat. Dafür könnte dann ein zweites Modul angelegt werden… (Nicht durchdacht, denn dann müsste der Code, der von DocCheck für das Modul geliefert wird, auch etwas anpassbar sein. So hat man dasselbe Modul, vielleicht in einer anderen Farbe und/oder Größe, aber sonst unterscheiden sie sich nicht. Denkbar: Eine Überschrift für Homöopathen, eine für Ärzte,…)

Die Funktionstests sind relativ einfach:

  • Feststellen, ob das Modul angezeigt wird
  • Feststellen, ob Sprache, Farbe und Größe stimmen, also Iteration über die jeweiligen Einstellmöglichkeiten
  • Feststellen, ob der richtige Benutzer auch auf der Seite heraus kommt, die eingestellt ist
  • Feststellen, ob der falsche Benutzer eine Meldung von DocCheck erhält
  • Feststellen, ob falsche Zugangsdaten bei DocCheck zu einer Meldung führen
  • Feststellen, ob der temporäre Benutzer den richtigen Präfix im Namen hat
    • voreingestellt
    • geändert
  • Feststellen, ob der temporäre Benutzer in die richtige Benutzergruppe aufgenommen wurde.
    • voreingestellte Gruppe
    • selbst ausgewählte Gruppe
    • ausgewählte Gruppe später geändert
  • Feststellen, ob der temporäre Benutzer gelöscht wird, wenn er sich abmeldet
  • Feststellen, ob der temporäre Benutzer nach der eingestellten Zeit gelöscht wird (Dieser Test ist ziemlich blöd, denn Wartezeiten von Tests von einem Tag oder mehr sind sicherlich nicht testbar), wenn er sich nicht sauber abgemeldet hat

Weitere Tests, die nicht so dringend sind, eher Gimmicks

  • Feststellen, ob ein anderer Benutzer, der versehentlich in diese Gruppe aufgenommen worden ist, nicht gelöscht wird (Einstellung Benutzer-Präfix in der Komponente)
    • nur in dieser Gruppe
    • zusätzlich in diese Gruppe