Palestra ministrada especialmente para o The Developer's Conference 2018 na Trilha Testes II em 19/07/2018, com conteúdo relacionado à evolução e criação de um processo de qualidade para apps, até a automação de testes voltada para o mesmo fim com utilização de JUnit + Appium.
3. Globalcode – Open4education
Vamos ao cenário de regresso?
• Nenhum padrão de processo nas entregas;
• Inexistência de documentação dos apps;
• Testes limitados à casos de uso e reportes de bugs.
4. Globalcode – Open4education
Qual foi o ponto de mudança?
• Preocupação com usabilidade e experiência;
• Instrução da cultura de testes na equipe;
• Estruturação de um processo de testes ágil voltado aos apps.
6. Globalcode – Open4education
Em busca do cenário de progresso
• Evolução contínua do processo de testes;
• Documentação de cenários baseada em mapas;
• Inclusão do desenvolvimento de testes automatizados.
7. Globalcode – Open4education
No início: testes baseados em sessão
• Documentação das particularidades entre os apps;
• Perspectivas de funcionalidade passadas para a equipe;
• Os apps também tem um índice particular de bug a ser
acompanhado, o famoso “crash”.
8. Globalcode – Open4education
O progresso: automação para os apps
• Opção mais amigável para escrita dos testes;
• Desenvolver testes numa curva de aprendizagem menor;
• Padronização da identificação dos componentes do app.
11. Globalcode – Open4education
Principais vantagens do Page Objects
• Reaproveitamento de código para escrita de novos testes;
• Separação de classes de teste por telas;
• Os testes auxiliam na documentação de cenários.
12. Globalcode – Open4education
JUnit + Appium
• Linguagem à cargo da equipe, já que o appium é integrável
com diversas linguagens;
• O appium é um framework de automação open source;
• Sua compatibilidade é baseada no protocolo WebDriver.
appium.io
13. Globalcode – Open4education
• Valores passados pelo client que instruem o server a iniciar
uma nova sessão automatizada.
16. Globalcode – Open4education
Resultados do novo processo
• Automação complementando os testes regressivos;
• Aproximação entre o desenvolvedor e o testador;
• Conhecimento distribuído: “o código é de todos”;
• Aumento de pontuações App Store e Google Play (4,7 pt.);
• Redução de crashs em ambos os apps iOS/Android (ambos
alcançaram crash-free sessions acima de 99,7%).
17. Globalcode – Open4education
Aprendizado como QA em transição
• Ao entender a identificação de componentes da aplicação,
passa-se a entender os serviços;
• Possibilidade de trabalhar com linguagens novas de mercado
(Swift/Kotlin);
• Prática do aprendizado aumentado cobertura de testes
unitários dos apps, e atuando em hotfixes.
18. Globalcode – Open4education
O progresso não deve parar!
• Inclusão de testes automatizados em integração contínua;
• Evolução do projeto para execução de testes paralelos;
• Incluir ferramentas de logs voltadas para os apps;
• Desenvolvedores utilizando os testes automatizados.