Mobile Cloud-Testplattformen

Und jetzt ist die Zeit gekommen, in der unsere Testanforderungen auf dem Desktop des Testers überfüllt sind. Die Seele fragte nach den Wolken. Nicht wirklich. Nicht wirklich.



Unsere Ziele und Vorgaben


(Eiliger Leser, Sie können mit dem nächsten Abschnitt fortfahren)


Wir entwickeln eine Finanzanwendung für den ausländischen Markt, die in verschiedenen Formaten verfügbar ist: für Desktop-Browser (Website und Erweiterung für Google Chrome), für mobile Browser sowie eine Hybridanwendung für Telefone. Aufgrund der Besonderheiten der Anwendung legen wir besonderes Augenmerk auf das Testen der Anwendung auf verschiedenen Konfigurationen und Geräten. Für uns ist der stabile und sichere Betrieb der Anwendung sowohl auf den Desktop-Browsern unserer Kunden als auch auf deren Geräten wichtig.


Der Grund für die Suche nach einer Cloud-basierten Farm von Geräten zum Testen für uns war eine Änderung des Arbeitsformats von Büro zu vollständig entfernt und verteilt (zwischen Städten und Ländern). Das heißt, wenn wir früher zum Testen verschiedene Geräte in einem Bündel (buchstäblich) zusammenbauen und gleichzeitig die nächste Baugruppe in einer Tabelle manuell testen könnten, ist dies jetzt unmöglich geworden. Darüber hinaus automatisieren wir mit zunehmender Funktionalität die Regressionssätze wichtiger Tests, um die manuelle Arbeit zu reduzieren. Dies bedeutet, dass wir nach der Montage Tests für die gewünschte Konfiguration und das gewünschte Gerät aufrufen müssen. Dies ist besser, sobald die Montage zur Bereitstellung rollt.


In diesem Fall besteht die einfachste und naheliegendste Lösung darin, Emulatoren für Android und Simulatoren für iOS-Geräte in unserer DevOps-Pipeline zu verwenden. Die Implementierung auf dem Arbeitscomputer des Entwicklers ist jedoch relativ einfach und wird in der Cloud zu einer schwierigen und teuren Aufgabe. Damit derselbe Android-Emulator schnell funktioniert, ist ein x86-Server mit HAXVM-Unterstützung erforderlich, und für einen iOS-Simulator ist nur ein MacOS-Gerät mit xcode erforderlich. Aber leider bleibt die Frage nach der Lösung dieses Problems bei der Lücke zwischen dem Verhalten der Software auf Emulatoren und realen Geräten. Zum Beispiel entdecken wir bei jeder zweiten Veröffentlichung seltsame Fehler auf Samsung-Geräten, die nicht auf Emulatoren abgespielt werden können. Nun, und natürlich seltene exotische "chinesische" "Freude" mit einzigartigen und Fehlern, die ich auch in der Entwicklungsphase gerne fangen würde.


Infolgedessen hatten wir Verständnis für die Notwendigkeit, eine Cloud-Farm mobiler Geräte zu verwenden, auf der wir unsere Tests schnell ausführen und bei Bedarf manuell debuggen konnten. Und auf die unser gesamtes Team von überall auf der Welt zugreifen kann (wir lieben es, auch auf Reisen zu arbeiten).



Unsere Tests sind in Python 3.7 geschrieben (dies wird später wichtig sein), da wir als Stapel tox + pytest + Selenium + Appium verwenden, also eine kleine Reihe nützlicher Python-Bibliotheken. Wir werden auf jeden Fall Computer unter Windows und MacOS mit Edge-, Firefox-, Chrome-, Safari-Browsern sowie Android- und iOS-Geräten mit Browsern und einer Anwendung testen. Wir haben nicht viele Tests für jedes Gerät (weniger als tausend), aber wenn Sie in einem einzelnen Thread auf den Geräten testen, dauert ein vollständiger Satz einige Stunden. Daher ist das Kriterium für die Auswahl eines Dienstes für uns:


  • API-Tests (Selen / Appium)
  • IOS, Android-Geräte
  • Unterstützt das Testen mobiler Browser
  • Unterstützung für das Herunterladen und Testen von Anwendungen
  • Referenzgerät (GooglePixel (Android 9) und iPhone X (iOS 12+))
  • Manuelles Debuggen
  • Protokollierung (plus Screenshots, Aufzeichnung eines Videolaufs)
  • Gerätepark und Verfügbarkeit
  • Durchschnittliche Testvorlaufzeit
  • Preis

