Client-seitige vs. Cloud-seitige Tests: Welche Option ist die richtige für Ihr Projekt?

In einer Welt, in der Entwicklungszyklen immer kürzer werden und Qualitätssicherung unerlässlich ist, müssen Organisationen entscheiden, ob sie Tests client-seitig oder cloud-seitig ausführen.

Sind Sie unsicher, ob Sie Ihre Tests client-seitig oder cloud-seitig ausführen sollten? Dieser Artikel erklärt die Unterschiede und hilft Ihnen, die passende Methode für Ihr Projekt zu wählen.

Einleitung

Die meisten Entwickler sind damit vertraut, Selenium- oder Appium-Tests auf ihrem lokalen Rechner (oder einem lokalen Appium-Server) auszuführen. Obwohl diese Funktionen anfangs essentiell sind, benötigen viele Organisationen Unterstützung bei der Skalierung dieses Ansatzes. Der Aufbau und die Wartung interner Gerätelabore und -infrastrukturen können schnell zum Albtraum werden.

In diesem Artikel erfahren Sie mehr über die Unterschiede zwischen clientseitigen und cloudseitigen Tests und wie Sie die richtige Option für Ihr Projekt auswählen können.

Was sind Client-seitige Tests?

Client-seitige Tests umfassen die Ausführung Ihrer Tests lokal (oft direkt auf einem realen Gerät oder Browser) statt auf einem Remote-Server. Ein mobiles Entwicklerteam, das an einer Fitness-App arbeitet, könnte beispielsweise sein iPhone anschließen und einen Xcode-Test auf dem Gerät ausführen. Auf diese Weise erhält es umgehend Feedback und kann Probleme durch schnelle Tests leicht diagnostizieren.

Zu den Vorteilen zählen:

  • Zugriff auf Geräteebene: Tester können spezifische Geräte mit spezifischen Konfigurationseinstellungen verwenden. Darüber hinaus haben sie Zugriff auf detaillierte Protokolle und andere Metriken, um Probleme zu diagnostizieren.
  • Schnelle Einrichtung: Tester können Tests aus ihrer lokalen Entwicklungsumgebung starten, ohne Tests in die Cloud hochladen oder zu planen. Dies erleichtert das schnelle Testen neuer Funktionen.
  • Sicherheit: Organisationen können Daten sichern, indem sie Testhardware offline halten oder hinter einer Firewall platzieren, während sie die vollständige Kontrolle über personenbezogene Daten (PII) oder andere Daten zur maximalen Einhaltung der Vorschriften behalten.
Trotz dieser Vorteile bringt das Client-seitige Testen einzigartige Herausforderungen mit sich:

  • Zeitaufwand und Testverzögerung: Client-seitige Tests können länger dauern, da sie viele Client-Umgebungen berücksichtigen müssen. Darüber hinaus können Tests in der Regel nicht parallel ausgeführt werden.
  • Langsamere Agile-Zyklen: Die zusätzliche Zeit für Tests kann zu Verzögerungen bei der Veröffentlichung von Software führen, was die agilen Entwicklungszyklen verlangsamt und die Wettbewerbsfähigkeit von Apps beeinträchtigen kann.
  • Geringerer Testumfang: Umfassende Testüberdeckung kann aufgrund der großen Vielfalt möglicher Konfigurationen und des begrenzten Zugangs zu Geräten schwierig oder unmöglich sein.
  • Höhere Kosten: Client-seitige Tests erfordern den Kauf und die Wartung eines Gerätelabors, was sowohl anfängliche als auch laufende Kapitalkosten sowie kostspielige Engineering-Stunden mit sich bringt.

Was sind Cloud-seitige Tests?

Cloud-seitige Tests werden ausgeführt, wenn Tests in der Cloud statt auf einem lokalen Clientgerät oder Browser ausgeführt werden. Ein mobiles App-Entwickler könnte beispielsweise Tests in Appium schreiben, diese in die Cloud hochladen und gleichzeitig auf Hunderten von Geräten ausführen. Dadurch können sie eine bessere Testüberdeckung in kürzester Zeit erreichen.

Cloud-seitige Tests bieten mehrere Vorteile:

  • Bessere Überdeckung: Cloud-Testplattformen verfügen über umfangreiche Gerätebibliotheken, die Ihnen ermöglichen, dieselbe App auf einer breiten Palette von Geräten, Betriebssystemen und Browsern zu testen, um die Kompatibilität zu gewährleisten.
  • Schnellere Tests: Cloud-Testplattformen ermöglichen es Ihnen, Hunderte oder Tausende von Tests parallel auszuführen, wodurch Ihr Testsystem schnell wird, ohne dass die Testüberdeckung oder -qualität beeinträchtigt werden.
  • Geringerer Aufwand: Sie müssen kein Gerätelabor aufbauen und warten. Dies spart anfängliche Kosten und befreit Engineering-Ressourcen, um sich auf Apps statt auf Testinfrastruktur zu konzentrieren.
