O pacote de testes de imagens da câmera (ITS) é um framework para executar testes em imagens produzidas por uma câmera Android. O objetivo geral de cada teste no ITS é configurar a câmera de uma maneira específica, capturar uma ou mais fotos e examinar as fotos para ver se elas contêm os dados de imagem esperados. Muitos dos testes exigem que a câmera seja apontada para um gráfico de destino específico ou seja iluminada em uma intensidade específica.
O ITS está localizado no conjunto de testes do CTS Verifier em
cts/apps/CameraITS.
Os dispositivos precisam passar nos testes do ITS correspondentes aos recursos compatíveis
anunciados pela estrutura da câmera para apps de terceiros como um subconjunto do CTS.
Configuração
Para executar os testes do ITS, é necessário configurar o seguinte:
- Um dispositivo em teste (DUT)
- Uma máquina host (por exemplo, um desktop ou laptop Linux)
- Uma cena que a câmera fotografa
Configuração do dispositivo em teste (DUT)
Para configurar um DUT, siga estas etapas:
- Conecte o DUT a uma máquina host por USB.
- Configure as opções do desenvolvedor no DUT:
- Ative as opções Permanecer ativado e Depuração USB.
- Desative as opções Atualizações automáticas do sistema e Verificar apps por USB.
- Conceda permissões para que o host acesse o DUT por ADB.
Instale o app CTS Verifier (
CtsVerifier.apk) no dispositivo. Para mais informações, consulte Como usar o Verificador do CTS.extract root/out/host/linux-x86/cts-verfier/android-cts-verifier.zipcd android-cts-verifieradb install -r -g CtsVerifier.apkNo DUT, inicie o app de câmera padrão e limpe todas as janelas que aparecem na inicialização para evitar interferências durante o teste.
Configuração do organizador
O ITS exige que a máquina host esteja conectada ao DUT por USB, possa usar o ADB para controle e comunicação do dispositivo e tenha o software necessário instalado.
Para configurar a máquina host, verifique se o software a seguir está instalado.
Android SDK Platform Tools
As ferramentas de plataforma do SDK do Android precisam estar instaladas, e o adb precisa estar no caminho executável do shell ou terminal em execução na máquina host. Para a versão pública das ferramentas da plataforma do SDK do Android, consulte notas da versão das ferramentas da plataforma do SDK.
Python
O Python precisa estar instalado na máquina host. Recomendamos usar uma distribuição Python agrupada para garantir a compatibilidade com as versões. Para detalhes sobre quais versões do Python e do pacote instalar para um lançamento específico, consulte as notas da versão do Camera ITS correspondente.
Mobly
No Android 12 e versões mais recentes, instale a estrutura
de teste do Mobly. O Mobly permite configurar um DUT e um tablet de gráficos na classe
its_base_test. Para instalar a estrutura de teste do Mobly, execute:
pip install moblyconfiguração do ambiente
Para configurar o ambiente de teste, execute:
cd CameraITSsource build/envsetup.sh
Esse comando verifica a instalação do Python, configura a variável de ambiente PYTHONPATH e executa testes de unidade nos módulos utils/*.py. Se nenhum erro for impresso no terminal, o ambiente estará pronto para executar os testes do ITS.
Configuração de cena
Para configurar as cenas, recomendamos usar a configuração do ITS da câmera em uma caixa para facilitar a automação, a confiabilidade e a eficiência nos testes. Os equipamentos de teste ITS-in-a-box atendem a todos os requisitos de iluminação, centralização e mudança de gráfico para o ITS. Além disso, o ITS-in-a-box é necessário para o teste de extensões de câmera.
Para testes manuais, verifique o seguinte:
- O DUT está em um tripé
- O DUT é apontado para a cena correta em cada teste. O script de teste do ITS fornece comandos para mudar a configuração da cena antes de iniciar os testes em uma nova cena.
- O DUT está conectado à máquina host via USB.
- O DUT não se move durante a execução do teste.
- A cena é iluminada com uma fonte de luz constante e não flutuante. Não use uma luz fluorescente, porque ela causa oscilação.
O script de teste do ITS mostra um aviso pedindo que o usuário mude a configuração da cena antes de iniciar os testes em uma nova cena.
A orientação do smartphone precisa ser definida para que a câmera tire fotos sem rotação. A maneira mais fácil de verificar isso é com as cenas de rosto em scene2. A maioria dos smartphones fica na orientação paisagem, com o smartphone girado no sentido anti-horário para a câmera traseira e no sentido horário para a câmera frontal.
Para verificar o alinhamento do DUT e do gráfico, execute tools/check_alignment.py para gerar as coordenadas x e y do centro do gráfico em relação ao centro da imagem e anote uma imagem capturada com os dois centros para um alinhamento ideal.
Arquivos de configuração
Usando o framework Mobly, crie um arquivo de configuração config.yml para definir o ambiente de teste do Mobly. Confira exemplos para diferentes casos de uso.
Arquivo config.yml de cenas baseadas em tablet
Confira abaixo um exemplo de arquivo config.yml para cenas baseadas em tablets. Para testes em tablets, a palavra-chave TABLET precisa estar no nome do ambiente de teste. Durante a
inicialização, o executor de testes do Mobly inicializa os parâmetros no arquivo
e os transmite aos testes individuais.
TestBeds:
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "True" or "False"; quotes needed
lighting_cntl: <controller-type> # "arduino" or "None"; quotes needed
lighting_ch: <controller-channel>
camera: 0
foldable_device: "False". # set "True" if testing foldable
scene: <scene-name> # if <scene-name> runs all scenes
Para invocar o ambiente de teste, execute tools/run_all_tests.py. Se não houver valores de linha de comando especificando câmeras ou cenas, o teste será executado com os valores do arquivo config.yml. Se houver valores de linha de comando para câmeras ou cenas, eles vão substituir os valores na seção TestParams do arquivo config.yml.
Exemplo:
python tools/run_all_tests.pypython tools/run_all_tests.py camera=1python tools/run_all_tests.py scenes=2,1,0python tools/run_all_tests.py camera=0 scenes=scene_telepython tools/run_all_tests.py camera=0.4 scenes=4,scene6_tele
Parâmetro chart_scaling
No Android 17 e versões mais recentes, o parâmetro chart_scaling
está incluído em config.yml para TEST_BED_TABLET_SCENES. Esse parâmetro resolve problemas de dimensionamento de gráficos para dispositivos com câmera teleobjetiva e um campo de visão (FOV) mais amplo, evitando o corte da cena e garantindo o foco adequado do dispositivo durante o teste.
Os valores aceitos para chart_scaling são 1, 0.33, 0.5 ou 0.67, com
None como padrão. Essa abordagem permite que os dispositivos usem um fator de escalonamento ideal adaptado aos requisitos específicos deles, mantendo os testes funcionais em todos os dispositivos.
Se chart_scaling estiver definido como None, os testes vão determinar automaticamente o
fator de escalonamento usando chart_scaling_logic. Caso contrário, o valor especificado em config.yml será usado, ou um erro será sinalizado se o escalonamento não estiver disponível.
Confira a seguir um exemplo de config.yml com o parâmetro chart_scaling:
TestBeds:
- Name: TEST_BED_TABLET_SCENES # Need 'tablet' in name for tablet scenes
# Use TEST_BED_MANUAL for manual testing and remove below lines:
# - serial <tablet_id>
# label: tablet
# Test configuration for scenes[0:4, 6]
Controllers:
AndroidDevice:
- serial: <device-id> # quotes needed if serial id entirely numeric
label: dut
- serial: <tablet-id> # quotes needed if serial id entirely numeric
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # quotes needed
lighting_cntl: <controller-type> # can be arduino or "None"
lighting_ch: <controller-channel>
camera: <camera-id>
scene: <scene-name> # if <scene-name> runs all scenes
foldable_device: "False" # "True" if testing foldable device
chart_scaling: "None" # use the values available for scene to be tested
resultstore_upload: "False" # "True" if results should be uploaded to ResultStore
São necessários ajustes no lado do teste para ativar os recursos de escalonamento do gráfico do Camera ITS. Se um teste que você está usando não for compatível com isso, registre um bug.
Confira a seguir um exemplo de mudança do lado do teste com o parâmetro chart_scaling.
# load chart for scene
its_session_utils.load_scene(
cam, props, self.scene, self.tablet, self.chart_distance,
chart_scaling=self.chart_scaling)
Arquivo sensor_fusion scene config.yml
Confira abaixo um exemplo de arquivo config_yml para testes de sensor_fusion.
Para testes de sensor_fusion, a palavra-chave SENSOR_FUSION precisa estar no nome do testbed. O Android 13 e versões mais recentes são compatíveis apenas com o controlador
Arduino para fusão de sensores devido a testes de estabilização de vídeo e visualização.
O Android 12 é compatível com os controles Arduino e Canakit.
Testbeds
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino
rotator_ch: 1
camera: 0
Para executar testes de sensor_fusion com a
caixa de fusão de sensores, execute:
python tools/run_all_tests.py scenes=sensor_fusionpython tools/run_all_tests.py scenes=sensor_fusion camera=0python tools/run_all_tests.py scenes=scene_flash,feature_combinationpython tools/run_all_tests.py scenes=checkerboard camera=1
Arquivo config.yml de vários testbeds
Confira a seguir um exemplo de arquivo config.yml com várias plataformas de teste, uma
plataforma de teste de tablet e uma plataforma de teste sensor_fusion. O testbed correto é determinado pelas cenas testadas.
Testbeds
- Name: TEST_BED_TABLET_SCENES
# Test configuration for scenes[0:4, 6, _change]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
chart_loc_arg: ""
camera: 0
scene: <scene-name> # if <scene-name> runs all scenes
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion/test_sensor_fusion.py
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: arduino # cntl can be arduino or canakit
rotator_ch: 1
camera: 0
Arquivo config.yml de teste manual
Confira abaixo um exemplo de arquivo config.yml para testes manuais. O Android 14
e versões mais recentes oferecem suporte a testes manuais para todos os testes, exceto os
scene_extensions
testes. Para testes manuais, a palavra-chave MANUAL precisa estar no nome do ambiente de teste.
Além disso, a seção AndroidDevice não pode incluir uma seção de número de série ou rótulo para um tablet.
TestBeds:
- Name: TEST_BED_MANUAL
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
TestParams:
debug_mode: "False"
camera: 0
scene: 1
Arquivo config.yml de teste de plataforma Gen2
Confira abaixo um exemplo de arquivo config.yml de um ambiente de teste TEST_BED_GEN2.
Use esse ambiente de teste para testes de scene_ip, que usam um
rig Gen2.
O exemplo a seguir mostra os parâmetros do ambiente de teste quando o rig Gen2 está
disponível e os testes
scene_ip
não são ignorados.
Testbeds
- Name: TEST_BED_GEN2
# Test configuration for scene_ip/test_default_jca_ip.py
Controllers:
AndroidDevice:
- serial: <device-id> # quotes needed if serial id entirely numeric
label: dut
TestParams:
debug_mode: "False" # quotes are needed here
chart_distance: 30
rotator_cntl: gen2_rotator # gen2 rig specific. "None" if gen2 rig not available
rotator_ch: 0
camera: <camera-id>
foldable_device: "False" # "True" if testing foldable device
tablet_device: "False" # "True" if testing tablet device
lighting_cntl: gen2_lights # gen2 rig specific. "None" if gen2 rig not available
lighting_ch: 1
scene: scene_ip
O exemplo a seguir mostra os parâmetros do ambiente de teste quando o equipamento Gen2
não está disponível e os testes scene_ip são ignorados.
Testbeds
- Name: TEST_BED_GEN2
# Test configuration for scene_ip/test_default_jca_ip.py
Controllers:
AndroidDevice:
- serial: <device-id> # quotes needed if serial id entirely numeric
label: dut
TestParams:
debug_mode: "False" # quotes are needed here
chart_distance: 30
rotator_cntl: "None" # gen2 rig specific. "None" if gen2 rig not available
rotator_ch: <controller-channel>
camera: <camera-id>
foldable_device: "False" # "True" if testing foldable device
tablet_device: "False" # "True" if testing tablet device
lighting_cntl: "None" # gen2 rig specific. "None" if gen2 rig not available
lighting_ch: <controller-channel>
scene: scene_ip
Para executar o teste scene_ip, use um dos seguintes comandos:
python tests/scene_ip/test_default_jca_ip.py -c config.ymlpython tools/run_all_tests.py camera=<camera-id> scenes=scene_ip
Executar testes do ITS
Esta seção descreve como executar testes do ITS.
Como invocar testes
Depois que o dispositivo, a máquina host (incluindo o ambiente) e a cena física forem configurados, execute os testes do ITS usando o processo a seguir.
Abra o app CTS Verifier. No menu de testes, selecione Teste ITS da câmera. No Android 17 e versões mais recentes, os testes
sensor_fusionefeature_combinationestão em uma atividade adicional chamada Teste de plataforma de fusão de sensores ITS da câmera.Na máquina host, execute os testes do ITS no diretório
CameraITS/. Por exemplo, para um dispositivo com câmeras frontal e traseira, execute o seguinte comando:python tools/run_all_tests.pyO script itera pelas câmeras e cenas de teste com base no arquivo
config.yml. Para configurações de depuração, recomendamos executar uma das cenas doscene2com um único teste para ter o retorno mais rápido.Para testes manuais, antes de começar a executar o conjunto de testes do ITS em cada cena, o script tira uma foto da cena atual, salva como JPEG, imprime o caminho para o JPEG no console e pede que o usuário confirme se a imagem está correta. Esse fluxo de captura e confirmação se repete até que o usuário confirme que a imagem está correta. Estas são as mensagens nesse fluxo.
Preparing to run ITS on camera 0 Start running ITS on camera: 0 Press Enter after placing camera 0 to frame the test scene: scene1_1 The scene setup should be: A grey card covering at least the middle 30% of the scene Running vendor 3A on device Capture an image to check the test scene Capturing 1 frame with 1 format [yuv] Please check scene setup in /tmp/tmpwBOA7g/0/scene1_1.jpg Is the image okay for ITS scene1_1? (Y/N)Cada execução do script imprime um registro mostrando
PASS,FAIL,FAIL*ouSKIPpara cada teste do ITS.FAIL*indica que o teste falhou, mas, como ele ainda não é obrigatório, o teste será informado comoPASSpara o CtsVerifier.SKIPindica que o teste foi aprovado porque o dispositivo não anunciou a capacidade subjacente que estava sendo testada. Por exemplo, se um dispositivo não anunciar pelas interfaces de câmera que é compatível com DNG, os testes relacionados à captura de arquivos DNG serão ignorados e contados como umPASS.Para confirmar que os testes atenderam aos requisitos, toque no botão de marca de seleção verde. A entrada Teste ITS da câmera no menu de testes do CTS Verifier fica verde, indicando que o smartphone passou no teste ITS da câmera.
Teste paralelo de DUTs
Dispositivos com o Android 14 ou versões mais recentes oferecem suporte a testes paralelos
de DUT. Isso permite testar DUTs em paralelo com várias plataformas para acelerar
o teste geral. Por exemplo, o teste paralelo permite testar a câmera 0 em um
suporte e a câmera 1 em outro suporte ao mesmo tempo. No Android 17 e em versões mais recentes, como os testes do Camera ITS são divididos em duas atividades, é possível executar os testes sensor_fusion e feature_combination em um DUT e outros testes em outro DUT em paralelo. Todos os testes de sessões de teste
paralelas são agregados na sessão do Verificador do CTS no DUT de referência.
Você precisa executar testes paralelos com o controle de iluminação do Arduino, já que o controle manual não é compatível com esse tipo de teste. Verifique se um canal diferente no mesmo controlador Arduino controla a iluminação de cada plataforma.
Veja a seguir um exemplo de arquivo config.yml que define três ambientes de teste para serem executados
em paralelo.
TestBeds:
- Name: TEST_BED_TABLET_SCENES_INDEX_0
Controllers:
AndroidDevice:
- serial: <device-id-0>
label: dut
- serial: <tablet-id-0>
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
lighting_cntl: "arduino"
lighting_ch: <controller-channel-0>
camera: 0
scene: <scene-name> # if <scene-name> left as-is runs all scenes
foldable_device: "False"
- Name: TEST_BED_TABLET_SCENES_INDEX_1
Controllers:
AndroidDevice:
- serial: <device-id-1>
label: dut
- serial: <tablet-id-1>
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False"
lighting_cntl: "arduino"
lighting_ch: <controller-channel-1>
camera: 1
scene: <scene-name> # if <scene-name> left as-is runs all scenes
foldable_device: "False"
# TEST_BED_SENSOR_FUSION represents testbed index 2
# Parallel sensor_fusion is currently unsupported due to Arduino requirements
- Name: TEST_BED_SENSOR_FUSION
# Test configuration for sensor_fusion
Controllers:
AndroidDevice:
- serial: <device-id>
label: dut
TestParams:
fps: 30
img_size: 640,480
test_length: 7
debug_mode: "False"
chart_distance: 25
rotator_cntl: "arduino"
rotator_ch: <controller-channel-2>
camera: <camera-id>
foldable_device: "False"
tablet_device: "False"
lighting_cntl: "None"
lighting_ch: <controller-channel>
scene: "sensor_fusion"
Para executar os testbeds em paralelo, use o seguinte comando:
for i in 0 1 2; do python3 tools/run_all_tests.py testbed_index=$i num_testbeds=3 & done; waitEnviar resultados agregados de testes
No Android 17 e em versões mais recentes, é possível enviar resultados agregados de testes do ITS da câmera para aprovação do build. O CTS Verifier permite testar várias cenas simultaneamente em vários dispositivos e agregar resultados de testes de vários relatórios do CTS Verifier (de diferentes execuções de teste ou dispositivos) em um único envio unificado.
Processo de envio
Para enviar os resultados agregados do Camera ITS para aprovação do build, siga estas etapas:
- Prepare os dispositivos:reúna dois ou três dispositivos em teste (DUTs) que tenham a mesma impressão digital de build.
- Instalar o CTS Verifier:instale o APK mais recente do CTS Verifier, que pode ser obtido no build explorer fornecido.
Executar testes em paralelo:
- Monte os DUTs em plataformas separadas.
- Execute diferentes cenas do ITS da câmera em cada dispositivo simultaneamente.
- Coleta de relatórios:extraia o relatório do CTS Verifier após cada execução. Isso inclui relatórios em que as cenas falharam. Execute novamente apenas as cenas com falha nas execuções subsequentes.
Enviar relatórios:faça upload de vários relatórios do Verificador do CTS coletados de todos os dispositivos.
Analisar os resultados:depois que os relatórios forem enviados, analise os resultados agregados:
- A seção Análise do teste mostra uma lista completa de todas as cenas executadas.
As cenas não executadas ou com falha são listadas na seção Falha.
Figura 1. Documentação de cenas que não foram executadas ou falharam.
As cenas de passagem são listadas na seção Passagem agregada.
Figura 2. Cenas categorizadas como "Aprovado agregado"
Status de aprovação da build
A aprovação da build é concedida quando todas as cenas necessárias são concluídas com êxito nos relatórios agregados.
Modelo de ruído DNG
Os dispositivos que anunciam a capacidade de capturar RAW ou DNG precisam fornecer um modelo de ruído nos metadados de resultado de captura de cada foto RAW. Esse modelo de ruído precisa ser incorporado à HAL da câmera para cada câmera (por exemplo, frontal e traseira) no dispositivo que declara suporte.
Implementação do modelo de ruído
Para implementar um modelo de ruído, siga estas etapas para gerar um modelo de ruído e incorporar o modelo no HAL da câmera.
Para gerar um modelo de ruído para cada câmera, execute o script
dng_noise_model.pyno diretóriotools. Isso gera um snippet de código em C. Para mais informações sobre como configurar a câmera e o ambiente de captura, consulte o documentoDngNoiseModel.pdfno diretóriotools.Para implementar o modelo de ruído no dispositivo, corte e cole o snippet de código C na HAL da câmera.
Validação do modelo de ruído
O teste ITS automatizado tests/scene1_1/test_dng_noise_model.py valida o modelo de ruído verificando se os valores de ruído para a exposição e o ganho do disparo fornecidos nos dados da câmera estão corretos.
Testes aprovados por pouco (status do teste PASS*)
No Android 17 e versões mais recentes, uma aprovação marginal (PASS*)
indica que um teste foi aprovado, mas as métricas de desempenho estão muito próximas do
limite de aprovação predefinido. Embora o teste atenda tecnicamente aos critérios de aprovação, a proximidade do limite de falha sugere a necessidade de uma análise mais detalhada.
Benefícios da aprovação marginal
O status PASS* oferece vários benefícios:
Sistema de alerta precoce: identifica testes que estão prestes a falhar, permitindo que as equipes resolvam problemas antes que eles causem falhas completas.
Otimização proativa: incentiva as equipes a otimizar testes e códigos que estão com desempenho na extremidade inferior do intervalo aceitável, melhorando a estabilidade geral.
Qualidade aprimorada: ajuda a manter um padrão de qualidade mais alto ao sinalizar áreas que podem estar sujeitas a regressões futuras com pequenas mudanças no código.
Redução do tempo de depuração: ao detectar testes
PASS*no início, o tempo e o esforço necessários para depurar falhas completas no futuro podem ser significativamente reduzidos.
Detalhes do PASS*
O status PASS* inclui o seguinte:
Definição de limites: limites marginais específicos são definidos para cada teste relevante no Camera ITS.
Detecção automatizada: o sistema de automação de testes detecta e categoriza testes como
PASS*com base nos limites definidos.Mecanismo de alerta: as equipes recebem alertas automáticos sobre testes sinalizados como
PASS*, direcionando-as a investigar o teste específico e as métricas dele.Relatórios: os status de aprovação marginal são indicados claramente nos relatórios de teste e nos painéis para melhorar a visibilidade como
PASS*no relatórioItsTestSummary, semelhante aFail*para testesnot_yet_mandated. O teste mantém um status verde, já que continua sendo aprovado nos limites estabelecidos, para evitar mais confusão. O statusPASS*se aplica apenas a uma classe de teste, não a toda a cena. Por exemplo, "Scene_0" pode ser consideradoPASSmesmo que "test_jitter" e "test_metadata" sejamPASS*.Monitoramento: os dados de performance são coletados em testes que são aprovados marginalmente em um dispositivo. Isso permite monitorar melhorias futuras na câmera feitas por OEMs se esses testes passarem para um status
PASS.
Confira abaixo um exemplo de resultados do teste com PASS*:
INFO:root:Reporting camera 1 ITS results to CtsVerifier
INFO:root:ITS results to CtsVerifier: {'scene0': {'result': 'PASS', 'TEST_STATUS': [{'test': 'test_jitter', 'status': 'PASS*'}, {'test': 'test_metadata', **'status': 'PASS*'**}, {'test': 'test_request_capture_match', 'status': 'PASS'}, {'test': 'test_sensor_events', 'status': 'PASS'}, {'test': 'test_solid_color_test_pattern', 'status': 'PASS'}, {'test': 'test_test_patterns', 'status': 'SKIP'}, {'test': 'test_tonemap_curve', 'status': 'SKIP'}, {'test': 'test_unified_timestamps', 'status': 'PASS'}, {'test': 'test_vibration_restriction', 'status': 'PASS'}], 'mpc_metrics': [], 'performance_metrics': [], 'feature_query_proto': [], 'feature_query_proto_path': [], 'summary': '/tmp/CameraITS_zojk4sdr/cam_id_1/scene0/scene_test_summary.txt', 'start': 1754330630345, 'end': 1754330764534}, 'scene1_1': {'result': 'NOT_EXECUTED'}, 'scene1_2': {'result': 'NOT_EXECUTED'}, 'scene1_3': {'result': 'NOT_EXECUTED'}, 'scene2_a': {'result': 'NOT_EXECUTED'}, 'scene2_b': {'result': 'NOT_EXECUTED'}, 'scene2_c': {'result': 'NOT_EXECUTED'}, 'scene2_d': {'result': 'NOT_EXECUTED'}, 'scene2_e': {'result': 'NOT_EXECUTED'}, 'scene2_f': {'result': 'NOT_EXECUTED'}, 'scene2_g': {'result': 'NOT_EXECUTED'}, 'scene3': {'result': 'NOT_EXECUTED'}, 'scene4': {'result': 'NOT_EXECUTED'}, 'scene6': {'result': 'NOT_EXECUTED'}, 'scene7': {'result': 'NOT_EXECUTED'}, 'scene8': {'result': 'NOT_EXECUTED'}, 'scene9': {'result': 'NOT_EXECUTED'}, 'scene_extensions/scene_hdr': {'result': 'NOT_EXECUTED'}, 'scene_extensions/scene_low_light': {'result': 'NOT_EXECUTED'}, 'scene_tele/scene6_tele': {'result': 'NOT_EXECUTED'}, 'scene_tele/scene7_tele': {'result': 'NOT_EXECUTED'}, 'scene_video': {'result': 'NOT_EXECUTED'}, 'scene5': {'result': 'NOT_EXECUTED'}, 'sensor_fusion': {'result': 'NOT_EXECUTED'}, 'feature_combination': {'result': 'NOT_EXECUTED'}, 'scene_flash': {'result': 'NOT_EXECUTED'}, 'scene_ip': {'result': 'NOT_EXECUTED'}}
Incentivamos os parceiros a:
- Monitorar alertas do
PASS* - Investigar a causa raiz dos testes
PASS* - Otimizar proativamente os testes e o código identificados como
PASS*
O status PASS* visa aumentar a robustez e a confiabilidade dos testes do ITS da câmera, resultando em um produto estável e de alta qualidade.