Auf Computer Vision und maschinellem Lernen basierende Testautomatisierung
Orion Framework für eingebettete UI-Tests, ein auf Computer Vision und maschinellem Lernen basierendes Testautomatisierungs-Framework, hilft bei der Automatisierung von Benutzerschnittstellentests für eingebettete Geräte. Eingebettete Geräte werden in der Regel entweder manuell getestet oder erfordern ein von Grund auf neu entwickeltes automatisches Test-Framework. Der Grund dafür ist, dass eingebettete Geräte unterschiedliche Schnittstellen und Betriebssysteme haben. Selbst wenn ein automatisches Testen möglich ist, erfordert es in der Regel testspezifische Änderungen an der Firmware, wodurch die Aussagekraft des Tests leicht verringert wird. Unsere Lösung sammelt Informationen von Geräten mit einer Kamera und einem Mikrofon. Sie kann mit jedem Gerät verwendet werden, und es sind keine Änderungen an der Firmware erforderlich. Orion Framework für eingebettete UI-Tests:
- Ermöglicht automatisierte Tests für jedes eingebettete Gerät mit einer Benutzeroberfläche
- Macht testspezifische Firmware-Änderungen überflüssig
- Ermöglicht das Schreiben von Tests unter Verwendung von Standard-Frameworks, anstatt Lösungen von Grund auf neu zu erstellen
- Optimiert die Produktion im Werk
Funktionen
- Icon-Erkennung. Auf der Grundlage von OpenCV-Algorithmen kann es jedes Bild finden, das der Testadministrator in die „Bibliothek“ eingegeben hat. Eigentlich kann jedes Bild als Symbol behandelt werden: Schaltflächen, Symbolleisten, LEDs usw.
- Texterkennung. Verantwortlich für das Auffinden und Erkennen der im Bild vorhandenen Texte, basierend auf 2 vortrainierten neuronalen Netzwerken. Das Netzwerk der ersten Stufe führt eine Bildsegmentierung durch, um Textbereiche im Bild zu finden und zu trennen, und das Netzwerk der zweiten Stufe löst diese Bereiche in Textzeilen auf.
- Tonerkennung. Verwendet Audio-Fingerprinting, um einen „Fingerabdruck“ eines Audiotracks zu erstellen, den die Tester erwarten zu finden. Anschließend wird das Mikrofon abgehört, um diese „Fingerabdrücke“ zu identifizieren.
- API. Einfache Schnittstelle, die die gesamte Logik umfasst und es den Testern ermöglicht, die Erkennung in den Tests zu verwenden.
- Autotest-Framework. Tester können damit Tests schreiben und ausführen. In unserer Entwicklung verwenden wir das Robot Framework, da es am häufigsten für das Testen von eingebetteten Geräten eingesetzt wird. Aber in Wirklichkeit könnte eine API für jedes beliebige Framework angepasst werden (z.B. Appium, Selenium, usw.).
- Setup-Hilfsanwendung. Eine plattformübergreifende PC-Anwendung, die dem Tester hilft, die Testumgebung einzurichten und die Kamera für eine optimale Erkennungsqualität zu konfigurieren. Diese App hilft bei der Korrektur von Kamerawinkeln, Schärfe, Helligkeit usw. Ihre Aufgabe ist es, perspektivische Verzerrungen zu korrigieren und die bestmögliche Erkennung sicherzustellen.
Vorteile
- Universalität. Es spielt keine Rolle, welches Betriebssystem auf dem Gerät läuft, welche Schnittstellen es hat oder ob es über ungenutzten Speicher verfügt – die Kamera und das Mikrofon können ein Bild von praktisch jedem Gerät machen.
- Nicht-invasiv. Keine Änderungen an der Firmware erforderlich. Die Tests sind zu 100% mit den manuellen Tests vergleichbar.
- Testerfreundlichkeit. Das System bietet eine einfache, aber leistungsstarke API, die in jedes gängige Autotest-Framework integriert werden kann. Es ist nicht erforderlich, dass die Tester ein bestimmtes Framework oder eine bestimmte Sprache erlernen oder eine eigene Lösung erstellen. Und unser System enthält eine Hilfsanwendung, die es dem Tester ermöglicht, eine Testumgebung zu erstellen und die Kamera zu konfigurieren.
Mögliche Anwendungen
- Automatisieren Sie manuelle Tests. Wenn Sie ein neues eingebettetes Produkt entwickeln oder ein bestehendes Produkt manuell testen, können Sie unser Framework zur Automatisierung der Tests einsetzen.
- Verbessern Sie Ihre CI/CD-Einrichtung. Das Framework lässt sich problemlos in Ihre CI/CD-Einrichtung integrieren, um den Entwicklungsprozess zu beschleunigen und die Qualität und die Markteinführungszeit zu verbessern.
- Automatisierte Smoke-Tests. Die Automatisierung der grundlegendsten Benutzerszenarien zur Erstellung von Smoke-Tests ist in der Regel der beste Weg, um mit der Automatisierung Ihrer Tests zu beginnen. Mit unserem Framework ist es ganz einfach, ein Setup zu erstellen, das diese Szenarien täglich automatisch ausführt.
- Stabilitätstests. Eine Schwierigkeit bei der manuellen Prüfung ist die allgemeine Systemstabilität, denn kein Tester möchte dasselbe Szenario Hunderte oder Tausende von Malen durchspielen. Unser Framework ermöglicht es, diesen Prozess zu automatisieren und sicherzustellen, dass Ihr Gerät stabil arbeitet und keine Speicherverluste aufweist.
- Automatisierung der Werkstests. Da unsere Lösung nicht invasiv ist, kann sie die Geräte prüfen, die aus der Werkshalle kommen. Das System stellt sicher, dass der Bildschirm die richtigen Farben anzeigt und keine kaputten Pixel aufweist, dass die LEDs wie erwartet funktionieren und dass die Töne ohne Verzerrungen wiedergegeben werden. So wird die Produktion beschleunigt, die Kosten werden gesenkt und die Produktqualität verbessert.
Zusätzliche Dienstleistungen
- Integration. Unser Team kann Ihnen helfen, ein Testautomatisierungssetup für Ihr Produkt von Grund auf zu erstellen und es in Ihre CI/CD-Pipeline zu integrieren. Wenn Sie bereits eine Einrichtung zur Testautomatisierung haben, können wir diese um neue Tests erweitern, um die manuellen Tests zu reduzieren.
- Anpassungen. Jedes eingebettete Produkt ist anders, was die Automatisierung von Tests zu einem einzigartigen Prozess macht. Wir können unser Framework modifizieren und mit neuen Funktionen erweitern, um es an Ihre Produkte und deren spezifische Anforderungen anzupassen.
- Wartung. Wir helfen Ihnen bei der Wartung Ihrer Testumgebung, beheben Probleme und erweitern sie durch neue Tests.