Aufsetzen von Testsystemen

Dieses Kapitel gibt Ihnen Hinweise, wie Sie Ihre Testsysteme und Prozesse aufsetzen können, um die Grundlagen für eine stabile Testausführung legen zu können.

Einrichten von Prozessen und Services via Aufgabenplaner

Um Tests oder andere Prozesse regelmäßig auszuführen, werden auf Windows oft Services eingesetzt. Diese Services haben aber den Nachteil, dass sie nicht unter einer verwendbaren Benutzersession laufen. Demnach sollten Prozesse, wie ein Buildserverprozess oder Skripte, die den QF-Test Daemon starten, nicht als Service gestartet werden, weil es sonst zu Problemen bei der GUI Testausführung kommen kann. Technische Details hierzu finden Sie unter FAQ 14.

Wir empfehlen in der Regel statt Services eine Aufgabe über den Aufgabenplaner zu definieren. Diese können Sie direkt über die grafische Oberfläche des Aufgabenplaners einrichten. Die folgende Vorgehensweise funktioniert bei Windows 7, Windows 8, Windows 8.1 und Windows 10, wobei sich die Dialoge nur leicht unterscheiden:

  1. Starten Sie dazu zuerst den Aufgabenplaner über die Systemsteuerung -> Verwaltung -> Aufgabenplanung.
  2. Klicken Sie auf "Aufgabe erstellen" rechts oben.
  3. Auf dem "Allgemein" Reiter geben Sie einen Namen an, z.B. "QF-Test".
  4. Nun klicken Sie auf "Benutzer oder Gruppen ändern" und wählen den Benutzer aus, in dessen Session der Test ausgeführt werden soll. Wählen Sie hier unbedingt einen echten Benutzer und keinen Pseudo-User und nicht die Service-Session.
  5. Klicken Sie auf OK, um den Dialog zu schließen.
  6. Wählen Sie dann "Nur ausführen, wenn der Benutzer angemeldet ist".
  7. Wählen Sie _nicht_ "Mit höchsten Privilegien ausführen".
  8. Sie können nun noch die korrekte Windows-Version für die Aufgabe anwählen.
  9. Auf dem "Trigger" Reiter klicken Sie auf "Neu..." und definieren Sie den Trigger auf dem neuen Dialog.
  10. Schließen Sie danach den Dialog zur Zeitplanung.
  11. Auf dem "Aktionen" Tab klicken Sie nun "Neu..." und wählen Sie "Programm starten" und "Durchsuchen" Sie den Rechner nach dem .cmd oder .bat Script, welches entweder den Batch-Aufruf für QF-Test enthält oder den Prozess Ihres Buildsystems startet.
  12. Mit OK schließen Sie wieder den Dialog.
  13. Auf dem "Bedingungen" Reiter und "Einstellungen" Tab können Sie nun noch die gewünschten Einstellungen vornehmen.
  14. Danach können Sie die Konfiguration abschließen.

Wichtig ist nun, dass der User, in dessen Session dieser Prozess ausgeführt wird, zuvor eingeloggt wird. Entweder manuell oder automatisch (siehe Abschnitt 37.3). Empfehlenswert sind daher für GUI Tests immer virtuelle Maschinen. Hier muss nur auf dem Gastsystem der User eingeloggt sein, der Host kann gesperrt werden.

Fernzugriff auf Windowsrechner

Beim Fernzugriff auf Windowsrechner unterliegt die Verwendung von RDP einigen Einschränkungen bzw. erfordert eine explizite Konfiguration des Systems, um uneingeschränkt verwendet werden zu können. Dies liegt daran, dass die bei den Windows Desktop Varianten implementierte Variante des Zugriffs über RDP immer nur einen aktiven Anwender erlaubt. Wenn Sie sich also per RDP mit einem Testrechner verbinden, wird dessen (virtueller) Bildschirm gesperrt, während Sie auf diesem Rechner arbeiten können. Schließen Sie Ihr RDP-Fenster, bleibt jedoch der Bildschirm des Testrechners gesperrt. Und auf einem gesperrten Bildschirm kann man unter üblichen Umständen keine Benutzeroberfläche bedienen, also auch nicht testen.

