Índice: Introdução
-
- Prefácio
- 1. Programação Python desde o início até a proficiência
- 2. Implementação prática de projetos de automação de interface
- 3. Combate real do projeto de automação da Web
- 4. Implementação prática do projeto de automação de aplicativos
- 5. Currículos de fabricantes de primeira linha
- 6. Teste e desenvolva sistema DevOps
- 7. Ferramentas de teste automatizado comumente usadas
- 8. Teste de desempenho JMeter
- 9. Resumo (pequena surpresa no final)
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次
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.
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
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
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
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.
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.
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.
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.
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.
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. .
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
2. Implementação prática de projetos de automação de interface
3. Combate real do projeto de automação da Web
4. Implementação prática do projeto de automação de aplicativos
5. Currículos de fabricantes de primeira linha
6. Teste e desenvolva sistema DevOps
7. Ferramentas de teste automatizado comumente usadas
8. Teste de desempenho JMeter
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!