Perguntas frequentes sobre o CTS

O Programa de compatibilidade do Android é o principal impulsionador para manter o feedback positivo para o ecossistema Android. CTS é a principal ferramenta para garantir a qualidade de compatibilidade na escala. A A equipe do Android continua a melhorar a cobertura de testes e ferramentas de CTS. O tamanho adição de casos de teste tem uma melhoria significativa na qualidade compatíveis.

Perguntas gerais

Esta seção fornece perguntas frequentes gerais sobre o CTS.

O que o CTS testa?

O CTS testa se todas as APIs de tipos fortes com suporte ao Android estejam presentes e se comportem corretamente. O CTS também testa outros sistemas de desempenho, como ciclo de vida e desempenho do app.

Como o CTS é licenciado?

O CTS é licenciado sob a mesma Licença de Software Apache 2.0 que a maior parte do Android usa.

Os codecs são verificados pelo CTS?

Sim. Todos os codecs obrigatórios são verificados pelo CTS.

Perguntas específicas sobre testes

Esta seção fornece perguntas frequentes que ajudam a executar testes do CTS com mais eficiência.

Qual é a diferença entre a fragmentação de CTS e TF?

A fragmentação do CTS e TF Sharding são planos de teste totalmente diferentes com tecnologia uma base de código de infraestrutura de teste diferente. Enquanto o comando run é o mesmo em versões diferentes, o resultado da fragmentação se comporta de maneira diferente. A fragmentação do CTS atribui casos de teste estaticamente a dispositivos em teste (DUTs, na sigla em inglês) da seguinte forma:

O TF Sharding atribui casos de teste dinamicamente aos DUTs disponíveis da seguinte maneira:

O que é esperado de um dispositivo compatível com várias ABIs?

O dispositivo precisa passar por todos os testes do CTS e do Verificador do CTS para cada modo ABI que ele declarações de apoio. Portanto, é necessário executar um aplicativo para o ABIs específicas. As diretrizes para várias ABIs são as seguintes:

  • Para o Verificador do CTS e CTS, há versões ARM e x86 para cada arquitetura. Cada um deles oferece suporte ao modo de 32 ou 64 bits.
  • Para testes CTS, se um dispositivo oferece suporte a ARM e x86, ele precisa ser executado e passar nos testes de CTS x86 e ARM, respectivamente.

Consulte o CDD 3.3.1. Interfaces binárias do aplicativo para os requisitos de CDD na ABI.

É suficiente executar um teste apenas na ABI principal (por exemplo, 64 bits) para reduzir o tempo de execução?

Não.Um app Android é executado nos próprios ambientes de execução de 32 ou 64 bits. O código de máquina real, o caminho do código e o estado são diferentes entre 32 e 64. Se você pular um modo, estará cobrindo apenas 50% a ABI do dispositivo.

Por que há tantos casos de teste relatados como "Não executado"?

Em vez disso, verifique o número do Module Done. do número Não executado.

Nas versões anteriores, os módulos CTS também eram informados como Module Done. agressivamente antes de serem concluídas. Portanto, um número de Modules Done foi relatado sem a conclusão de todos os casos de teste, mesmo quando alguns dispositivos tiveram problemas. O novo arcabouço de testes é mais conservador e relata uma número maior de testes Não executados quando ocorre um problema.

Uma execução de módulo até a conclusão informa Module Not Done na maioria invocação recente (done="false") no relatório durante o seguinte:

  • Uma execução de teste do módulo foi interrompida por um problema de conexão do dispositivo.
  • Nem todas as execuções de teste esperadas para o módulo foram realizadas.
  • Nova tentativa (usando a opção -r/--retry) com outras opções de filtragem. como:

    • "--incluir-filtro"
    • --excluir-filtro
    • -t/--test (Opção ainda não suportada na nova tentativa)
    • Falha em --retry-type
    • --subplano

Para receber o status Module Done (done="true") desses módulos, Repita o seguinte para a invocação mais recente:

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

Um módulo executado sem nenhum dos problemas mencionados anteriormente (mesmo sem testes restantes) é marcada como Module Done no novo relatório.

Exceções

  • CtsNNAPITestCases tem um problema conhecido devido à limitação de args do Linux/SO. O módulo pode ser executado novamente e de forma isolada por run cts -m CtsNNAPITestCases diretamente.

Como posso evitar falhas na preparação para testes por trás de um firewall corporativo?

Todos os conjuntos de testes automatizados tentam fazer o download dos arquivos de mídia do CTS ou do de lógica de negócios durante a execução. Em muitos ambientes corporativos, firewall e proxy, o que faz com que a preparação do teste falhe. Executar linha a seguir ou adicione-o a .profile (no Ubuntu).

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

Preciso de um chip para CTS para o Elemento de segurança?

A necessidade de um chip para o teste depende da sua compreensão se o recurso for compatível com o dispositivo de teste.

  • Se seu dispositivo NÃO precisar ser compatível com os apps Android que acessam elementos de segurança, seja na UICC (em inglês) (por exemplo, um chip) distribuído pelas operadoras de rede móvel ou incorporadas ao dispositivo, configure o HIDL para não incluir a HAL android.hardware.secure_element . Nesse caso, o android.se.omapi.SEService.getReaders() (em inglês) A API relata uma lista vazia e o teste CTS automaticamente é aprovado e informa uma aprovação para o CTS.
  • Se o dispositivo PRECISA ser compatível com apps Android que acessam elementos de segurança, seja no UICC (por exemplo, um chip) distribuído pelas operadoras de rede móvel (operadoras) ou incorporado no dispositivo. Você precisa implementar o elemento de segurança corretamente e testá-lo internamente. Teste CTS para elemento de segurança descreve como se preparar para executar os testes CTS que garantem android.se.omapi (link em inglês) O pacote de API adicionado no Android 9 está funcionando. Também recomendamos realizando outros testes por conta própria, já que a cobertura do teste do CTS é mínimo.

Onde posso conseguir os chips do CTS para um Elemento de segurança?

Você pode entrar em contato com seu fornecedor de chip preferido.

Por que o chip laranja está na tela de bloqueio durante a execução do CTS com fragmentação de token?

O caso de teste não é iniciado porque o teste do chip está bloqueado. Desative a opção Bloquear chip em **Configurações de bloqueio do chip antes de: e executar o CTS com fragmentação de token.