Was ist SauceLabs
SauceLabs ist eines der größten und beliebtesten Anbieter der cloud-basierten Cross-Browser Testing Lösungen mit Hauptsitz in San Francisco. Das Unternehmen wurde im Jahr 2008 von Jason Huggins, einem der Kern-Contributoren von Selenium Projekt, mitgegründet. Der Dienst bietet eine Web Plattform zum Testen von Web- und mobilen Applikationen auf verschiedenen Geräten, Betriebssystemen und Browsern. Daraus ergeben sich unzählige Kombinationen für die Tests an, die man üblicherweise nicht im Unternehmenskontext vorrätig hat bzw. aufgrund von enormen Wartungsaufwand gar nicht pflegen kann. Den Aufwand eine Vielzahl von passenden Testumgebungen mit allen relevanten Betriebssystemversionen, Browsern und Browser-Version Kombinationen bereitzustellen, übernimmt SauceLabs als Cloud-Dienstleister. Inzwischen hat der Anbieter weltweit mehr als 3.200 Kunden, die insgesamt mehr als 2,8 Mlrd. Testfälle über die Plattform ausgeführt haben [Stand: Jahr 2019].
SauceLabs kann in nur wenigen Sekunden eine fertige Testumgebung gemäß den spezifizierten Eigenschaften (sogenannten Capabilities) bereitstellen. Die Nutzer des Dienstes profitieren jedoch nicht nur von dieser Flexibilität, sondern auch von der elastischen Skalierbarkeit des Services. Sollte man für die zeitkritischen Testaktivitäten kurzfristig mehr Testumgebungen benötigen, kann man diese jederzeit zusätzlich anfordern und hochfahren.
Testdurchführung mit SauceLabs
Für die Durchführung der Tests bietet der Dienst 2 Modi an:
- Manuelles Testen (sog. „Live Testing“)
- Automatisierten Testen
Beim manuellen Testen kann der QA Engineer auf der spezifizierten Umgebung eigenhändig die Testaktionen durchführen.
Beim automatisierten Testen schreibt man eine Testautomatisierungslösung, die sich mit der SauceLabs Infrastruktur über den bereitgestellten API-Schlüssel des Nutzers verbindet, die benötigte Testumgebung anfordert und schließlich die Automatisierungskommandos an diese Umgebung sendet. Zur Automatisierung der Tests für Web Applikationen erlaubt SauceLabs die Verwendung von Selenium Web Driver API, die mit minimalem Aufwand die Kommandos an eine entfernte SauceLabs Infrastruktur senden kann. Die Automatisierung der Tests der mobilen Applikationen erfolgt auf echten nicht emulierten Smartphones und Tablets bekanntester Hersteller, die SauceLabs intern bereitstellt und verwaltet. Die automatisierte Ansteuerung erfolgt über das Appium Framework – das Schwesterprojekt von Selenium – das sich auf die Tests der mobilen Applikationen spezialisiert hat.
Um die Anbindung von SauceLabs in eigene Selenium oder Appium Tests zu erleichtern und zu beschleunigen, bietet der Dienst auf dessen Webseite einen praktischen Platform Configurator an, über den die neuen Benutzer schnell die gewünschte Testumgebung zusammenklicken können und darauf einen fertiges Programm-Fragment in gewünschter Programmiersprache zur Integration in eigenen Code erhalten.
SauceLabs bieten darüberhinaus gute Intergationsmöglichkeiten der cloud-basierten Cross-Browser Testautomatisierung in die gängigen Continuous Integration/Continuous Delivery Plattformen, wie Jenkins, Bamboo oder AzureDevops, und trägt damit zu ihrer Vision von Continuous Testing in modrenen agilen projekten mit agressiven Release-Zyklen bei.
Einschränkungen
Der Dienst ist primär für den Test der aus der Cloud öffentlich zugänglichen Web Applikationen und mobilen Apps gedacht. Dennoch kann man mit der Hilfe einer speziellen VPN Applikation, Sauce Connect Proxy, auch auf die firmeninterne Ressourcen und Umgebungen durch einen VPN Tunnel zugreifen. Vor der Nutzung dieser Option sollten die QA Engineers aber unbedingt die eigene Sicherheitsabteilung konsultieren, um sicherzugehen, dass dies den möglichen strikten Sicherheitsrichtlinien des Unternehmens nicht wiederspricht.
Lizensierung
SauceLabs bietet ein etwas komplexeres Lizensierungsmodel als vergleichbare Dienste wie BrowserStack an. Man lizensiert einerseits die Anzahl der Floating Benutzer, die die maximale Anzahl der parallelen (manuellen oder automatisierten) Tests, die zeitgleich durchgeführt werden können, bestimmen. Anderseits wird durch die regulären Lizenzen auch die Anzahl der inkludierten Automatisierungsminuten für die Durchführung der Web – und Mobile-Tests limitiert. Bei Überschreitung des Inklusive-Volumens muss über die Kredikarte ein zusätzliches Kontingent erworben werden. Im Rahmen der deutlich teueren Enterprise Lizenzen können jedoch auch eine unlimitierte Minutenanzahl und die Bezahlung auf Rechnung vereinbart werden.
Verwandte Begriffe