Häufig gestellte Fragen zu CTS

Das Android-Kompatibilitätsprogramm ist der Schlüssel, um das positive Feedback für das Android-Ökosystem aufrechtzuerhalten. Logo: CTS ist das wichtigste Instrument, um die Kompatibilitätsqualität der Skala sicherzustellen. Die Das Android-Team arbeitet kontinuierlich an der Verbesserung des CTS-Tools und der Testabdeckung. Durch die regelmäßige Erweiterung der Testfälle konnte die Qualität der kompatiblen Geräte erheblich verbessert werden.

Allgemeine Fragen

Dieser Abschnitt enthält allgemeine häufig gestellte Fragen zu CTS.

Was testet die CTS?

Mit der CTS wird getestet, ob alle unterstützten Android-APIs vorhanden sind und sich ordnungsgemäß verhalten. Der CTS testet auch andere nicht API-bezogene Systemverhalten wie den App-Lebenszyklus und die Leistung.

Wie ist die CTS lizenziert?

Die CTS ist unter derselben Apache Software License 2.0 lizenziert, die auch für den Großteil von Android verwendet wird.

Werden die Codecs von CTS verifiziert?

Ja. Alle obligatorischen Codecs werden von CTS geprüft.

Testspezifische Fragen

Dieser Abschnitt enthält häufig gestellte Fragen zur effizienteren Durchführung von CTS-Tests.

Was ist der Unterschied zwischen CTS-Sharding und TF-Sharding?

CTS-Sharding und TF-Sharding sind völlig unterschiedliche Testpläne, die auf einer anderen Testinfrastruktur-Codebasis basieren. Der Befehl „run“ ist der gleich ist, verhält sich das Fragmentierungsergebnis unterschiedlich. Beim CTS-Sharding werden Testfälle statisch so den zu testenden Geräten (Devices Under Test, DUTs) zugewiesen:

Beim TF-Sharding werden Testfälle verfügbaren DUTs dynamisch wie folgt zugewiesen:

Was wird von einem Gerät erwartet, das mehrere ABIs unterstützt?

Das Gerät muss für jeden ABI-Modus, den es verwendet, alle CTS- und CTS-Verifizierungstests bestehen. zu unterstützen. Daher muss eine Anwendung für den bestimmte ABIs. Für mehrere ABIs gelten folgende Richtlinien:

  • Für CTS und CTS Verifier gibt es für jede Architektur ARM- und x86-Releases. Jedes davon kann den 32- oder 64-Bit-Modus unterstützen.
  • Bei CTS-Tests muss ein Gerät, das sowohl ARM als auch x86 unterstützt, ausgeführt werden. und sowohl ARM- als auch x86-CTS-Tests bestehen.

Siehe CDD 3.3.1. Binäre Anwendungsschnittstellen der CDD-Anforderungen für ABI.

Reicht es aus, einen Test nur mit dem primären ABI (z. B. 64 Bit) auszuführen, um die Testausführungszeit zu verkürzen?

Nein. Eine Android-App wird mit einer eigenen 32-Bit- oder 64-Bit-Laufzeit ausgeführt. Der tatsächliche Maschinencode, der Codepfad und der Status unterscheiden sich zwischen 32 und 64 liegen. Wenn Sie einen Modus überspringen, decken Sie nur 50% des das Geräte-ABI.

Warum werden so viele Testläufe als „Nicht ausgeführt“ gemeldet?

Du solltest stattdessen das Kästchen Module Done (Modul abgeschlossen) markieren Not Executed-Nummer.

In den vorherigen Versionen wurden CTS-Module zu früh als Modul abgeschlossen gemeldet, bevor sie abgeschlossen waren. Daher wurde die Anzahl der Abgeschlossenen Module gemeldet, ohne dass der gesamte Test abgeschlossen war, auch wenn bei einigen Geräten Probleme aufgetreten sind. Der neue Test-Harness ist konservativer und meldet bei einem Problem eine höhere Anzahl von Tests, die nicht ausgeführt wurden.

