Automatisiertes Funktionstests für Audio- und Video-Apps

Der globale App-Markt boomt, insbesondere Social-Networking-, Messaging- und Kommunikations-Apps sind die beliebtesten. In diesem Artikel beleuchten wir, wie wir automatisierte Funktionstests für Audio- und Video-Anwendungen durchführen.

Suchen Sie nach Methoden, um automatisierte Funktionstests für Ihre Audio- und Video-Anwendungen durchzuführen und so deren Erfolg zu sichern?

Einführung

Der globale App-Markt boomt, insbesondere Social-Networking-, Messaging-, Kommunikations- und KI-Apps sind mit den meisten Downloads im Jahr 2024 die beliebtesten. Dieser Trend wird voraussichtlich anhalten. Die Frage ist: Wie können Sie diese wachsende Nutzerbasis erreichen und den Erfolg Ihrer App sichern?

Um in den App-Rankings ganz oben zu landen, müssen Sie Ihren Nutzern qualitativ hochwertige Dienstleistungen bieten und stets deren Interessen im Blick behalten. Dazu gehört, dass Ihre Anwendung verschiedene Funktionen, eine benutzerfreundliche Oberfläche, hohe Audio- und Videoqualität sowie eine hervorragende Performance aufweist.

In früheren Blogbeiträgen haben wir erklärt, wie wir die Qualität in Videokonferenzanwendungen testen, funktionalen Tests für Live-Streaming-Anwendungen betrachtet haben und uns mit der Performance in Kurzvideo-Anwendungen beschäftigt haben.

Was ist ein funktionaler Test einer Anwendung?

Einfach ausgedrückt: Ein funktionaler Test prüft alle Funktionen einer Anwendung anhand vorgegebener Spezifikationen und ermittelt, ob sie wie vorgesehen funktionieren. Es geht nicht darum, während des Funktionstests Qualitäts- oder Leistungskennzahlen zu berücksichtigen. Das Hauptziel besteht darin, alle Fehler aufzudecken, die den Nutzern das Ausführen bestimmter Aktionen innerhalb der Anwendung unmöglich machen.

Wenn diese Tests periodisch für neuere Versionen der Anwendung durchgeführt werden und sich auf die Kernfunktionen konzentrieren, spricht man von einem Smoke Test.

Automatisierte Funktionstests sind eine effektive Methode, um Zeit und Ressourcen zu sparen, eine konsistente Durchführung der Tests sicherzustellen, eine höhere Testdeckung zu erzielen und die Zuverlässigkeit der Testergebnisse zu erhöhen.

Wie richtet man automatisierte Funktionstests ein?

Es gibt viele Möglichkeiten, einen automatisierten Testrahmen einzurichten. In diesem Abschnitt erklären wir eine Kombination aus Cucumber, einem Werkzeug für behavior-driven development (BDD), und Py-TestUI, einem intern entwickelten Testframework auf Basis von Appium und Selenium, das in Python geschrieben ist.

Da unser Ziel die Prüfung der Kernfunktionen für Audio und Video ist, müssen wir auch mehrere Benutzer simulieren, um Audio, Video und Bildschirmfreigabe in einem Anruf zu testen. Für einen zusätzlichen Benutzer können wir einfach einen weiteren Appium- oder Selenium-Treiber hinzufügen. Wenn wir jedoch beispielsweise 10 zusätzliche Benutzer simulieren möchten, besteht die Möglichkeit, eine Selenium Grid mit den notwendigen Selenium Knoten in Docker zu erstellen. Jeder Knoten, ein einfacher Docker-Container, hostet einen zusätzlichen Benutzer.

Wie testet man Audio?

Bei der Prüfung von Audio- und Videoanwendungen müssen wir sicherstellen, dass alle Aspekte ihrer Funktionen einwandfrei funktionieren. Beginnen wir mit dem Audio. Bei der Audioprüfung muss sichergestellt werden, dass ein Benutzer während eines Anrufs sprechen kann und andere Benutzer ihn deutlich hören können. Darüber hinaus müssen wir bestätigen, dass der Benutzer seinen Ton stummschalten kann und andere Benutzer ihn dann nicht mehr hören. Dazu können wir verschiedene Tools verwenden, um zu ermitteln, ob Audio gesendet wird oder nicht.

Wie testet man Video?

Um festzustellen, ob die wichtigsten Videofunktionen einwandfrei funktionieren, verwenden wir Bildverarbeitungsalgorithmen, die in Py-TestUI implementiert sind und aus der OpenCV-Bibliothek stammen.

Um zu validieren, dass andere Benutzer während eines Videoanrufs das Video des Benutzers auf dem getesteten Gerät sehen können, filmen oder füttern wir unsere Beispielvideoaufnahme. Anschließend verwenden wir einen Bildverarbeitungsalgorithmus, um das erwartete Video mit dem tatsächlichen Video zu vergleichen.

Es gibt zwei Ergebnisse aus dieser Validierung. Das erste Ergebnis ist, dass wir bestätigen können, dass andere Benutzer das korrekte Video sehen. Das zweite Ergebnis ist, dass wir feststellen, dass andere Benutzer nicht das erwartete Video sehen. In diesem Fall müssen wir tiefergehend untersuchen, um festzustellen, ob ein Fehler in der Anwendung vorliegt.

Zusammenfassung

Ein automatisierter Testrahmen kann mit verschiedenen Tools und unter Verwendung aller Arten von Frameworks erstellt werden. Die beste Wahl hängt jedoch von der Notwendigkeit bestimmter Funktionen dieser Tools ab. In diesem Artikel haben wir uns mit funktionalen Tests für Audio- und Videoanwendungen beschäftigt. Wir haben die verschiedenen Tools erläutert, die wir verwenden, um verschiedene Aspekte der Funktionalität zu validieren. Zum Beispiel wird der Bildverarbeitungsalgorithmus, der in Py-TestUI implementiert ist, bei der Validierung eines Videoanrufs sehr nützlich, bei dem jeder Benutzer die Videos anderer Benutzer sehen kann.

Natürlich spielt auch die Vertrautheit mit verschiedenen Tools eine große Rolle bei der Entscheidung, welche Tools für funktionalen Tests für Audio- und Videoanwendungen verwendet werden sollten.