Android Security Test Suite (STS) est une suite de tests de Google concernant l'installation de correctifs de sécurité Android. STS est lié aux correctifs de sécurité. Il s'agit d'une nouvelle suite de tests de sécurité ajoutée au test CTS. STS n'a commencé les tests qu'en 201808. C'est un cas de GTS que la date du correctif de sécurité est dans les mois 3. En cas d'échec, vous ne pouvez pas obtenir la certification Google. Avant mai 2018, l'attribut du correctif de sécurité de Google était mis à jour avec aosp dans la bibliothèque de build. Il doit maintenant être mis à jour par le fournisseur après avoir passé le STS. STS doit générer une version utilisateur du résultat via la version userdebug du fichier cible.
Conditions préalables au test STS
- L'appareil doit être flashé avec la rom userdebug
- Le débogage USB a été activé, l'installation USB et les fonctions de clic doivent être normales
- La racine peut être obtenue et adb root doit être exécuté avec succès.
Téléchargez l'outil STS par vous-même
Commande de test STS
sts-tradefed run sts-dynamic-incremental -m <nom du module> -t <nom d'élément unique> Commande de test de version MR
sts-tradefed run sts-dynamic-full -m <nom du module> -t <nom d'élément unique> Commande de test de version IR
Exécution par défaut :
exécution sts-tradefed sts-dynamic-full
Spécifiez le périphérique cible :
sts-tradefed run sts-dynamic-full -s [Spécifiez votre appareil Android]
-------------------
Différences entre CTS, GSI, GTS, VTS et STS
la différence:
1. Les versions d'images gravées sont différentes
img
STS graver la version de débogage utilisateur img
2. Avez-vous besoin de graver des images Google supplémentaires ?
VTS doit également pousser Google img et boot-debug.img
GSI doit pousser davantage Google img
Non requis pour les autres tests
3. Est-il nécessaire de pousser le package média avant de tester ?
CTS, GSI et GTS doivent pousser le package média
Non requis pour le reste des tests
//Méthode pour pousser le package multimédia : exécuter le script + numéro SN de l'appareil dans Media
4. Les instructions du test sont légèrement différentes, il vous suffit de modifier le nom du test correspondant.
//Remarque : le test CTS et le test GSI partagent un script de test, le test GSI peut donc être effectué sous le test CTS, mais pas en même temps (c'est-à-dire que les deux tests ne peuvent pas partager le même outil de test en même temps)
4.1.Test CTS (environ 170 heures pour un seul test)
Commande de test complet : exécutez cts --shard-count 3 -s CTS00000001 -s CTS00000002 -s CTS00000003 // -s [numéro SN]
Commande de retest : exécutez retry -r 1 --shard-count 3 -s CTS00000001 -s CTS00000002 -s CTS00000003 / -r [Nombre de rapports de test]
Module simple face : exécutez cts -m CtsPermission2TestCases -s CTS00000001 // -m [Module de test]
Boîtier simple face : exécutez cts -m CtsPermission2TestCases -t android.permission2.cts.PermissionPolicyTest#platformPermissionPolicyIsUnaltered -s CTS00000001 // -t [Élément de test]
4.2.Test GTS (un seul test devrait prendre 20 heures)
commande de test complet : exécutez gts --shard -count 3 -s GTS00000001 -s GTS00000002 -s GTS00000003
Commande de retest : exécuter la nouvelle tentative -r 1 --shard-count 3 -s GTS00000001 -s GTS00000002 -s GTS00000003
4.3.Test VTS (un seul test devrait prendre 45 heures)
Remarque : la gravure est requise Google System.img
Commande de test complet : exécutez vts --shard-count 3 -s VTS00000001 -s VTS00000002 -s VTS00000003
Commande de retest : exécutez retry -r 1 --shard-count 3 -s VTS00000001 -s VTS00000002 - s VTS00000003
4.4.Test GSI (un seul test devrait prendre 35 heures) --> Outil partagé avec CTS
Remarque : Google System.img doit être gravé.
Commande de test complet : exécutez cts-on-gsi --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003
commande retest : exécuter retry -r 1 --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003
4.5.Test STS (un seul test devrait prendre 7 heures)
Remarque : vous devez graver la version Userdebug pour tester
la commande de test complète : exécutez sts-dynamic-full --shard-count 3 -s STS00000001 -s STS00000002 -s STS00000003
Commande de retest : exécutez retry -r 1 --shard-count 3 -s GSI00000001 -s GSI00000002 -s GSI00000003
4.6.Test CTS_V -> DQA est responsable des tests
#Autres instructions de test
li
l d
g / D
l c
--------------------------------
1. Instructions
basique:
trousse | instruction | version d'essai | fréquence de mise à jour | lien de téléchargement |
---|---|---|---|---|
cts | exécuter des cts | libérer | quart | https://source.android.com/docs/compatibility/cts/downloads |
gts | exécutez GTS ; exécuter GTS-interactive | libérer | quart | https://docs.partner.android.com/gms/testing/gtsConnexion requise |
vts | exécuter VTS | libérer | quart | https://docs.partner.android.com/gms/testing/vtsRequired pour se connecter |
cts-sur-gsi | exécuter cts-on-gsi | libérer | Suite CTS : trimestriel ; system.img : mensuel | Identique au CTS |
ms | exécuter sts-dynamic-full | déboguer | par mois | https://drive.google.com/drive/folders/1xqPTtC6MWiQizfFVdG7Ho0f2oGsmH0e- |
tvts | exécuter des tvts | libérer | https://docs.partner.android.com/tv/test/tvts/release-notes |
pire:
Fonction | instruction | Remarque |
---|---|---|
Réessayez plusieurs machines uniquement 64 bits et n'incluant pas 3 packages | run retry --retry 1 --shard-count 2 --abi arm64-v8a --exclude-filter CtsLibcoreTestCases --exclude-filter CtsNetTestCases --exclude-filter CtsAppSecurityHostTestCases | Ces 3 packages impliquent IPV6 |
Tester le sous-plan CTS | exécuter cts --sous-plan | |
aide | aide | |
aide ct | exécutez cts --help ; exécutez cts --help -all |
mensuel:
mois | CTS (mois d'utilisation) | GTS (mois d'utilisation) | VTS (mois d'utilisation) | STS (mois des correctifs de sécurité) | img (mois du correctif de sécurité) |
---|---|---|---|---|---|
Mois de sortie | 3 6 9 12 | 3 6 9 12 | 3 6 9 12 | le mois dernier | |
2023-10 | android-cts-13_r5-linux_x86-arm | android-gts-11-R1(11-14)-10495246 | android-vts-10477834_arm64(13_R5) | android-sts-13_sts-r19-linux-arm64 | android13-arm64-img-10694250.zip |
2023-11 | android-sts-13_sts-r20-linux-arm64 | signé-gsi_arm64-img-10828306.zip | |||
2023-12 | android-sts-13_sts-r21-linux-arm64 | signé-gsi_arm64-img-10953849.zip | |||
2024-01 | android-cts-13_r6-linux_x86-arm | android-gts-11-R2(11-14)-11137706.zip | android-vts-11183460_arm64(13_R6) | android-sts-13_sts-r22-linux-arm64 | signé-gsi_arm64-img-11114083.zip |
Sites Web souvent utilisés :
Fonction | URL | Remarque |
---|---|---|
https://source.android.com/docs/ | Intranet | |
GM du partenaire | https://docs.partner.android.com/gms/testing/overview | Réseau externe + connexion au compte autorisé |
sécurité du partenaire | https://docs.partner.android.com/security | Réseau externe + connexion au compte autorisé |
Téléchargement de la dernière version GTS/VTS/system.img | https://drive.google.com/drive/folders/0ByUA0TZpIQ_UYll6QnFxaVVNVTA?resourcekey=0-OaeHWcxibqcFpnZw_OzYiw | Réseau externe + connexion au compte autorisé |
Système TV.img dernière version télécharger | https://docs.partner.android.com/tv/test/android/gsi?hl=fr | Réseau externe + connexion au compte autorisé |
SPL | https://drive.google.com/drive/folders/0B85mEDAGzAbsckRrZFhhV3YwTEk?resourcekey=0-6zNsbY0nWUmYsJO2TF-RZQ | Réseau externe + connexion au compte autorisé |
quoi | https://partner.android.com/approvals | Réseau externe + connexion au compte autorisé |
3. Fichier image
adb shell getprop | grep patch
Les informations obtenues via la commande portent sur la date du correctif de sécurité.
[ro.build.version.security_patch]: [2023-10-05] # 此为system.img的
[ro.vendor.build.security_patch]: [2023-10-05] # 此为公司版本的
- Lors de l'utilisation de ; entre des commandes, la commande suivante sera exécutée une fois la commande précédente terminée (qu'elle réussisse ou non).
- Lorsque && est utilisé entre des commandes, la commande suivante sera exécutée une fois la commande précédente terminée (en cas de succès)
Remplacement d'image en un clic CTS-on-GSI
Exécutez les instructions suivantes dans le répertoire où se trouve system.img :adb reboot bootloader&&fastboot flashing unlock&&fastboot flashing unlock_critical&&fastboot reboot fastboot&&fastboot flash system system.img&&fastboot -w&&fastboot reboot
Remplacement d'image VTS en un clic
Exécutez les instructions suivantes dans le répertoire où se trouve system.img/vendor_boot.img :adb reboot bootloader&&fastboot flashing unlock&&fastboot flashing unlock_critical&&fastboot reboot fastboot&&fastboot flash system system.img&&fastboot flash vendor_boot vendor_boot-debug.img&&fastboot -w&&fastboot reboot
# CTS-on-GSI
adb reboot bootloader
fastboot flashing unlock
fastboot flashing unlock_critical
fastboot reboot fastboot
fastboot flash system system.img
fastboot -w
fastboot reboot
# VTS
adb reboot bootloader
fastboot flashing unlock
fastboot flashing unlock_critical
fastboot reboot fastboot
fastboot flash system system.img
fastboot flash vendor_boot vendor_boot-debug.img
fastboot -w
fastboot reboot
4. Version de build quotidienne
Adresse de build quotidienne Android 13 :
https://ci.android.com/builds/branches/aosp-android13-tests-release/grid?legacy=1
1) Téléchargez les champs de recherche CTS, VTS, CTS-VERIFIER, tels que android12
aosp-android12-tests-dev
aosp-android12-tests-release
2) Téléchargez le champ de recherche TVTS
git_master-tv-dev
3) Téléchargez le champ de recherche d'images système Google
git_tm-gsi-release
git_sc-tv-gsi-release
git_rvc-tv-gsi-release
5. Utilisation de sous-plans
Pourquoi utiliser des sous-plans ?
En prenant le test CTS comme exemple, il existe 1058 modules de test et il faudra 1 semaine pour terminer tous les tests. Si vous avez uniquement besoin de vérifier certains modules, tels que les modules liés aux médias. Lorsqu'il n'y a pas de sous-plan, un module doit saisir une instruction. L'utilisation d'un sous-plan peut placer tous les modules multimédias dans un plan de test, et l'exécution d'une instruction peut implémenter tous les tests de modules multimédias. help add
Vous pouvez visualiser l'utilisation spécifique des sous-plans.
En prenant comme exemple la suite 13_r4 d'Android 13, son CTS comporte 1 055 modules. Lorsque le prototype est suffisant, il peut être divisé en plusieurs unités pour améliorer l'efficacité des tests.
Articles de test | Nombre de modules | prend du temps |
---|---|---|
CTS | 1055 | Lorsqu'il y a suffisamment de prototypes, vous pouvez utiliser un sous-plan et diviser le test en trois parties pour améliorer l'efficacité du test. P1 : unité DEQP1 : 30 h ; P2 : unité Media1 : 24 h, puis réessayer plusieurs fois ; P3 : autres modules : 2 unités : 36 h, puis réessayez plusieurs fois ; |
CTS-sur-GSI | 347 | 1 unité : 36 h, puis réessayez plusieurs fois |
Vérificateur CTS | Test manuel pendant 3 jours | |
GTS | 273 | 1 unité : 24h |
STS | 20 | 1 unité : 6h |
STM | 643 | 1 unité : 6h |
6. Opération côté prototype
Entrez en mode développeur : paramètres->À propos->numéro de build (appuyez 5 fois) ->ouvrir Options du développeur
Configurez l'appareil pour qu'il reste allumé : Options du développeur->Rester éveillé->activé
Activez le débogage USB : Options du développeur->Débogage USB- >on
Désactivez l'invite de l'application d'installation USB : Options du développeur->Vérifier les applications via USB->off
7. Fonctionnement de l'ordinateur
1 Les tests liés aux médias doivent placer les fichiers multimédias dans le chemin /tmp/android-cts-media de l'ordinateur. Il n'est pas nécessaire de copier les fichiers multimédias sur le téléphone avant le test. Ils seront copiés automatiquement pendant le test.
S'il n'y a pas de fichier multimédia dans le chemin /tmp/android-cts-media, il sera téléchargé depuis Internet. Étant donné que le fichier est relativement volumineux, cela prendra plus de temps.
clé d'attestation rkp
Récupérer le fichier rkp json
En mode usine, les informations de version se trouvent à gauche et à droite et un message d'invite apparaît ; dans un autre menu, cliquez avec le bouton droit et elles seront automatiquement enregistrées sur la clé USB.
way1:需要登陆网页输入账号
python3.9 ./device_info_uploader.py --credentials ./cred.json --json-csr csrs.json --cache-token --company-id 25958473112589
way2:可以直接使用
python3.9 ./device_info_uploader.py --credentials-keyfile ./-rkp-cd-service-account.json --json-csr csrs.json --company-id 25958473112589
8. Analyse des tests
Cycle de test Android13
(y compris vérificateur) : 7 jours
Cycle de pré-test (hors vérificateur) : 4 jours
Nombre de machines : 7
Articles de test | coût du temps | Nombre de machines (unités) |
---|---|---|
CTS-sans-deqp-media | 3D | 2 unités |
CTS-sans-deqp-media-64 | 2j | 2 unités |
CTS-deqp | 30h | 1 jeu |
CTS-deqp-64 | 15h | 1 jeu |
Médias CTS | 3D | 1 jeu |
CTS-média-64 | 2j | 1 jeu |
gts | 2j | 1 jeu |
cts-sur-gsi | 3D | 1 jeu |
vts | 6h | 1 jeu |
ms | 6h | 1 jeu |
vérificateur cts | 4j | 1 jeu |
Cet article fait référence à :
https://www.cnblogs.com/qev211/p/17570911.html
https://www.cnblogs.com/an-yan/p/16043606.html
Premiers pas avec Android S XTS testing_android xts-CSDN blog