HTTP-Cookies werden hauptsächlich verwendet, um Benutzersitzungen zu verwalten, Benutzer-Personalisierungseinstellungen zu speichern und das Benutzerverhalten zu verfolgen. Damit sind sie eine wichtige Informationsquelle für Entwickler, Marketer und Webdesigner. Für die meisten User handelt es sich aber vor allem um eines: Nervige Einverständniserklärungen, die sie im Web sehen, wenn sie auf eine Seite gehen. Wir haben uns die kleinen Dateien genauer angeschaut und die besten Strategien zum Funktionstest von Cookie-Bannern für Tester*innen gesammelt.

Von Cookie-Bannern und Cookie-Funktionen

Cookie-Banner sollen vor allem eines gewährleisten: User sollen darüber aufgeklärt werden welche Informationen von Ihnen durch die 4-Kilobyte großen Dateien an den Server einer Homepage übermittelt werden. Seit der Datenschutzgrundverordnung in 2018 und einer klareren Rechtsprechung dieser Richtlinie in 2020 ist das Banner aber eine große, multioptionale Fläche geworden, die

a) User über die Funktionen und erhobenen Daten von Website-Cookies aufklären,
b) Usern die Möglichkeit zur An- und Abwahl von Cookies

geben soll. Gelöst wird dies oft durch:

  • Buttons für „alle akzeptieren“ (Vorsicht: Diese Lösung ist seit 2019 nicht mehr datenschutzkonform, wenn dies die einzige Option ist)
  • Buttons für „notwendige Cookies akzeptieren“
  • Buttons für „Eigene Auswahl“ oder „Alle Optionen ansehen“ oder ähnliches mit Tick-Boxes zum An- oder Abwählen, Schiebereglern, etc.

Ein Cookie-Banner ist im Prinzip ein Blocker mit Opt-In-Funktion. Für Developer sind diese Banner eine echte User-Interface-Herausforderung: Sie muss auf allen Browsern und Endgeräten reibungslos funktionieren, damit der Datenschutz gewährleistet ist. Im Kern geht es natürlich um die Datenerhebung im Hintergrund und das Speichern und Übermitteln von Userdaten. Welche Funktionen ein Cookie besitzt, seht Ihr beispielsweise im Entwickler-Modus Eures Browsers. Hierzu gehören:

  • Name
  • Value
  • Size
  • Domain: Hosts, die das Cookie empfangen dürfen.
  • Path: Die URL, die in der angeforderten URL vorhanden sein muss, damit der Cookie-Header gesendet werden kann.
  • Expiration / Age: Das Verfallsdatum oder Höchstalter des Cookies. Bei Session-Cookies ist dieser Wert immer Session. Außerdem gibt es temporäre Langzeitcookies oder permantente Cookies
  • HTTP: Wenn dieser Wert wahr ist, gibt dieses Feld an, dass das Cookie nur über HTTP verwendet werden soll und eine Änderung von JavaScript nicht erlaubt ist.
  • Secure: Wenn dieses Feld wahr ist, gibt es an, dass das Cookie nur über eine sichere HTTPS-Verbindung an den Server gesendet werden kann.
  • Priority: Enthält niedrig, mittel (Standard) oder hoch, wenn ein Cookie das abgeschwächte Cookie-Prioritätsattribut verwendet.
  • … und weitere

Strategien für Cookie-Banner-Testing im Desktop-Browser:

Um das Cookie-Banner und die Cookies zu testen, solltet Ihr folgende Strategie verfolgen:

  1. Deploy: Zuerst muss natürlich der Code für das Banner veröffentlicht werden. Bevor die Cookies oder das Blocken dieser getestet wird, lohnt es sich zunächst die Skalierung in den verschiedenen Browsern und verschiedenen Screen-Sizes zu testen.
  2. Delete: Funktioniert das Banner gut, dann löscht zuerst alle Cookies, öffnet die Seite, auf der Euer Cookie-Banner aktiv ist und überprüft, ob es auch vor dem Opt-In alle erforderlichen Cookies blockt. Seht Ihr im Entwicklerbereich keine Cookies aufpoppen, dann funktioniert das Banner schon einmal. Diese Strategie könnt ihr vielfach und auf mehreren Browsern nutzen, um zu schauen, ob auch nur die ausgewählten Cookies heruntergeladen werden.
  3. Disable: Eine andere Strategie ist das An- und Abschalten der Cookies über das Banner. Indem Ihr hier die Regler an- und ausschaltet (oder die Tick-Boxen ab- und anwählt) sollten sich in Eurer Entwickleransicht auch die entsprechenden Zustände der Cookies (Werte siehe oben) verändern, sichtbar oder unsichtbar werden.
  4. Session Cookies/temporäre Cookies testen: Nach Einwilligung in temporäre Cookies oder Session Cookies sollten diese natürlich beim nächsten Aufruf der Seite (oder nach Aufruf nach einem gewissen Zeitraum) nicht mehr aktiv sein. Bei Session Cookies ist das sehr einfach zu testen. Bei temporären Cookies gibt es verschiedene Wege den Zeitraum zu simulieren. Der einfachste ist es, die eigene Computeruhr nach vorne zu drehen.

Wie teste ich Cookies auf dem Mobile Device?

Auf Android und iOS ist alles versteckter, als man es vom Desktop kennt. Wie könnt Ihr also die Cookies von Mobile-Websites überprüfen? Erster Schritt ist es, das Android- oder iOS-Device per USB mit Eurem Computer zu verbinden. In der Entwickler-Ansicht von Chrome oder Firefox, könnt Ihr dann das Device sehen und habt dort die notwendigen Tabs mit den Informationen zum Testen. Eine sehr kurze, aber sehr gute Erklärung, wie Ihr Euer Android- oder iOS-Device mit dem Computer verbindet, findet Ihr in diesem Forenbeitrag.

Weitere Ressourcen zum Thema Cookie-Testing

Wie viele Themen im Bereich der Entwicklung und des Software-Testings sind auch Cookie-Testing und Cookie-Banner-Testing umfangreiche Themen – besonders, wenn es darum geht, die einzelnen Parameter zu überprüfen. Für Wissbegierige haben wir noch weiterführende Ressourcen zusammengetragen:

Für alle weiteren Fragen rund um Testing und Cookies auf Mobile und Desktop könnt Ihr Euch auch gerne bei uns melden.