Ein abgeschlossenes Modul meldet am häufigsten Modul nicht erledigt Letzter Aufruf (done="false") im Bericht während der folgenden Ereignisse:

  • Ein Testlauf für das Modul wurde durch ein Problem mit der Geräteverbindung unterbrochen.
  • Es wurden nicht alle erwarteten Testläufe für das Modul durchgeführt.
  • Neuversuch (mit der Option -r/--retry) mit zusätzlichen Filteroptionen, Beispiele:

    • --include-filter
    • --exclude-filter
    • -t/--test (Option wird beim Neustart noch nicht unterstützt)
    • --retry-type fehlgeschlagen
    • --Teilplan

Wenn Sie für diese Module den Status Modul fertig (done="true") erhalten möchten, wiederholen Sie die folgenden Schritte für die letzte Aufrufung:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

Ein Modul, das ohne eines der oben genannten Probleme ausgeführt wurde (auch wenn noch 0 Tests verbleiben), wird im neuen Bericht als Modul abgeschlossen gekennzeichnet.

Ausnahmen

  • Bei CtsNNAPITestCases gibt es ein bekanntes Problem aufgrund von Einschränkungen von Linux/OS bei Argumenten. Das Modul kann direkt über run cts -m CtsNNAPITestCases isoliert neu ausgeführt werden.

Wie kann ich verhindern, dass die Prüfungsvorbereitung hinter der Unternehmens-Firewall fehlschlägt?

Alle automatisierten Testsuites versuchen, entweder die CTS-Mediendateien oder die zur Laufzeit hinzugefügt werden. In vielen Unternehmensumgebungen sind eine Firewall und ein Proxy üblich, was die Testvorbereitung erschwert. Führen Sie die folgende Zeile aus oder fügen Sie sie unter Ubuntu zu .profile hinzu.

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

Benötige ich für Secure Element eine SIM-Karte für CTS?

Ob für den Test eine SIM-Karte erforderlich ist, hängt davon ab, ob die Funktion auf dem Testgerät unterstützt wird.

  • Wenn Ihr Gerät NICHT Android-Apps unterstützen muss, die auf Secure Elements zugreifen – entweder in der UICC (z. B. einer SIM-Karte), die von Mobilfunkanbietern bereitgestellt wird, oder im Gerät eingebettet –, können Sie das HIDL-Manifest so konfigurieren, dass es das HAL-Element android.hardware.secure_element nicht enthält. In diesem Fall meldet die API android.se.omapi.SEService.getReaders() eine leere Liste und der CTS-Test wird automatisch bestanden.
  • Wenn Ihr Gerät Android-Apps unterstützen muss, die auf Folgendes zugreifen: sichere Elemente – entweder in der UICC (z.B. eine SIM-Karte), die von den Mobilfunkanbietern (Mobilfunkanbieter) oder Das Secure Element muss ordnungsgemäß implementiert werden. und intern testen. CTS-Test für Secure Element beschreibt, wie Sie die CTS-Tests vorbereiten, android.se.omapi Das in Android 9 hinzugefügte API-Paket funktioniert. Außerdem empfehlen wir, weitere Tests selbst durchführen, da die CTS-Testabdeckung ist minimal.

Wo bekomme ich die SIM-Karten für CTS für Secure Element?

Wenden Sie sich an Ihren bevorzugten SIM-Anbieter.

Warum erscheint bei der CTS-Ausführung mit Token-Fragmentierung die orangefarbene SIM-Karte auf dem Sperrbildschirm?

Der Testfall wird nicht gestartet, da die SIM-Karte gesperrt ist. Deaktivieren Sie die Option SIM-Karte sperren in den **Einstellungen für die SIM-Kartensperre vor dem Ausführen der CTS mit Token-Fragmentierung.