Wünschenswert, aber nicht notwendig:


  • Python-Unterstützung auf Service-Ebene (was auch immer das bedeutet)
  • Unterstützung für Desktop-Geräte \ Browser

Marktforschungsergebnisse


Eine Woche lang habe ich im Internet gesurft und ein Dutzend verschiedene Dienste ausprobiert. Die meisten von ihnen bieten Freizeit für Testmöglichkeiten. Die Ergebnisse meiner Forschung, je mehr Schlussfolgerungen subjektiv sind. Ihre Meinung und Ergebnisse können von meinen abweichen.


Auf Habré habe ich einen Artikel für 2017 gefunden , der sich dem gleichen Thema widmet, aber seitdem sind neue Dienste erschienen, und unsere Aufgabe ist etwas strenger. So passen beispielsweise „leckere“ Dienste wie das Samsung Remote Test Lab, das Firebase Test Lab und die Xamarin Test Cloud leider nicht zu uns.


Aus dem Spiel


Samsung Remote Test Lab



Link


Der Dienst bietet die Möglichkeit, kostenlos zu versuchen, mit verschiedenen Samsung-Geräten zu arbeiten, einschließlich der neuesten, einschließlich Fernsehgeräten oder Smartwatches auf Tizen (die Beschränkung beträgt maximal 10 Stunden pro Tag, pro Tag vergibt der Dienst 10 Credits kostenlos, was 2,5 Stunden pro Tag entspricht Die Mindestsitzung beträgt eine halbe Stunde (2 Credits). Dies ist sehr gut zum Debuggen und Auffinden der Hauptursachen für Fehler auf bestimmten Geräten. Der Dienst bietet sogar Zugriff auf Remote-Debugging (Remote-Debug-Bridge, Zugriff auf die Konsole und Systemprotokolle). Leider bietet der Dienst keinen API-Zugriff auf Geräte. Die einzige Möglichkeit zum „Automatisieren“ besteht darin, Benutzeraktionen aufzuzeichnen und sie dann in Ihrem lokalen Automatisierungstool wiederzugeben.


Firebase-Testlabor



Link


Mit einem Dienst von Google können Sie Ihre Anwendung auf Geräten mit Android und iOS kostenlos testen (nicht ganz). Es gibt jedoch eine Einschränkung: Der Dienst erfordert entweder die Verwendung nativer Automatisierungstools (UIAtomator2 und Espresso für Android und XCTest für iOS) oder die Verwendung von automatischen Spinnen (Crawler) für Android - Robo Test und Game Loop Test. Das heißt, die Verwendung von UIAutomator und Selen funktioniert leider nicht. Kostenlos - das kostenlose Paket ist auf 10 Tests auf Emulatoren und fünf auf realen Geräten pro Tag beschränkt. Wenn Sie mehr benötigen, müssen Sie für jede weitere Stunde weitere 1 USD bzw. 5 USD zahlen. Im Allgemeinen wäre dies für unsere Aufgaben eine gute Wahl, wenn wir Tests von Grund auf neu schreiben würden, aber ich habe keine Lust, mehrere hundert Tests zu überarbeiten - es ist einfach teuer. Und es stellt sich heraus, dass wir bei Tests zwischen Desktop-Versionen und Mobilgeräten sehr unterschiedlich sein müssen, was den Support erheblich erschweren würde.


Visual Studio App Center



Link


Ehemalige Xamarin Test Cloud. Dieser Dienst unterstützt schließlich Appium und ermöglicht das Testen auf Tausenden verschiedener Geräte. Wie bei anderen Microsoft-Produkten ist es jedoch fest mit dem nativen Stack verbunden. Um diesen Service nutzen zu können, benötigen Sie sowohl VisualStudio als auch die Anforderung, das Projekt und die Tests ausschließlich in Java zu schreiben. Wenn Sie jedoch plötzlich einen Java-Stack (mit MS VS) haben, beträgt der Preis 99 US-Dollar pro Geräteschlitz und Monat, was relativ liberal ist.


Dienstleistungen zur Auswahl


AWS-Gerätefarm



Link


Vielleicht die derzeit leistungsstärkste Farm zum Testen auf virtuellen und realen Geräten (mehr als 2500 Geräte). Für uns war dies ein vorrangiger Service, da unsere Services nur in der AWS-Cloud bereitgestellt werden. Außerdem beginnen die Preise pro Minute der Gerätezeit bei 17 Cent. Mit AWS können Sie sowohl mit nativen Frameworks als auch mit Appium, Calabash und anderen automatisierten Test-Frameworks arbeiten. Zusätzlich zu automatisierten Tests bietet der Dienst die Möglichkeit, manuell zu debuggen. Nun, 1000 Minuten "zu versuchen" ist sehr verlockend. Der Teufel steckt jedoch wie immer im Detail. In Bezug auf das Testen verfügt AWS über mehrere Funktionen.


Wie bereits erwähnt, verwenden wir Python 3.7. AWS Device Farm funktioniert jedoch weiterhin mit Python 2.7.6 (siehe Handbuch hier ). Und out of the box weiß nichts über Tox. Für uns bedeutet dies das Fehlen einer Reihe von Funktionen und die Notwendigkeit, einen Teil der Tests zu verarbeiten, um die Abwärtskompatibilität sicherzustellen und eine Umgebung zu schaffen, die Tox umgeht. Ein ziemlich seltsamer Mechanismus zum Herunterladen eines Testpakets (Archivs) impliziert außerdem das Herunterladen der Anwendung zum Testen. In unserem Fall ist das Herunterladen der Anwendung ein zusätzlicher Schritt, wenn wir unseren Dienst über einen mobilen Browser testen. Sie können die Anwendung jedoch durch einen "Stub" ersetzen und ein Venv mit Python 3.7 in der Python 2.7-Umgebung erstellen und dann eine Umgebung mit Tox darin erstellen, die ...



Amazon wäre nicht Amazon, wenn alles auf alten Versionen ruhen würde. Als Alternative (und kein Dienst hat unten eine solche Möglichkeit) schlägt AWS vor, AWS Device Farm über die AWS CLI (Befehlszeilenschnittstelle) zu verwenden (siehe Handbuch hier ). Das heißt, wir können das Gerät aus der Cloud als echtes Gerät im Remote-Debug-Modus mit unserem Computer verbinden, nachdem wir zuvor adb durch das gepatchte ersetzt haben (es gibt keine Binärdatei für Linux in der Liste der Binärdateien, aber ich bin sicher, dass sie in der Natur vorhanden ist). Nachdem wir die AWS-CLI eingerichtet haben, müssen wir zum Testen nur wenige Befehle ausführen (da wir die GUI nicht als AWS-Gerätefarm-App verwenden werden).



Codebeispiel
import boto3 #  AWS SDK https://pypi.org/project/boto3/ aws_client = boto3.client('devicefarm') response = aws_client.list_devices() #     device_arn = '' for phone in response["devices"]: if phone['name'] == "Google Pixel XL": #      (  ) device_arn = phone['arn'] #   Amazon Resource Name break project_arn = aws_client.list_projects()['projects'][0]['arn'] #        #      ,    SSH    response = aws_client.create_remote_access_session(projectArn=project_arn, deviceArn=device_arn, remoteDebugEnabled=True, ssh-public-key=SSH_KEY) #     adb devices     uuid Google Pixel XL  AWS Device Farm,   iOS #     ... RUN_TESTS() ... #    ( )    aws_client.stop-remote-access-session(arn=response['remoteAccessSession']['arn']) aws_client.delete_remote_access_session(arn=response['remoteAccessSession']['arn']) 

Wenn wir die Anwendung testen möchten, kann sie auch über das AWS SDK heruntergeladen werden.


Aber ich habe hier keine Schlüsselnuance genannt. Wir stolpern wieder ausführlich über den Teufel. Tatsache ist, dass die Remote-Debugging-Option nur verfügbar ist, wenn wir den Plan für private Geräte für AWS verwenden. Erstens ist diese Funktion nur auf Anfrage verfügbar (Sie müssen einen Brief an Amazon schreiben), zweitens ist die Option für die Region us-west-2 verfügbar, und drittens kehrt diese Option tatsächlich zu dem Szenario zurück, in dem wir einen Server für haben Testen mit einer Reihe (oder mindestens einem) angeschlossenen Geräten. Die Vorteile liegen auf der Hand - wir können dieses Gerät ausschließlich verwenden, was offensichtlich sicherer und schneller ist. Andererseits verlieren wir den Hauptvorteil - die Auswahl und Vielfalt der Geräte.


Ich mochte den Service insgesamt, aber für unser Team gibt es leider zu viele „Aber“.


Bitbar



Link


Diese Cloud-basierte mobile Farm ist die erste, die auf Suchmaschinen stößt. Und nicht umsonst. Mit Blick auf die Zukunft möchte ich sagen, dass dieser Dienst die beste Auswahl an Geräten (nur echte Geräte) und die beste Leistung in Bezug auf einen Test im Vergleich zu anderen bietet. Bitbar bietet Dienste für manuelle und automatisierte Remote-Tests (unter Verwendung von Appium und anderen Frameworks) und ermöglicht auf Wunsch auch die Verwendung eines ähnlichen Crawlers wie Firebase Test Lab (Robotertest) - AI TestBot. Der Hauptvorteil von BitBar ist eine unbegrenzte Anzahl von Testthreads (dh Sie können Ihre Anwendung sofort auf Hunderten von Geräten testen), indem Sie den erforderlichen Gerätepool im Voraus auswählen. Wenn das Gerät ausgelastet ist, wird ein anderes ausgewählt oder die Sitzung wird in die Warteschlange gestellt. Am Ende des Testlaufs wird ein Protokoll erstellt, ein Testprotokoll erstellt, die Ergebnisse werden gespeichert und die Benachrichtigung wird an die E-Mail gesendet. Es gibt zwar Möglichkeiten, die Interaktion mit verschiedenen CI / CD-Tools zu konfigurieren. Der Dienst bietet auch die Möglichkeit, Desktop-Browser in verschiedenen Auflösungen zu testen und bei Bedarf wie in AWS Ihre privaten Geräte zu erstellen. Sie müssen zwar für all diese Chips bezahlen - jede Testminute kostet 0,29 US-Dollar.



Der Einrichtungsprozess ist einfach, wie das Zusammenspiel zweier Finger mit Asphalt:


Codebeispiel
 from appium import webdriver """ ... """ com_executor = 'https://appium.bitbar.com/wd/hub' desired_capabilities = { 'deviceName': 'Motorola Google Nexus 6', 'deviceId': 'FA7AN1A00253', 'newCommandTimeout': 12000, 'browserName': 'Chrome', #     Chrome,    app 'bitbar_apiKey': 'BITBAR_API_KEY', 'bitbar_project': 'Software Testing', 'bitbar_testrun': 'Test run #N', 'bitbar_device': 'Motorola Google Nexus 6', 'bitbar_app': '23425235' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """ 

Kobiton



Link


Ein weiterer Dienst, der Testdienste auf realen Geräten bereitstellt. Die Auswahl der Geräte ist bescheidener als bei Bitbar (350+), die Verfügbarkeit der Geräte ist ebenfalls geringer. Im Allgemeinen ist es in seiner Grundfunktionalität BitBar sehr ähnlich, es ermöglicht manuelle und automatische Tests (mit Appium - hier ohne Auswahl von Frameworks). Es gibt keine Möglichkeit, auf Desktop-Browsern zu testen. Mit diesem Dienst können Sie auch Tests mit einer unbegrenzten Anzahl von Sitzungen und Geräten organisieren. Sie können hier jedoch keinen Gerätepool erstellen. Der Preis des Dienstes ist sehr liberal - von 0,10 USD pro zusätzliche Testminute, aber während des Testzeitraums machte ich auf eine gewisse Instabilität des Dienstes aufmerksam - das Internet fiel auf Geräten häufig ab, sobald das Gerät hängen blieb. Wenn das Gerät ausgelastet oder reserviert ist, schlagen alle laufenden Tests fehl. Das heißt, im Gegensatz zu Bitbar gibt es keine Warteschlangen von Sitzungen. Es ist wahr, es kann zu geringen Kosten organisiert werden. Kobiton hat eine eigene kleine API.



Das Setup ist auch sehr einfach, im Gegensatz zur Bitbar, fast dem ursprünglichen Appium.


Codebeispiel
 import base64 from time import sleep from appium import webdriver import requests """ ... """ #  base64EncodedBasicAuth = base64.b64encode(bytes(f'{USERNAME}:{API_KEY}', 'utf-8')) headers = { 'Authorization': f'Basic {base64EncodedBasicAuth}' } reply = requests.get(f'https://api.kobiton.com/v1/apps', params={ }, headers = headers) #     deviceId headers = { 'Authorization': base64EncodedBasicAuth, 'Accept': 'application/json' } reply = requests.get(f'https://api.kobiton.com/v1/devices/{deviceId}/status', params={ }, headers = headers) #   ,      while (reply['isOnline'] == False or reply['isBooked'] == True): sleep(60) #   com_executor = f'https://{USERNAME}:{API_KEY}@api.kobiton.com/wd/hub' desired_capabilities = { 'browserName': 'Chrome', # The generated session will be visible to you only. 'sessionName': 'Automation test session', 'sessionDescription': '', 'deviceOrientation': 'portrait', 'captureScreenshots': True, 'deviceGroup': 'KOBITON', # For deviceName, platformVersion Kobiton supports wildcard # character *, with 3 formats: *text, text* and *text* # If there is no *, Kobiton will match the exact text provided 'deviceName': 'Pixel 2', 'platformName': 'Android', 'platformVersion': '9' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """ #   RUN_TESTS() """ ... """ #       ,     (   ) headers = { 'Authorization': {base64EncodedBasicAuth} } requests.delete(f'https://api.kobiton.com/v1/sessions/{sessionId}/terminate', params={ }) """ ... """ 

Browserstack



Link


Guter alter BrowserStack. Es wurden viele Dinge über ihn geschrieben und viele, die es benutzen. Ja, es ermöglicht das Testen nicht nur in verschiedenen Browsern, sondern auch auf verschiedenen Geräten. Sowohl im manuellen Modus als auch mit Selen / Appium. Abhängig von Ihren Anforderungen - in mobilen Browsern oder mit Ihrer Anwendung. In Bezug auf die Funktionen ist alles dasselbe wie bei den beiden oben genannten Diensten, aber im Gegensatz zu ihnen gibt es bereits Einschränkungen hinsichtlich der Anzahl gleichzeitiger Sitzungen. Im Gegenteil, zahlen Sie 199 US-Dollar pro Monat und testen Sie unbegrenzt. Es gibt Plugins für Jenkins, Travis CI, TeamCity, seine umfangreiche API, hervorragende Protokolle und eine große Auswahl an Geräten und Desktop-Browsern in verschiedenen Konfigurationen. Abhängig davon, was Sie testen, variieren die Einstellungen - zum Testen von Browsern (auch von mobilen) wird ein Selenium-Hub und für Anwendungen ein Appium-Hub verwendet. Darüber hinaus müssen Sie zum Testen der Anwendung separat bezahlen. Das heißt, um sowohl mobile Browser als auch Anwendungen zu testen, müssen Sie 199 US-Dollar und weitere 159 US-Dollar zahlen (der Preis für ein Gerät zum gleichzeitigen Testen).



Beispielcode für die Anwendung
 from appium import webdriver """ ... """ com_executor = 'https://USERNAME:API_KEY@hub-cloud.browserstack.com/wd/hub' desired_capabilities = {'device': 'Google Pixel', 'deviceName': 'Google Pixel', 'app': app_name, 'realMobile': 'true', 'os_version': '8.0', 'name': 'Bstack-[Python] Sample Test' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """ 

Beispielcode für einen mobilen Browser
 from selenium import webdriver """ ... """ com_executor = 'http://USERNAME:API_KEY@hub.browserstack.com:80/wd/hub' desired_capabilities = {'device': 'Google Pixel', 'deviceName': 'Google Pixel', 'browserName': 'Chrome', 'realMobile': 'true', 'os_version': '8.0', 'name': 'Bstack-[Python] Sample Test' } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """ 

Experimentell



Link


Ein weiterer Dienst, der die Möglichkeit bietet, sowohl mobile Geräte als auch Desktop-Browser manuell und automatisch mit Appium, Selenium und anderen Frameworks zu testen. Wie bei BrowserStack ist die Anzahl der gleichzeitigen Sitzungen begrenzt, die Preise unterscheiden sich jedoch geringfügig. Für das Testen mobiler Anwendungen verlangt der Dienst 199 US-Dollar pro Monat und für das Cross-Browser-Testen nur 39 US-Dollar (für eine gleichzeitige Sitzung). Darüber hinaus können Sie wie Bitbar mit AWS Ihr eigenes privates Labor mit Geräten erstellen, die jedoch auf Wunsch mit einer öffentlichen Cloud aus Tausenden von Geräten, Emulatoren und Browsern verschiedener Versionen und Plattformen (MacOS, Windows) gemischt werden können. Zu den interessanten Funktionen gehört die Verfügbarkeit von Erweiterungen für IntelliJ und Eclipse, ein eigenes Appium Studio-Tool, mit dem Sie die erweiterten Funktionen von Geräten wie die Interaktion mit FaceID, die Sprachsteuerung, das Scannen von Barcodes, das Einstellen der Kommunikationsqualität, die geografische Position und vieles mehr nutzen können. Von den Minuspunkten kann ich eine seltsame Reihe von Geräten für den Testzeitraum, die drakonische Tarifierung für den Testzeitraum sowie die Anforderung zur Verwendung von Unternehmenspost nennen (Google Mail funktioniert nicht).



Codebeispiel
 from appium import webdriver """ ... """ com_executor = 'https://Uhttps://cloud.seetest.io/wd/hub' desired_capabilities = {"deviceName": "iPhone X", "accessKey": API_KEY, "platformName": "ios", "deviceQuery": "'@os='ios' and @version='12.1.3' and @category='PHONE'", } driver = webdriver.Remote(com_executor, desired_capabilities) """ ... """ 

Saucelabs



Link


Einer der ältesten Cloud-Testdienste. Fast 400 verschiedene reale Geräte, eine große Auswahl an Simulatoren und Emulatoren, einschließlich atypischer Emulatoren von Samsung-Geräten, gibt es Desktop-Browser für verschiedene Betriebssysteme, einschließlich Linux. Automatisierung auf Appium / Selen und nativen Frameworks. Der Hauptvorteil des Dienstes ist das Vorhandensein einer umfangreichen Sammlung von Konfigurationen, einschließlich alter Betriebssysteme, Browser und Geräte. SauceLabs haben auch eine Begrenzung für die Anzahl gleichzeitiger Sitzungen, aber hier umfasst die billigste Option nicht eine, sondern zwei gleichzeitige Sitzungen. Was ungewöhnlich ist: Tarifpläne für reale Geräte und Emulatoren sind unterschiedlich. Die billigsten Optionen, die zwei Sitzungen mit 2000 Testminuten pro Monat auf Emulatoren umfassen, kosten 149 US-Dollar und auf realen Geräten bereits 349 US-Dollar. Es gibt eine Integration mit CI / CD, Slack. Leider konnte ich SauceLabs nicht live testen, da die Registrierung möglicherweise fehlschlägt, möglicherweise aufgrund der Region, aber ich kann nicht sicher sagen.


Perfecto



Link


Der neueste Cloud-Testanbieter ist Experitest optisch am ähnlichsten, jedoch ohne erweiterte Funktionen. Es gibt eine einfache Skriptsprache. Es ist sehr seltsam, aber im Dienst für Nicht-Unternehmenstarife (Enterprise-Tarife) gibt es keinen Vorschlag zum Testen in Desktop-Browsern. Es ist auch unmöglich, die Ausführung von Tests in Echtzeit zu überwachen (nur wenn dies kein manueller Test ist). Zum Testen stehen ungefähr hundert verschiedene Geräte zur Verfügung. Es gibt eine Integration mit Jenkins und interessanterweise auch mit Testmanagement-Tools wie HP ALM, IBM Rational und TFS. Es sind auch sehr seltsame Tarifpläne verfügbar, z. B. 5 Teststunden pro Monat (in Minuten bis zu 0,33 US-Dollar (dies ist der teuerste Service)), obwohl es möglich ist, ein Paket mit zusätzlichen Stunden zu kaufen, aber es ist auch seltsam, dass dies nicht der Fall ist pro Minute oder mindestens stündliche Abrechnung nachträglich. Zur Vereinfachung der Verwendung stehen während des Testzeitraums nur manuelle Tests sowie ein gemeinsames Labor zur Verfügung, sodass alle Starts von verschiedenen Benutzern auf einen Haufen fallen. Es ist daher unmöglich, den Komfort und die Geschwindigkeit des Dienstes genau zu beurteilen. Es ist ersichtlich, dass sich der Service hauptsächlich auf große Unternehmenskunden konzentriert, während die Fähigkeiten dieses Anbieters zumindest nach den verfügbaren Informationen die bescheidensten von allen sind, die ich getestet habe.




Zusammenfassende Ergebnisse


Nach allen Auswahlkriterien sind die Services sehr ähnlich, der Unterschied zwischen den Services in Leistung und Preis (wenn beispielsweise keine Funktionen vorhanden sind, wie im Fall von AWS). Daher werden wir die Forschungsdaten in einer Tabelle zusammenfassen, die Geschwindigkeit der Dienste (unter Berücksichtigung der Verbindung über US-VPN) sowie den Preis der Einfachheit halber vergleichen und die durchschnittliche monatliche Testzeit auf Geräten vergleichen (5 Releases pro Monat, 2 Stunden Test auf Android- und iOS-Geräten) = 20 Stunden). Als Referenzwerte verwende ich Daten von meinem lokalen Computer mit einem Emulator, der zur Reinheit des Experiments über ein VPN in den USA erneut mit diesem verbunden wird.



Schlussfolgerungen


Es war sehr interessant für mich, den richtigen Service für unser Team zu suchen und auszuwählen. Im Allgemeinen gibt es Lösungen für jeden Geschmack und für jede Aufgabe, und die Dienstleistungen erwiesen sich in Bezug auf Eigenschaften und Implementierung als sehr ähnlich. Daher würde ich abhängig von Ihren Aufgaben die folgende Auswahl empfehlen:


Option A : Wenn Ihnen die Geschwindigkeit der Überprüfung wichtig ist und Sie Dutzende verschiedener Geräte gleichzeitig überprüfen müssen, haben Sie die Wahl zwischen Bitbar .


Option B : Wenn Sie Vorrang vor den Ergebnissen von Referenzgeräten haben und Konfigurationstests zweitrangig (aber erforderlich) sind, haben Sie die Wahl zwischen BrowserStack . Dies ist nur unser Fall, da statistisch gesehen 90% aller Fehler Fehler von Referenzplattformen und -geräten sind (meistens treten Fehler für alle Referenzplattformen gleichzeitig auf). Die restlichen 8% sind MS IE-Fehler, wobei die IE-Unterstützung abgelehnt wird - 2% MS Edge-Fehler und 0,5% Fehler bei bestimmten Konfigurationen.


Option B : Wenn Sie spezielle Bedingungen wie schlechte Kommunikation, Geolokalisierung oder Touch / FaceID überprüfen möchten, haben Sie die Wahl zwischen Experitest .


Wenn Ihr Unternehmen jedoch auf lange Sicht ein großes Büro besetzt, ist Ihre Arbeit Vollzeit. In der Regel kostet die Organisation eigener, sogar Mini-Labors mit einem Server für Emulatoren mit 2-3 angeschlossenen Geräten weniger und bequemer als die Verwendung von Spezialgeräten Dienstleistungen.

Source: https://habr.com/ru/post/de464433/


All Articles