Hinweis Ab Windows 10 bzw. Windows Server 2016 können Sie unter gewissen Voraussetzungen RDP verwenden, wenn Sie folgende Änderung in der Registry vornehmen. Unter HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client oder HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client fügen Sie bitte einen neuen DWORD namens RemoteDesktop_SuppressWhenMinimized ein. Dort setzen Sie den Wert 2. Das erlaubt dann das Minimieren des Fensters einer RDP-Verbindung, aber leider immer noch nicht das Schließen oder Trennen.

Natürlich können Sie auch Alternativen zu RDP verwenden. Hier können Sie sich z.B. der Möglichkeiten bedienen, die Ihnen der Server für die virtuellen Maschinen zur Verfügung stellt. Beim einem VMware Server bietet sich also der vSphere Client an, bei VirtualBox kann man sich mit RDP mit VirtualBox (nicht mit dem Windows RDP des Clients) verbinden. Letzterer hat dann selbstverständlich nicht die oben genannten Effekte mit der Bildschirm-Sperrung.

Automatische Anmeldung auf Windowsrechnern

Eine Möglichkeit sicherzustellen, dass ein Testrechner in den meisten Fällen eine aktive Session hat, ist, dass sich auf diesem Rechner bei jedem Start automatisch ein Testbenutzer anmeldet. Wie man ein Windowssystem entsprechend konfigurieren kann, ist in diesem Abschnitt beschrieben.

Hinweis Eine automatische Anmeldung an Windows ist immer ein Sicherheitsrisiko. Daher sollte selbstverständlich sichergestellt sein, dass die betroffenen Rechner außerhalb der Testumgebung nicht zugänglich sind.

Diese Anleitung ist zwar grundsätzlich gültig, wird aber üblicherweise auf virtuelle Rechner angewendet werden, auf die dann von Fall zu Fall remote zugegriffen werden wird. Was bei diesem Remote-Zugriff zu beachten ist, finden Sie im Abschnitt 37.2.

Die folgende Vorgehensweise funktioniert bei Windows 7, Windows 8, Windows 8.1 und Windows 10, wobei sich die Dialoge nur leicht unterscheiden:

  1. Starten Sie eine Eingabeaufforderung mit Administrator-Rechten.
  2. Geben Sie control userpasswords2 ein.
  3. Es öffnet sich daraufhin der Dialog "Benutzerkonten".
  4. Bitte entfernen Sie hier das Häkchen bei "Benutzer müssen Benutzernamen und Kennwort eingeben", nachdem Sie den Benutzer markiert haben, der sich später automatisch anmelden soll.
  5. In dem nun erscheinenden Dialog "Automatische Anmeldung" tragen Sie bitte das Benutzer-Kennwort zwei Mal ein.
  6. Nach dem anschließenden Klick auf die "OK" Schaltfläche ist die automatische Anmeldung fertig eingerichtet.

Es gibt auch noch andere Wege, dies zu erreichen. Zum Einen könnten Sie den entsprechenden Registry-Eintrag direkt ändern. Zum Anderen aber auch das Tool "Autologon" von Microsoft unter https://technet.microsoft.com/de-de/sysinternals/bb963905 herunter laden. Alle diese Varianten erreichen aber im Endeffekt exakt dasselbe (nämlich den entsprechenden Registry-Eintrag). Wir empfehlen jedoch die hier vorgestellte Variante, da kein Download nötig ist und Tippfehler beim Registry-Eintrag ausgeschlossen sind. Übrigens funktioniert die automatische Anmeldung nie bei Benutzern, die sich an einer Domäne anmelden. Aber das wäre bei Testrechnern ja auch ungeschickt, wird aber die meisten Administratoren sehr beruhigen.

Testausführung unter Unix

Auf Unixsystemen können virtuelle Displays mittels Tools wie VNC-Server einfach eingerichtet werden. Ein guter Windowmanager hierfür ist, z.B. xfce.