Kamera ITS-in-a-Box

Die Android Camera Image Test Suite (ITS) ist Teil des Android Compatibility Test Suite (CTS) Verifier und enthält Tests, mit denen Bildinhalte überprüft werden. CTS Verifier unterstützt die ITS-Testautomatisierung mit Camera ITS-in-a-box. Die Unterstützung für manuelle Tests umfasst alle Android-Geräteformfaktoren.

ITS-in-a-box bietet folgende Vorteile:

  • Automatisierung: Während des Tests ist kein menschliches Eingreifen erforderlich.
  • Einfache Fehlerbehebung Die Konsistenz der Testumgebung führt zu weniger Einrichtungsfehlern und erhöht die Reproduzierbarkeit.
  • Effizienz: Die Möglichkeit, einzelne Kameras/Szenen noch einmal zu testen, verbessert die Effizienz der Testausführung.

Auswahl des Rigs

ITS-in-a-box besteht aus einer Kunststoffbox, die anhand von CAD-Zeichnungen (Computer-Aided Design) lasergeschnitten wird, einem Chart-Tablet und einem zu testenden Gerät (Device Under Test, DUT). In der folgenden Tabelle werden die Funktionen und Spezifikationen der verschiedenen ITS-in-a-box-Rigs beschrieben, die verfügbar sind. Berücksichtigen Sie bei der Auswahl des geeigneten Rigs das spezifische Sichtfeld und die minimale Fokusentfernung des Prüflings. Für Kamerasysteme mit einem Sichtfeld von 60 bis 110 Grad und einem Mindestfokusabstand von 22 bis 31 cm empfehlen wir ein modulares Basis-Rig, da es sich gut anpassen lässt. Wenn das Kamerasystem ein Teleobjektiv mit einer minimalen Brennweite zwischen 31 cm und 110 cm umfasst, empfehlen wir ein modulares Basis-Rig mit einer Tele-Verlängerung, die der Brennweite des Objektivs entspricht. Tele-Verlängerungen sind in Längen von 50 cm bis 90 cm erhältlich.

