Classificando o vômito com sangue, resumo prático do teste do aplicativo móvel e teste do Macaco (o mais detalhado)


Prefácio

O que é Macaco?

Monkey é uma ferramenta de linha de comando no Android que pode ser executada no simulador ou dispositivo real para
enviar um fluxo de eventos de usuário pseudo-aleatório para o sistema (entrada de tecla, entrada de tela de toque, entrada de gesto, etc.)


O teste Monkey é uma forma rápida e eficaz de testar a estabilidade e robustez do software em desenvolvimento.

Para que é usado o Macaco?

Monkey é usado principalmente para testes de estabilidade do Android. É uma ferramenta automática de teste de estresse. Seu principal objetivo é testar se o aplicativo irá travar.

Características do Macaco

1. O objeto de teste é apenas o pacote do aplicativo, que tem certas limitações (o código-fonte não pode ser testado)
2. Os dados do fluxo de eventos usados ​​no teste Monkey são aleatórios e não podem ser personalizados
3. O objeto MonkeyTest, número do evento e o tipo pode ser, frequência, etc. para definir

Introdução ao programa Monkey

O programa Monkey vem com o sistema Android e é escrito em linguagem Java. O caminho de armazenamento no sistema de arquivos Android é: /system/framework/monkey.jar;

O programa Monkey.jar é iniciado e executado por um script Shell chamado "monkey".O caminho de armazenamento do script Shell no sistema de arquivos Android é: /system/bin/monkey;

Método de inicialização do comando Monkey:
Você pode executar o teste Monkey através da janela CMD do PC: adb shell monkey {+parâmetros de comando};

Entre no sistema Android através do adb shell no PC e execute o teste Monkey executando monkey {+command parameters};

Execute o comando monkey diretamente na máquina ou emulador Android e instale o emulador de terminal Android na máquina Android;

O objetivo do teste de macacos

1. Problema de ANR: Procure por "ANR" no log;
2. Problema de travamento: Procure por "Exceção" no log;
3. ANR: Aplicativo não está respondendo. No Android, se o aplicativo não responder o suficiente por um período de Nesse momento, o sistema Uma caixa de diálogo é exibida ao usuário, chamada Caixa de diálogo do aplicativo que não responde.

Os usuários podem optar por “esperar” e deixar o programa continuar em execução ou podem optar por “forçar o fechamento” do aplicativo. Um bom programa deve funcionar perfeitamente, sem problemas de ANR.

Introdução aos comandos do Monkey e parâmetros básicos

1. Use o macaco para testar todos os programas do telefone

adb shell monkey 100 # 执行monkey测试100次

E1

2. Especifique um ou mais pacotes adb shell monkey -p 包名 100. Após especificar o pacote, o macaco permitirá apenas que o sistema inicie o aplicativo especificado. Se nenhum pacote for especificado, o monkey permitirá que o sistema inicie todos os aplicativos no dispositivo.

E2

3. Exibe o nível de detalhe do log.
É usado para especificar o nível de informação de feedback (o nível de informação é o nível de detalhe do log). Existem 3 níveis no total. Os parâmetros correspondentes são mostrados na tabela a seguir: Nível
0 : adb shell monkey -p nome do pacote -v 30 //Valor padrão, fornece apenas uma pequena quantidade de informações, como prompts de inicialização, conclusão de teste e resultados finais

E3

Nível 1: adb shell monkey -p nome do pacote -v -v 30 // Fornece logs mais detalhados, incluindo informações de cada evento enviadas para Activity

E4

Nível 2: adb shell monkey -p nome do pacote -v -v -v 30 // O log mais detalhado, incluindo informações de atividades selecionadas/não selecionadas no teste

E5

4. Escreva as informações de log no documento adb shell monkey 100 > path.
Em circunstâncias normais, se o teste Monkey for executado com sucesso, no final do log, o número de eventos de execução atuais e o tempo gasto serão impressos; / / Macaco finalizado representa execução.

E6

5. Semente de número aleatório adb shell monkey –s 10 100

-s especifica o valor inicial do gerador de números pseudo-aleatórios.Se a semente for a mesma, a sequência de eventos gerada pelos dois testes Monkey também será a mesma.

E7

6. Atraso na operação do usuário adb shell monkey -p com.example.login --throttle 300 100

–throttle <milissegundos> Especifica o atraso entre as operações do usuário (ou seja, eventos), em milissegundos; se este parâmetro não for especificado, o monkey irá gerar e enviar mensagens o mais rápido possível.

