Testando tendências em 2020


Autor do artigo: Dmitry Shadrin



Introdução


Gostaria de compartilhar minhas principais ferramentas de teste que semanalmente me ajudam a trabalhar de maneira eficaz e melhorar meu desempenho.

Eu terceirizo testes e tenho que trabalhar com vários tipos de produtos: aplicativos e jogos para dispositivos móveis, Web, projetos sérios de criptomoeda para Desktop, etc. Neste artigo, gostaria de selecionar as ferramentas mais convenientes e significativas que me ajudem a otimizar meu trabalho ao testar aplicativos móveis.

Aplicações Móveis


A coisa mais importante que precisa ser enfatizada no teste de um aplicativo móvel é o teste funcional . Quando você decidir para quem seu produto é fabricado, quem é o consumidor final, somente então poderá fazer testes completos de ponta a ponta para sua aplicação.

Sempre começamos a testar com a conformidade com os requisitos e o design do aplicativo. Um bom controle de qualidade deve conhecer os requisitos do produto em teste e um excelente deve ser amigo do design. E isso significa não apenas poder analisar o Figma, Invision ou Zeplin, mas também entender como a UI / UX de seu aplicativo funciona.
Para consolidar com mais precisão todos os movimentos do usuário nas telas dos aplicativos, geralmente é compilado um mapa mental. Das mais convenientes para mim, posso destacar o xMind, Mindomo e MindMeister.

Com o advento e a atualização do mapa mental, fica mais fácil testar aplicativos, e o que é especialmente conveniente é atualizar e reabastecer a documentação do teste (lista de verificação, por exemplo).

Uma boa lista de verificação é baseada nos requisitos do projeto, na documentação dos recursos e nas tarefas atribuídas à equipe na implementação atual. O mapa mental permite que você não esqueça e leve em consideração todas as nuances, criando assim um excelente terreno para testes de ponta a ponta. Um serviço que ajudará você a encontrar listas de verificação prontas e a atualizar as suas próprias: https://checkvist.com/checklists/476089


Ferramentas necessárias para verificar os casos acima:

Charles ou Fiddler sniffers, como as ferramentas de análise de tráfego de rede mais populares até o momento. Eles permitem que você verifique os casos de quebra de rede e Internet fraca, veja solicitações de saída e respostas recebidas. Eles também permitem simular algumas situações difíceis de reproduzir em casos reais.

Os dados dos sniffers serão úteis durante os testes adicionais da API. Mas, para trabalhar com a API, aconselho o uso de ferramentas especializadas: Swagger UI, Postman. Ambas as ferramentas resolvem dois problemas: documentação de solicitações e verificação interativa.

Vale a pena pensar na automação do processo de teste. Uma das soluções mais comuns para automatizar o teste da interface do usuário de aplicativos móveis éAppium . Um limite de entrada relativamente fácil e uma abundância de documentação, além de uma enorme base de especialistas em controle de qualidade que sempre ajudarão a responder perguntas.

Appium é uma ferramenta multiplataforma gratuita e de código aberto que ajuda a automatizar aplicativos para Android e iOS. É uma das ferramentas mais usadas para criar testes automáticos para smartphones e tablets.

As vantagens indiscutíveis do Appium são a facilidade de uso e o suporte a muitas linguagens de programação: Java, Ruby, Python, C #, PHP.

Antes de começar a trabalhar com o Appium, você deve configurar o ambiente a partir dos seguintes componentes:



Após a instalação do software, você pode cuidar do aplicativo. Você precisará de .apk-um arquivo .ipa para iOS para um aplicativo Android para que este aplicativo seja instalado no dispositivo selecionado ao executar testes. Se o aplicativo não foi instalado no dispositivo, o código de teste o instalará e, em seguida, executará os testes.

No processo de automação de teste, mais cedo ou mais tarde surge a questão: testar em dispositivos reais ou usar emuladores. Como mostram as práticas e as implacáveis ​​estatísticas, os emuladores não são uma panacéia. As situações são muito comuns quando tudo funciona perfeitamente em emuladores e todos os testes são aprovados. Mas em um dispositivo real, o aplicativo é bloqueado por um sistema de segurança, pela operação de outro aplicativo ou firmware personalizado (olá Android!).
Minha recomendação é combinar e usar farms de dispositivos. Serviços como o BrowserStack, o AWS Device Farm, o Xamarin Test Cloud. Você se conecta a dispositivos reais, pode integrar seus autotestes nesses serviços e analisar os resultados. Mas sempre vale a pena ter dispositivos de destino no parque de dispositivos, bem como dispositivos das barras superior e inferior (o mínimo permitido e emblemática).

Uma boa alternativa ao Appium é codecept.io
Se você preferir o JS como o idioma para o desenvolvimento de autotestes, seja muito bem-vindo ao CodeceptJS. A documentação detalhada, os testes não ocupam muito espaço na tela (você entenderá o que quero dizer) e o suporte ativo de todos os sistemas operacionais móveis modernos fará você pensar em favor desta ferramenta.

Depois que seu projeto tiver crescido um número significativo de autotestes, seria bom automatizar o lançamento deles toda vez que você criar uma nova compilação. Personalizar e configurar isso ajudará você a sistemas CI / CD modernos. Pessoalmente, prefiro Jenkins ou Teamcity, mas aqui é uma questão de gosto.

Outra ferramenta para reduzir e otimizar o teste de regressão é a matriz de dependência (também é uma matriz de rastreamento). Em resumo - esta é uma tabela na qual as dependências dos elementos do sistema são eliminadas. Para compilar essa matriz, você precisa entender o código do aplicativo e também ajudará a consultar o arquiteto do projeto. Mas, no final, essa ferramenta reduzirá significativamente (em minha memória - até 40%) o tempo de teste de regressão. Você pode ler mais sobre a matriz.aqui .

Dica


Aqui está o meu conjunto de dicas úteis para encontrar o número máximo de erros, considerando as especificidades dos aplicativos móveis.

  • Sempre verifique os casos quanto a dobras / reversões, ao acordar do modo de suspensão e ao ligar / desligar. Para o Android, existe uma configuração - Não mantenha atividades ( DNKA ). Ao testar com essa configuração, certifique-se de indicar essa abreviação em bugs, para que seja mais fácil para o desenvolvedor reproduzir isso.
  • Notificações / notificações - existem locais e servidores (ou seja, vinculados a uma conexão de rede). Sempre vale a pena lembrá-los e verificar seu funcionamento adequado. Eles devem sempre levar à tela de destino. Ou você deve abandoná-los até que os desenvolvedores encontrem o caminho certo para navegar.
  • Charles . .
  • , , . . , .
  • . iOS: ipa- . Android , , . .
  • , QA . .
  • . , . , . . . “ ” .
  • . , . 20% . , . , , “ QA”.
  • . .


Nesta nota, eu queria examinar as ferramentas e dicas básicas que uso no meu trabalho diário. Você pode aprender mais sobre todas as ferramentas modernas em nosso curso sobre testes móveis na plataforma de treinamento OTUS. Também convido você a uma lição gratuita, na qual discutiremos mais detalhadamente práticas modernas de teste para aplicativos móveis Android / iOS, falaremos sobre o conjunto necessário de testadores em 2020 e consideraremos o tópico de automatizar nosso trabalho e testes.

All Articles