---
title: "Testes automatizados para o desenvolvimento de aplicações móveis"
date: "2016-11-22"
categories: 
  - "development"
  - "mobile"
  - "software"
  - "tools"
tags: 
  - "automated-testing"
  - "mobile-apps"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: Explore a possibilidade de testes automatizados para o desenvolvimento de aplicações móveis com o Altova MobileTogether, que permite a validação eficiente do comportamento da aplicação em diversos dispositivos e versões.
---
Status: #blog

Tags:  #automated-testing #mobile-apps #mobile-development #mobiletogether #software-tools

Categories: [development](/blog/pt/category/development.md) | [mobile-development](/blog/pt/category/mobile-development.md) 
# Testes automatizados para o desenvolvimento de aplicações móveis

Testes robustos e repetíveis melhoram qualquer projeto de desenvolvimento de software. Se estiver a [criar uma aplicação móvel](https://www.altova.com/pt/mobiletogether.html), os testes são especialmente importantes, dada a variedade imprevisível de dispositivos e variáveis de localização utilizados pelos utilizadores finais. A Altova MobileTogether inclui funcionalidades avançadas de testes automatizados que permitem aos desenvolvedores:

- Registar uma sequência de ações do utilizador como um caso de teste
- Repita o caso de teste no ambiente de simulação do MobileTogether Designer
- Implemente os casos de teste no servidor MobileTogether para que possam ser reproduzidos numa variedade de dispositivos cliente
- Recuperar os resultados da execução de testes do servidor e comparar as diferenças

![Testes automatizados para aplicações móveis](/blog/images/automated_app_testing.jpg)

Pode até mesmo modificar a aplicação para corrigir um erro e executar novamente o caso de teste, a fim de validar os resultados das alterações, o que torna esta ferramenta de controlo de qualidade indispensável para o seu processo de desenvolvimento de aplicações móveis.

<!--more-->

Vamos analisar uma aplicação que utiliza o GPS, onde a execução de um caso de teste pode influenciar uma decisão de design.

A ação "Start Geolocation Tracking" (Iniciar Rastreamento de Localização) no MobileTogether Designer permite ao desenvolvedor escolher entre o rastreamento por GPS e rede, ou apenas por GPS. Podemos testar a aplicação utilizando ambas as opções e comparar os resultados.

![Iniciar a gravação GPS na aplicação MobileTogether](/blog/images/Source-GPS-only-trim.png)

Aqui estão algumas capturas de ecrã do aplicativo de GPS a funcionar num telemóvel Android e num iPhone:

![Aplicação GPS multiplataforma criada com o MobileTogether](/blog/images/app-running-snaps-2.png)

O funcionamento da aplicação aguarda que o utilizador ative a função de rastreamento por GPS, e depois regista uma única localização através do botão "Atualizar Localização". A aplicação guarda essa localização e desativa novamente o rastreamento por GPS para poupar energia da bateria e reduzir o consumo de dados, até que o utilizador deseje registar um novo conjunto de coordenadas.

Os casos de teste são registados, reproduzidos e geridos através das opções do menu ou dos botões da barra de ferramentas do MobileTogether Designer, localizados diretamente acima da janela de design.

![Botões para testes automatizados no programa MobileTogether Designer ](/blog/images/Test-Case-buttons.png)

Definimos a função do botão de rádio "Ativar GPS" para rastreamento apenas por GPS e, em seguida, registámos um caso de teste no simulador que captura dois pontos de dados. Uma vez que a estação de trabalho do "Designer" provavelmente não possui hardware de geolocalização, a primeira execução do teste utilizou um ficheiro de dados de coordenadas para simular os dados do GPS.

Em seguida, instalámos a aplicação e o caso de teste no nosso servidor MobileTogether:

![Implementar um caso de teste no servidor MobileTogether](/blog/images/deploy-test-case.png)

Em seguida, ativámos o caso de teste no servidor MobileTogether através da interface web do servidor e selecionámos as opções de reprodução e de registo de dados:

![Configurações do servidor MobileTogether para testes automatizados ](/blog/images/Server-settings.png)

A ativação no servidor permite que o caso de teste automatizado seja executado em qualquer dispositivo cliente conectado. Executámos o teste uma vez num dispositivo Android e outra vez num dispositivo iOS.

### Testes automatizados de revisões de aplicações

Todos os casos de teste definidos permanecem associados à aplicação, mesmo quando o desenvolvedor faz alterações. Regressámos à aplicação e alterámos a funcionalidade do botão de rádio GPS para ativar o rastreamento de localização por GPS e rede.

![Selecionar o rastreamento por GPS e por rede móvel no MobileTogether](/blog/images/Source-GPS-plus-network-trim.png)

Repetimos o teste mais uma vez no simulador, implementámos a nova versão da aplicação no servidor MobileTogether e executámos o teste novamente em ambos os dispositivos. Agora, temos seis execuções de teste disponíveis para análise na janela "Gerir Casos de Teste":

![Casos de teste concluídos no ambiente MobileTogether Designer](/blog/images/Completed-test-cases.png)

As telhas vermelhas na imagem acima indicam variações nos resultados dos testes.

A comparação dos resultados das duas sessões de testes nos telemóveis Android revelou apenas uma diferença muito pequena nas coordenadas registadas com ambas as configurações de GPS, como se pode observar em cada janela de comparação:

![Comparação dos resultados dos testes automatizados do MobilteTogether no sistema Android](/blog/images/Compare-Android.png)

O telemóvel iOS também registou diferentes coordenadas durante os testes:

![Comparação dos resultados das execuções automatizadas de testes para iOS, utilizando o MobileTogether](/blog/images/Compare-iOS.png)

A execução de scripts de teste guardados permite aos desenvolvedores de aplicações:

- Validar o comportamento da aplicação caso os dados subjacentes sejam alterados, como resultado de consultas a bases de dados ou de pedidos a serviços web REST
- Verifique as correções de erros repetindo a sequência de ações que causaram o problema numa nova versão da aplicação que incorpora a correção
- Certifique-se de que nenhum comportamento inesperado seja introduzido acidentalmente nas novas versões da aplicação
- Visualize como as mesmas sequências de ações do utilizador se apresentam em diferentes dispositivos móveis

Comece já a utilizar testes automatizados para as suas próprias aplicações móveis, independentemente da plataforma. O MobileTogether Designer é [gratuito para descarregar](https://www.altova.com/pt/download/mobiletogether-designer.html) e utilizar!