Cloud-seitige Tests bringen jedoch auch eigene Herausforderungen mit sich:

  • Komplexität: Die Einrichtung, Konfiguration und Verwaltung von Cloud-Testumgebungen kann komplex sein und erfordert möglicherweise spezialisiertes Wissen und Fähigkeiten.
  • Sicherheit: Tests können sensible Daten beinhalten, und die Ausführung von Tests in der Cloud erfordert zusätzliche Vorsichtsmaßnahmen, um die Datensicherheit zu gewährleisten und die Vorschriften zum Datenschutz und zur Datensicherheit einzuhalten.
  • Kompatibilität: Cloud-Testplattformen bieten zwar eine breite Palette von Geräten, aber sie sind möglicherweise nicht die beste Wahl, wenn Sie ältere Geräte oder spezifische Umgebungen benötigen.
  • Netzwerke: Cloud-basierte Tests erfordern einen guten Netzwerkzugang, da lokale Maschinen und Cloud-Plattformen Testbefehle und -antworten austauschen müssen.
  • Kosten: Cloud-Testplattformen beinhalten häufig Abonnements, und Organisationen ohne Budget haben möglicherweise keinen Zugriff auf das Testniveau, das sie benötigen, um ihre Anforderungen zu erfüllen.

BitBar: Die Brücke zwischen Client- und Cloud-Tests

Client-seitige Tests sind am häufigsten, aber Cloud-Testplattformen werden zunehmend beliebter. Im Gegensatz zu vielen Cloud-Testplattformen bietet BitBar sowohl client- als auch cloudseitige Ausführung an, sodass Sie die beste Option für jedes Projekt auswählen können - oder eine Kombination von Testansätzen, um Fehler schneller zu finden.

BitBar ermöglicht es Ihnen, Ihre clientseitigen Appium-Tests schnell mit einem cURL in der Cloud auszuführen oder diese im Rahmen eines Continuous Integration (CI)-Prozesses auszuführen. Auf diese Weise können Sie sie wie bei der Ausführung von Tests auf Ihrem lokalen Rechner ausführen. Der einzige Unterschied besteht darin, dass sich der Appium-Server und das getestete Gerät in der Cloud befinden.

Alternativ können Sie Ihre vorhandenen Appium-Tests zu BitBar Cloud hochladen und dann über die API oder die Cloud-UI auswählen und die Testeausführung auf mehreren Geräten starten. Dadurch müssen Sie Ihre Appium-Tests nicht ändern, können Tests parallel auf verschiedenen Geräten ausführen und erhalten eine Benachrichtigung, wenn die Ausführung abgeschlossen ist.

Mehrere weitere Funktionen beheben viele Herausforderungen des Cloud-Testens:

  • Einfachheit: Die Erstellung automatisierter Tests in BitBar ist extrem einfach. Sie können über die Webschnittstelle auf 'Automatischen Test erstellen' klicken, einen Testausführung konfigurieren, Boilerplates für Testskripte generieren, gewünschte Testeinrichtungen und -umgebungen auswählen, mit einem Klick Tests ausführen und die Ergebnisse in hilfreichen Berichten anzeigen.
  • Sicherheit: Der BitBar SecureTunnel ermöglicht Ihnen die Ausführung von Tests auf Web-, Hybrid- und mobilen Anwendungen, die in internen Entwicklungsumgebungen gehostet werden, hinter einer Firewall oder lokaler Host. BitBar bietet auch sowohl öffentliche als auch private Cloud-Bereitstellungsoptionen an.
  • Skalierbarkeit: Mit BitBar können Sie Tests auf Hunderten von realen Geräten parallel ausführen und die Testdurchführungsdauer drastisch reduzieren. Sie haben außerdem Zugriff auf ein riesiges Gerätelabor mit den neuesten, beliebtesten iOS- und Android-Modellen, ohne die Kosten für den Aufbau und die Wartung eines internen Gerätelabores tragen zu müssen.

Fazit

Client-seitige Tests ermöglichen es Entwicklern, Tests von ihren lokalen Computern aus zu starten und neue Funktionen schnell zu testen - und BitBar macht es einfach, diese Arten von Tests mit Cloud-Geräten oder -Browsern auszuführen. In vielen Fällen sind jedoch cloudseitige Tests am besten geeignet, um ein robustes Testsystem zu entwickeln. Sie können eine bessere Testüberdeckung erreichen und sich auf die Entwicklung neuer Funktionen konzentrieren.