Nota: Geralmente é definido como 300 milissegundos porque a operação real do usuário leva cerca de 300 milissegundos para concluir um evento de ação.

E8

7. Evento de toque adb shell monkey --pct-touch 67 -v 10

--pct-touch <percent>Ajuste a porcentagem de eventos de toque. (Evento de toque refere-se a um evento de descida na tela, ou seja, uma operação de pressionar e levantar algum lugar da tela)

–pct-touch: evento de toque. Ou seja, o evento Down-Up (baixar e levantar o dedo) em uma determinada posição. As coordenadas de Down (ACTION_DOWN) e Up (ACTION_UP) são próximas, mas não iguais.

E9

8. Ajuste eventos de gesto adb shell monkey --pct-motion 67 -v 10

-Ajuste -pct-motion <percent>a porcentagem de eventos de movimento de eventos de gesto. (O evento de movimento é composto por um evento para baixo em algum lugar da tela, uma série de eventos de movimento pseudo-aleatórios e um evento para cima)

–pct-motion: evento de movimento. Começa com Down (ACTION_DOWN) e termina com Up (ACTION_UP), com pelo menos um movimento (ACTION_MOVE) no meio.

E10

9、–ignore-timeouts(ANR) adb shell monkey --ignore-timeouts –v 10

Função: Normalmente, se ocorrer algum erro de tempo limite no aplicativo (como a caixa de diálogo "Aplicativo não está respondendo"), o Monkey irá parar de funcionar. Se isto for definido, o Monkey continuará a enviar eventos para o sistema até que a contagem de eventos seja concluída. .

E11

10. –pct-touch 50: Especifique a proporção de uma transação específica

adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v 1000 >c:\login\c.txt

11. Análise de exceção de macaco
Geralmente, podemos enviar 50.000 solicitações de eventos aleatórios de uma só vez. O intervalo entre cada solicitação é de 150 milissegundos. O teste levará cerca de 40 minutos. Após a conclusão, você poderá visualizar o log.

Possíveis erros no log:
o programa sai de forma anormal, trava (busca ctrl+f);
o programa é forçado a fechar, ForceClosed (referido como FC) (igual ao acima);

O programa não responde, ApplicationNo Response (ctrl+f procura por 'ANR' e espaços são adicionados para bloquear algumas informações inválidas)

Gerado manualmente. A execução do macaco é interrompida e o número atual de execuções pode ser visto no final do log.

A seguir está o diagrama de sistema de arquitetura de conhecimento de aprendizagem do engenheiro de teste de software mais abrangente em 2023 que compilei.

1. Programação Python desde o início até a proficiência

Adicione a descrição da imagem

2. Implementação prática de projetos de automação de interface

Adicione a descrição da imagem

3. Combate real do projeto de automação da Web

Adicione a descrição da imagem

4. Implementação prática do projeto de automação de aplicativos

Adicione a descrição da imagem

5. Currículos de fabricantes de primeira linha

Adicione a descrição da imagem

6. Teste e desenvolva sistema DevOps

Adicione a descrição da imagem

7. Ferramentas de teste automatizado comumente usadas

Adicione a descrição da imagem

8. Teste de desempenho JMeter

Adicione a descrição da imagem

9. Resumo (pequena surpresa no final)

O fogo forja espadas e tempera a vontade; corajosamente sobe aos picos e busca a glória. Acredite na sua própria força e enfrente a torrente de desafios. As dificuldades nada mais são do que trabalho árduo, e a luta cria brilho. Deixe seus sonhos voarem e avance com coragem, e você certamente escreverá seu próprio capítulo que será lembrado pelas próximas gerações! Continue lutando e brilhe!

Lute sem medo e siga em frente; trabalhe duro com paixão e brilho. Cada esforço cria uma transformação e cada persistência cria uma lenda. Navegue e comece uma jornada gloriosa! Os anos de luta trazem um florescimento extraordinário!

Liberte sua mente e escale montanhas; supere dificuldades e alcance o brilho. O caminho da luta pode ser tortuoso, mas a vontade inflexível acenderá o fogo da vitória. Acredite na sua própria força e siga em frente com coragem, e você escreverá seu próprio capítulo magnífico!

Acho que você gosta

Origin blog.csdn.net/m0_60054525/article/details/132147381
Recomendado
Clasificación