Rig Diagrammabstand Sichtfeld der DUT-Kamera (ca.) Funktionen
Modulares Basis-Rig 22 cm 60° – 120°
  • Weniger Platzbedarf
  • Große Aussparung auf der Vorderseite, die das Testen des Multi-Kamera-Systems ohne Aussparung ermöglicht, die sekundäre Kameras blockiert
  • Das Rig kann um 90° gedreht werden.
  • Modulares Basis-Rig und Tele-Erweiterungs-Rig 22 cm bis 110 cm* 10° – 120°
  • Großer Blenden-Ausschnitt vorne
  • Unterstützt das Testen von Kameras mit einer längeren minimalen Brennweite (die meisten Telekameras)
  • Die Länge des Verlängerungsgestänges kann an verschiedene Diagrammabstände angepasst werden.
  • WFoV ITS-in-a-box 22 cm 60° – 120°
  • Große Stellfläche für viele Montagepositionen für Prüflinge
  • Unterstützung für große Testgeräte wie Tablets
  • RFoV ITS-in-a-box 31 cm 60° – 90°
  • Diagramm-Tab
  • Innenbeleuchtungssystem
  • Gen2 ITS-in-a-box 31 cm 60° – 90°
  • Papierdiagramm
  • Innenbeleuchtungssystem
  • In der folgenden Tabelle finden Sie Beispielbilder für verschiedene Kombinationen von Diagrammentfernungen und Skalierungsprozentsätzen für eine Kamera mit einem Sichtfeld von 25° und einer Mindestfokussierungsentfernung von 80 cm. Für dieses Beispiel ist das modulare Basis-Rig mit einer 30 cm oder 50 cm langen Verlängerung am besten geeignet, da es einen Abstand von 50 cm oder 80 cm zum Chart ermöglicht. Das Bild, das in einem Abstand von 31 cm zum Chart aufgenommen wurde, ist zu verschwommen und führt wahrscheinlich zu fehlgeschlagenen Tests.
    Diagrammabstand Prozentsatz der Szenenskalierung Bild
    31 cm 33 %
    50 cm 50 %
    80 cm 100 %

    So beginnen Sie mit Camera ITS-in-a-box:

    1. Kaufen oder bauen Sie eine modulare, WFoV- oder RFoV- und Sensorfusion-ITS-in-a-Box.
    2. Tablet mit Camera ITS-Software konfigurieren
    3. Tests ausführen
    4. Ergebnisse vom Prüfling abrufen.

    Tablet konfigurieren

    In diesem Abschnitt finden Sie eine Schritt-für-Schritt-Anleitung zum Einrichten eines Tablets für die Verwendung mit den Camera ITS-Tests im Verzeichnis CameraITS. In dieser Anleitung wird ein Pixel C als Beispieltablet verwendet. Informationen zu den Anforderungen und Empfehlungen für Tablets finden Sie unter Anforderungen für Tablets.

    Hinweis:Die Camera ITS-Python-Scripts legen die folgenden Optionen auf dem Tablet automatisch für Sie fest:
    Einstellungen > Display > Inaktivität > Nach 30 Minuten Inaktivität
    Adaptive Helligkeit > AUS

    1. Laden Sie das Tablet auf und schalten Sie es ein. Wenn Sie aufgefordert werden, ein Konto einzurichten, überspringen Sie diesen Schritt. Für Camera ITS ist kein Konto erforderlich, das mit dem Tablet verknüpft ist.
    2. Aktualisieren Sie das Tablet auf Android 7.0 oder höher. Android 6.x und niedrigere Versionen unterstützen Camera ITS nicht.
    3. Aktivieren Sie den Entwicklermodus.
    4. Kehren Sie zu den Einstellungen zurück und wählen Sie Entwickleroptionen aus.
      Optionen aktivieren
      • An
      • Aktiv lassen
      • USB-Debugging (damit kann der Host das Tablet im Debugging-Modus ausführen). Wenn Sie das Tablet zum ersten Mal mit dem Host verbinden, werden Sie auf dem Tablet gefragt, ob Sie USB-Debugging zulassen? Wenn auf dem Tablet die Debugging-Aufforderung nicht angezeigt wird, trennen Sie die Verbindung und stellen Sie sie dann wieder her.)
      Optionen deaktivieren
      • Automatische Systemupdates
      • Über USB installierte Apps prüfen
    5. Bestimmen Sie die DUT- und Diagramm-IDs, indem Sie $ adb devices ausführen, um die verfügbaren Geräte aufzulisten. Um device_id und chart_id zu ermitteln, schließen Sie Geräte an und trennen Sie sie wieder. Beobachten Sie dabei, welche Geräte sich verbinden und trennen.
    6. Führen Sie drei Testläufe durch, um Hinweise und Nutzeraufforderungen zu unterdrücken, die Diagramme auf dem Tablet-Display verdecken können.
      1. Legen Sie das Tablet mit dem Display nach oben auf einen Tisch (bringen Sie das Tablet nicht an der Rückwand des Kartons an).
      2. Führen Sie den folgenden Befehl aus:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        Für die Szenen 2 und 3 muss auf dem Tablet ein Bild angezeigt werden. Daher wird auf dem Tablet die Aufforderung Drive erlauben, auf Fotos, Medien und Dateien auf deinem Gerät zuzugreifen? angezeigt. Sie können diesen Prompt (und zukünftige Prompts) schließen, indem Sie auf Zulassen tippen.
      3. Führen Sie den oben genannten Befehl noch einmal aus. Auf dem Tablet wird die Frage Eine Kopie dieser Datei behalten? angezeigt und Google Drive wird vorgeschlagen. Sie können diesen Prompt löschen (und zukünftige Prompts verhindern), indem Sie auf das Drive-Symbol und dann auf Abbrechen tippen.
      4. Führen Sie abschließend tools/run_all_tests.py aus und prüfen Sie, ob sich die Szenen automatisch ändern, wenn das Skript verschiedene Szenen durchläuft. Die meisten Tests schlagen fehl, da die Kamera nicht auf das Diagramm gerichtet ist. Sie können jedoch prüfen, ob das Tablet korrekt durch die Szenen wechselt, ohne Aufforderungen oder andere Pop-ups auf dem Bildschirm anzuzeigen.

    Tests ausführen

    Bevor Sie ITS-in-a-box ausführen, muss Ihr Testaufbau die folgende Hardware und Software enthalten:

    • Ein (1) ITS-in-a-box
    • Ein (1) hochauflösendes 10‑Zoll-Tablet zur Anzeige von Szenen, S/N: 5811000011
    • Ein (1) DUT, auf dem die CTS Verifier-App 7.0_8+ installiert ist. Beispiel für ein zu testendes Gerät:
      • Ein (1) Pixel NOF26W für die Prüfung der Rückkamera(0), S/N: FA6BM0305016. Zum Installieren der CTS‑Prüfungs-App entpacken Sie android-cts-verifier.zip und führen Sie dann
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    Tablet-basierte Szenen ausführen

    So führen Sie die Szenen 0 bis 4, 6 und „scene_change“ mit der Rückkamera aus:

    cd android-cts-verifier/CameraITS
    . build/envsetup.sh
    python tools/run_all_tests.py camera=0
    

    Beispiel:

    Kamera 0, Seriennummer: FA6BM0305016
    Abbildung 1. Kamera 0, Seriennummer: FA6BM0305016

    Szenen wiederholen

    So können Sie Szenen für eine einzelne Kamera noch einmal versuchen:

    • So versuchen Sie es noch einmal mit Szenen auf einer einzelnen Kamera:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    Szene 5 ausführen

    Für Szene 5 ist eine spezielle Einrichtung mit einer bestimmten Beleuchtung erforderlich. Weitere Informationen finden Sie unter CameraITS.pdf im CTS Verifier, den Sie unter Compatibility Test Suite Downloads herunterladen können. Sie müssen Szene 5 separat (außerhalb des Felds) und mit dem TEST_BED_MANUAL-Testbed ausführen.

    Kameraszene 5
    Abbildung 2. Kameraszene 5

    So führen Sie Szene 5 für die Front- und Rückkameras auf einem einzelnen Gerät aus:

    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
    python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
    

    Ergebnisse abrufen

    Sie können die Ergebnisse während des Tests ansehen und die abgeschlossenen Ergebnisse als Bericht speichern.

    • Ergebnisse ansehen So speichern Sie die Camera ITS-Ergebnisse als Bericht:
      1. Klicken Sie auf Bestanden und speichern Sie den Bericht.
        ITS-Bericht für Kameras
        Abbildung 3: ITS-Bericht zur Kamera
      2. Berichte vom Gerät abrufen:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. Entpacken Sie die Berichtsdatei und sehen Sie sich test_result.xml an.
        ITS-Berichte für Kameras
        Abbildung 4: Camera ITS-Berichte

    Tablet-Anforderungen

    Für Android 15 und höher müssen Tablets, die als ITS-Diagrammanzeige verwendet werden, auf der folgenden Tablet-Zulassungsliste stehen. Eine Liste der Tablets, die das Testen von Szenen bei schwachem Licht unterstützen, finden Sie unter Unterstützte Tablets für Szenen bei schwachem Licht. Informationen zu Android 14 oder niedriger finden Sie hier.

    Die Tablets auf der Zulassungsliste werden anhand der folgenden Kriterien ausgewählt:

    • Displaygröße von etwa 10 Zoll mit einer Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel.
    • Es darf kein messbares Flimmern geben, das durch die pulsweitenmodulierte (PWM) Steuerung der Bildschirmhelligkeit verursacht wird.
    • Kann von ITS-Tests gesendete ADB-Befehle ausführen und Diagrammbilder mit der angegebenen Bildschirmhelligkeit anzeigen.

    Der Wert brightness muss in config.yml entsprechend dem Tabletmodell festgelegt werden. Wenn Sie herausfinden möchten, ob Ihr Tabletmodell einem Gerätenamen auf der Zulassungsliste entspricht, geben Sie den ro.product.device-Wert aus, indem Sie den adb shell getprop | grep 'ro.product.device'-ADB-Befehl ausführen.

    Gerät Displaygröße
    (Zoll)
    Displaygröße
    (Pixel)
    Abmessungen des Tablets
    (Zoll)
    Display
    Helligkeit
    Gerätename
    (ro.product
    .device)
    Tablet-Betriebssystem
    Version
    Google
    Pixel C
    10.2 2560 × 1800 9,53 × 7,05 × 0,28 96 Drache Android 6 oder höher
    Honor
    Pad 8
    11 2000 × 1200 25,9 × 17,2 × 0,74 cm 192 HNHEY-Q Android 12
    Huawei
    MediaPad M5
    10.8 2560 × 1600 25,9 × 17,2 × 0,74 cm 192 HWCMR09 Android 8 oder höher
    Lenovo
    Tab M10 Plus
    10.3 1920 × 1200 24,4 × 15,3 × 0,8 cm 192 X606F Android 9 und höher
    Lenovo
    Tab P11
    11 2000 × 1200 25,83 × 16,31 × 0,76 cm 192 J606F Android 11 und höher
    Lenovo
    Tab P11 Gen2
    11,5 2000 × 1200 26,9 × 16,9 × 0,7 cm 192 TB350FU Android 13 und höher
    Nokia
    T21
    10.4 2000 × 1200 24,7 × 15,7 × 0,8 cm 192 AGTA Android 12 und höher
    Samsung
    Galaxy Tab A7
    10.4 2000 × 1200 9,75 × 6,2 × 0,28 192 gta4lwifi Android 10 und höher
    Samsung
    Galaxy Tab A8
    10.5 1920 × 1200 24,7 × 17,1 × 0,7 cm 192 gta8wifi Android 11 und höher
    Samsung
    Galaxy Tab A9+
    11 1920 × 1200 25,7 × 16,9 × 0,7 cm 192 gta9pwifi Android 13 und höher
    Vivo
    Pad2
    12.1 2800 × 1968 26,59 × 19,15 × 0,66 cm 192 DPD2221 Android 13 und höher
    Xiaomi
    Pad 5
    11 2560 × 1600 25,9 × 17,2 × 0,74 cm 192 nabu Android 13 und höher
    Xiaomi
    Redmi
    Pad
    10.61 2000 × 1200 25,04 × 15,80 × 0,71 cm 192 yunluo Android 14 und höher
    Xiaomi
    Redmi
    Pad SE
    11 2560 × 1600 25,6 × 16,7 × 0,7 cm 192 xun Android 13 und höher

    Unterstützte Tablets für Aufnahmen bei schlechten Lichtverhältnissen

    In der folgenden Tabelle sind Tablets aufgeführt, die das Testen von Szenen bei wenig Licht unterstützen. Diese Tablets können die Helligkeit erreichen, die für Szenen mit wenig Licht erforderlich ist, sodass das zu testende Gerät das Diagramm richtig belichten kann.
    Gerät Gerätename (ro.product.device) Tablet-Betriebssystemversion
    Huawei
    MediaPad M5
    HWCMR09 Android 8 oder höher
    Samsung Galaxy Tab A8 gta8wifi Android 11 und höher
    Samsung Galaxy Tab A9+ gta9pwifi Android 13 und höher
    Xiaomi Pad 5 nabu Android 13 und höher
    Xiaomi
    Redmi
    Pad SE
    xun Android 13 und höher

    Tablet-Anforderungen für Android 14 und niedriger

    Tablets müssen eine Displaygröße von etwa 10 Zoll und eine Bildschirmauflösung von mehr als 1.920 × 1.200 Pixel haben. Das Tablet darf nicht die Pulsweitenmodulation (PWM) verwenden, um die Helligkeit einzustellen. Der Wert brightness muss in config.yml entsprechend dem Tabletmodell festgelegt werden. In der folgenden Tabelle sind die empfohlenen Tablets für ITS-Tests sowie die Android-Versionen für das zu testende Gerät aufgeführt, mit denen die Tablets kompatibel sind.

    Gerät Displaygröße
    (Zoll)
    Displaygröße
    (Pixel)
    Abmessungen des Tablets
    (Zoll)
    Display
    Helligkeit
    Display mit
    Bit
    Unterstützte
    DUT-Betriebssysteme
    Unterstützte
    -Betriebssysteme
    Samsung
    Galaxy Tab A8
    10.5 1920 × 1200 24,7 × 16,2 × 0,7 cm 192 8 Android 13 und höher Android 11 und höher
    Xiaomi
    Pad 5
    11 2560 × 1600 25,5 × 16,6 × 0,7 cm 1024 11 Android 12 und höher Nur Android 11
    Lenovo
    Tab M10 Plus
    10.3 1920 × 1200 24,4 × 15,3 × 0,8 cm 192 8 Android 12 und höher Android 9 und höher
    Samsung
    Galaxy Tab A7
    10.4 2000 × 1200 9,75 × 6,2 × 0,28 192 8 Android 12 und höher Android 10 und höher
    Chuwi
    Hi9 Air 10.1
    10.1 2560 × 1600 24,2 × 17,2 × 0,8 cm 192 8 Android 7 und höher Android 8 oder höher
    Asus
    ZenPad 3
    9.7 2048 × 1536 24,06 × 16,36 × 0,71 cm 192 8 Android 7 und höher Android 6 oder höher
    Huawei
    MediaPad M5
    10.8 2560 × 1600 25,9 × 17,2 × 0,74 cm 192 8 Android 7 und höher Android 8 oder höher
    Google
    Pixel C
    10.2 2560 × 1800 9,53 × 7,05 × 0,28 96 8 Android 7 und höher Android 6 oder höher
    Sony
    Xperia Z4
    10.1 2560 × 1600 10 × 6,57 × 0,24 192 8 Android 7 und höher Android 5 und höher

    Häufig gestellte Fragen

    F1: Wie finde ich heraus, welche Testaufbauten ich für mein Gerät benötige?

    Mit den RFoV ITS-in-a-box-Tests, Revision 1 werden RFoV-Kameras für Tablet-Szenentests im Verzeichnis CameraITS/tests getestet. Das eingeschränkte Sichtfeld wird als 60° < FoV < 90° definiert. Bei Kameras mit einem größeren Sichtfeld sind die Lichtquellen möglicherweise auf den Bildern zu sehen oder die Diagramme decken einen zu kleinen Bereich im Sichtfeld ab, was sich auf die Testergebnisse auswirkt.

    Mit der WFoV ITS-in-a-box-Revision 2 werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis CameraITS/tests getestet. Das weite Sichtfeld wird als FoV >= 90° definiert. Der Prüfstand der Revision 2 ist funktional identisch mit dem der Revision 1, aber größer. Mit dem Testaufbau für Revision 2 können sowohl RFoV- als auch WFoV-Kameras unter Android 9 und höher getestet werden. Aufgrund der größeren Fläche ist Revision 2 ideal, wenn es sich beim zu testenden Gerät um ein Tablet handelt.

    Mit dem modularen Basis-Rig werden WFoV-Kameras für Tablet-Szenentests im Verzeichnis CameraITS/tests getestet. WFoV wird als FoV >= 90° definiert. Mit dem modularen Basis-Rig können sowohl RFoV- als auch WFoV-Kameras für Geräte mit Android 9 und höher getestet werden. Außerdem wird das Tele-Verlängerungsrig unterstützt, das angebracht werden kann, um Telekameras mit einer längeren minimalen Brennweite zu testen. Das modulare Basis-Rig ist funktional identisch mit dem WFoV ITS-in-a-box, aber kleiner.

    Mit der Sensor-Fusion-Box werden der Timing-Offset der Kamera/des Gyroskops und die Frame-Synchronisierung von Multikamerasystemen mit Tests in scenes=sensor_fusion getestet. Für das Feature-Flag REALTIME ist ein Kamera-/Gyroskop-Zeitversatz von weniger als 1 ms erforderlich.

    Geräte mit mehreren Kameras können mit einem einzelnen Aufbau für statische ITS-Tests und mit einem Sensor-Fusion-Aufbau getestet werden, wenn die Kamera das Feature-Flag REALTIME hat.

    In der Tabelle unten finden Sie eine Reihe von Beispielkonfigurationen.

    Minimaler Fokusabstand Sichtfelder von Kameras Echtzeit? Empfohlene Rigs Hinweise
    31 cm – 22 cm 24 °C Nein Modulare Basis, WFoV oder RFoV Android 7.0 oder höher
    31 cm – 22 cm 24 °C Ja Modulare Basis, WFoV oder RFoV und Sensorfusion Android 9 oder höher
    22 cm oder weniger 24 °C + 35 °C Ja Modulare Basis oder WFoV und Sensorfusion Android 9 oder höher
    110 cm – 22 cm 24 °C + 35 °C + 20 °C Ja Modulare Basis und Tele-Erweiterung sowie Sensorfusion Android 9 oder höher
    110 cm – 22 cm 24 °C + 35 °C + 20 °C Ja Modulare Basis, Tele-Erweiterung, Sensorfusion und Gen2-Rig
    22 cm oder weniger 75° + 95° Tablet Nein WFoV Android 9 oder höher

    F2: Wie lege ich fest, welches Test-Rig verwendet wird?

    Damit das richtige Test-Rig verwendet wird, muss der Parameter für den Diagrammabstand korrekt sein. Der Testaufbau für Revision 1 (RFoV) hat einen Abstand von 31 cm zum Chart und der Aufbau für Revision 2 (WFoV) einen Abstand von 22 cm. Standardmäßig ist der Abstand des Diagramms auf 31 cm eingestellt.

    Android 10 zu Android 11

    Wenn Sie das richtige Test-Rig in Android 10 und 11 identifizieren möchten, fügen Sie das Flag dist in der Befehlszeile hinzu. Der Standardwert für dist ist 31. Führen Sie den folgenden Befehl aus, um den Parameter chart_distance zu ändern.
    python tools/run_all_tests.py ... chart=# dist=22
    

    Android 12 und höher

    Um das richtige Testgerät in Android 12 und höher zu ermitteln, können Sie die Datei „config.yml“ bearbeiten, um den Parameter chart_distance zu ändern.
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    F3: Wie kann ich die Helligkeit des Tablets anpassen?

    Die Helligkeit des Tablets ist standardmäßig auf 96 eingestellt.

    So ändern Sie die Helligkeit auf Tablets mit Android 7.0 bis Android 9:

    edit tools/wake_up_screen.py
    DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
    

    Wenn Sie die Helligkeit auf Tablets mit Android 10 bis 11 ändern möchten, können Sie den Wert in der Befehlszeile ändern, indem Sie das Flag brightness hinzufügen:

    python tools/run_all_tests.py device=# camera=# chart=# brightness=192
    

    So ändern Sie die Helligkeit auf Tablets mit Android 12 und höher:

    edit config.yml
    brightness: 96 → brightness: 192
    

    F4: Wie führe ich das Debugging für einen einzelnen Test durch?

    Tests können einzeln zu Debugging-Zwecken ausgeführt werden. Die Ergebnisse werden jedoch nur an CtsVerifier.apk gemeldet, wenn die gesamte Szene ausgeführt wird.

    So führst du eine einzelne Szene unter Android 11 und niedriger aus:

    1. Laden Sie eine Szene, indem Sie das Flag scenes in tools/run_all_tests.py hinzufügen:
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. Drücken Sie Strg+C, um die Tests zu beenden, nachdem die Szene als in stdout geladen protokolliert wurde.

      Wenn die richtige Szene bereits auf dem Display angezeigt wird, aktiviere das Display:

      python tools/wake_up_screen.py screen=#
      
    3. Führen Sie einen einzelnen Test aus.

      python tests/scene#/test_*.py device=# camera=#

      Diagramme werden dann im lokalen Verzeichnis generiert und stdout und stderr werden auf dem Bildschirm ausgegeben.

      Wenn Sie weitere Informationen für das Debugging benötigen, fügen Sie dem Skript print-Anweisungen hinzu. Wenn Sie die Testausgabe für das Debugging erhöhen möchten, fügen Sie das Flag debug=True hinzu.

      python tests/scene#/test_*.py device=# camera=# debug=True

    Die Ergebnisse werden auf dem lokalen Bildschirm ausgegeben und Bilder werden im lokalen Verzeichnis anstelle des generierten Verzeichnisses /tmp/tmp### gespeichert, wenn tools/run_all_tests.py ausgeführt wird.

    So führen Sie eine einzelne Szene in Android 12 und höher aus:

    1. Bearbeiten Sie die Datei config.yml.

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene1_1
    2. Führen Sie den einzelnen Test aus.

      python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    Die Ergebnisse werden im Verzeichnis /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ nach Laufzeit sortiert ausgegeben.

    F5: Warum muss ich fehlgeschlagene Tests als gesamte Szene ausführen, anstatt sie einzeln noch einmal auszuführen?

    Tests können zu Debugging-Zwecken einzeln ausgeführt werden. Die Ergebnisse werden jedoch erst an CtsVerifier.apk gemeldet, wenn die gesamte Szene ausgeführt wird.

    Camera ITS sorgt dafür, dass Drittanbieter-Apps eine kompatible Kameraschnittstelle haben. Ähnlich wie bei einem Unittest wird bei jedem Test eine einzelne Spezifikation der Kamera getestet. Um unzuverlässiges Verhalten zu erkennen, müssen diese Tests als Gruppe für eine ganze Szene bestanden werden. Ein einzelner unzuverlässiger Test kann beispielsweise bei einer Wiederholung einer ganzen Szene bestanden werden, aber es ist schwierig, mehrere unzuverlässige Tests zu bestehen.

    Ein extremes Beispiel: In einer Szene gibt es 10 Tests, die jeweils mit einer Wahrscheinlichkeit von 50% PASS zurückgeben. Wenn jeder Test einzeln ausgeführt wird, ist die Wahrscheinlichkeit hoch, dass ein Bediener die Kamera so einstellen kann, dass sie den Camera ITS-Test besteht. Wenn die Tests jedoch als Szene zusammengefasst ausgeführt werden, liegt die Wahrscheinlichkeit, dass die Szene erfolgreich ist, nur bei 0,1 %.

    F6: Wie führe ich eine einzelne Szene aus oder ordne die Szenen neu an?

    Standardmäßig werden mit dem Skript tools/run_all_tests.py alle Szenen in der Reihenfolge ausgeführt. Szenen können jedoch einzeln oder in einer bestimmten Reihenfolge ausgeführt und an CtsVerifier.apk gemeldet werden.

    So führen Sie eine einzelne Szene (z. B. Szene 2) oder mehrere Szenen in einer bestimmten Reihenfolge unter Android 11 oder niedriger aus:

    python tools/run_all_tests.py device=# camera=# chart=# scenes=2
    
    python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
    

    So führst du eine einzelne Szene oder mehrere Szenen in einer bestimmten Reihenfolge unter Android 12 und höher aus:

    python tools/run_all_tests.py scenes=2
    
    python tools/run_all_tests.py scenes=3,2
    

    Die zusätzlichen Parameter werden in der Datei config.yml festgelegt.

    Q7: Eine Reihe von Tests für Szene 1 schlagen bei der Einrichtung mit dem Tablet fehl, werden aber mit einem Papierdiagramm bestanden. Woran liegt das?

    Das Tablet und die Testumgebung müssen die folgenden Spezifikationen erfüllen.

    Tablet-Spezifikationen

    Das Tablet muss die folgenden Spezifikationen erfüllen:

    • Displaygröße (Zoll): 10 Zoll
    • Displaygröße (Pixel): größer als 1.920 × 1.200 Pixel

    Weitere Informationen finden Sie unter Anforderungen an Tablets.

    Helligkeit des Tablets

    Wenn die Helligkeit des Tablet-Displays zu niedrig ist, werden bei Tests möglicherweise keine korrekten Ergebnisse erzielt.

    Weitere Informationen findest du unter Wie steuere ich die Helligkeit des Tablets?

    Beleuchtungsstärke der Box (Luxmeter erforderlich)

    Der Ziel-Luxwert beim Öffnen des Tablets muss zwischen 100 und 300 liegen.

    Wenn der Lux-Wert zu hoch ist, gibt scene1/test_param_flash_mode.py den Wert FAIL zurück. Wenn der Lux-Wert zu niedrig ist, schlagen mehrere Tests fehl.

    F8: Wie führe ich das Debugging von Sensorfusionstests durch?

    1. Prüfen Sie, ob Sie Mitglied einer dialout-Gruppe sind.

      groups | egrep ‘dialout'
    2. Prüfen Sie, ob der Sensor-Fusion-Controller angeschlossen ist, indem Sie feststellen, ob Microchip Technology mit dem USB-Anschluss verbunden ist.

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. Führen Sie den Test mehrmals aus, um eine Verteilung der Testläufe zu erhalten. Verwenden Sie dazu die folgenden Befehle.

      Android 11 oder niedriger:

      python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
      

      In Android 12 und höher:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      Die zusätzlichen Parameter werden in der Datei config.yml festgelegt.

      Die Ausgaben der Ausführung befinden sich im Ordner /tmp/tmp###, der unter den sensor_fusion_#-Ordnern erstellt wurde. # ist die Ausführungsnummer. Häufige Gründe für einen Fehler sind:

      1. Das Smartphone ist nicht richtig zentriert.
      2. Im Bild werden nicht genügend Merkmale gefunden (häufig ein Problem mit dem Sichtfeld oder der Beleuchtung).
      3. Der zurückgegebene FAIL ist gültig und der Timing-Offset zwischen der Kamera und dem Gyroskop muss korrigiert werden.

    F9: Welche Informationen sollte ich angeben, wenn ich einen Testfehler melde?

    Wenn Sie einen Testfehler melden, fügen Sie die generierten Dateien und Bilder für den Test bei.

    1. Wenn Sie den Test über tools/run_all_tests.py ausgeführt haben, hängen Sie dem Fehlerbericht ein gezipptes /tmp/-Verzeichnis an.
    2. Wenn Sie den Test einzeln ausgeführt haben, hängen Sie alle Bildschirmausgaben und generierten Bilder an den Fehlerbericht an.

    Fügen Sie auch einen Fehlerbericht bei. Wenn der betreffende Test fehlschlägt, verwenden Sie den folgenden Befehl, um einen Fehlerbericht zu erstellen und die generierte ZIP-Datei an den Fehler anzuhängen.

    adb -s device_id bugreport
    

    Q10: Wie führe ich eine sensor_fusion-Testszene mit einer Kamera aus, die einen Mindestfokusabstand hat, der bei einem Diagrammabstand von 25 cm zu unscharfen Bildern führt?

    Wenn Ihre Kamera nicht auf eine Entfernung von 25 cm fokussieren kann, entfernen Sie die Montageplatte des Testbilds von der Sensor-Fusion-Box. Platzieren Sie das Diagramm in einer Entfernung, in der das Prüfling fokussieren kann, und ändern Sie chart_distance in config.yml in den gemessenen Abstand zwischen dem Prüfling und dem Diagramm. Abbildung 5 zeigt ein Beispiel dafür, wie der Abstand zwischen den Linien in dieser Situation gemessen wird.

    sensor_fusion TELE testing example6
    Abbildung 5. Messen der Entfernung des Testbilds für die Sensorfusion
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    Q11: Wie führe ich Tablet-Testszenen für eine Kamera mit einer minimalen Brennweite durch, die bei einem Abstand von 31 cm zum Testchart unscharfe Bilder erzeugt?

    Wenn Ihre Kamera bei einem Test in 31 cm Entfernung (der Tiefe des RFoV-Testaufbaus) keine scharfen Bilder liefert, montieren Sie sie in einem Abstand vor dem Aufbau, sodass die Testtafel etwa 60% des Sichtfelds der Kamera ausfüllt und schärfere Bilder entstehen. Dieser Abstand kann geringer sein als die minimale Brennweite der Kamera. Lassen Sie die chart_distance in config.yml bei 31 cm. Die Diagrammskalierung auf dem Tablet wird durch das Sichtfeld der Kamera bestimmt, wie in der folgenden Tabelle dargestellt:

    Kamera-Sichtfeld Skalierungsfaktor für Diagramme
    60 > FoV > 40 0,67-fach
    40 > FoV > 25 0,5-fach
    Sichtfeld < 25 0,33‑fach

    Q12: Welche Tests werden mit der logischen Multi-Kamera-API auf welchen Kameras ausgeführt?

    Wenn Ihre Kamera REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA verwendet, werden alle unterstützten ITS-Tests auf der logischen Kamera der obersten Ebene ausgeführt. Eine Teilmenge der ITS-Tests wird auf den physischen Unterkameras ausgeführt. Diese Tests sind in tools/run_all_tests.py unter der Konstanten SUB_CAMERA_TESTS aufgeführt.