Automação de testes para aplicações em Android – Parte 3
Este artigo apresenta como devemos proceder para realizar o desenvolvimento de testes automatizados com a ferramenta Robotium para a plataforma Android.
Automação de testes para aplicações móveis em Android – Parte 1
O paradigma da computação móvel é orientado por três principais características que, inerentemente ao contexto de mobilidade, são descritos na literatura: comunicação, mobilidade e portabilidade. A comunicação está relacionada ao fato de que os dispositivos móveis se conectam a redes sem fio, tornando possível a interação destes com outros dispositivos computacionais por meio da Internet. A mobilidade garante que os dispositivos móveis poderão ter sua localização geoespacial suscetível a mudanças. E, por último, a portabilidade afirma que os dispositivos devem ter um tamanho reduzido, leve e independente de conexões por fios.
Tais características delimitam e particularizam a classe de dispositivos computacionais que mais tem crescido em utilização nos últimos anos. E, devido ao aumento na popularidade de dispositivos, bem como a grande variedade de perfis de usuários, abordagens especializadas para o processo de teste de software devem ser propostas para garantir a qualidade das aplicações móveis disponibilizadas. Dessa forma, o teste no contexto de mobilidade tem sido alvo de estudos objetivando melhorar a forma com que as aplicações são verificadas em relação aos requisitos e funcionalidades.
Dentre as áreas de interesse, trabalhos têm sido desenvolvidos na criação de técnicas, ferramentas e mecanismos de apoio a automação de testes em mobilidade. Além das vantagens apresentadas na segunda edição como, por exemplo, a diminuição da chance de erro humano e a redução do esforço humano em tarefas repetíveis, a automação de testes resulta em benefícios como (i) a definição de um processo formal de teste, (ii) o aumento na confiabilidade do teste, tendo em vista que as mesmas operações poderão ser futuramente executadas, e (iii) a reusabilidade na verificação de funcionalidades distribuídas em pontos distintos do software em teste.
O foco desta última parte, de uma série de artigos composta por três, é apresentar novos fundamentos de teste de software, especificamente os relacionados ao contexto de mobilidade, relacionando-os com as técnicas de teste funcional e teste estrutural. Nesta terceira parte, a plataforma Robotium será introduzida e suas principais funcionalidades e recursos para automação de testes em Android serão descritos. Após introdução aos conceitos de Robotium, dois exemplos de casos de teste serão elaborados, exemplificando o uso da plataforma para as atividades de teste funcional e estrutural. Dicas e boas práticas também serão elencadas com o objetivo de (i) demonstrar a definição de suítes de teste e (ii) exemplificar modificações nas configurações de Robotium.
Esta série de artigos apresenta e demonstra o funcionamento das principais ferramentas de automação disponíveis para apoiar o teste em aplicações Android, tendo sido selecionado um conjunto constituído por Monkey e MonkeyRunner, Robolectric, Espresso e Robotium. Como resultados, verifica-se que o material detalhado pode ser utilizado como referencial para futuras atividades de teste em mobilidade como, por exemplo, adoção em ambientes industriais, discussão para utilização em situações específicas e expansão dos estudos realizados. É importante ressaltar que, além das tecnologias estudadas, diversas outras podem ser incorporadas ou relacionadas à atividade de teste em aplicações Android. Dentre as que não foram discutidas, destacam-se Instrumentation, UIAutomator, Selendroid, Calabash e Appium.
Teste de aplicações móveis
Segundo uma estimativa divulgada em Abril de 2014 pela International Telecommunications Union (ITU), agência especializada da Organização das Nações Unidas (ONU) responsável por questões de tecnologias de informação e comunicação, 6,9 bilhões de pessoas, ou seja, em torno de 95% da população mundial, possuirão um dispositivo móvel até o final de 2014.
A aquisição exponencial de dispositivos móveis consolida a necessidade de novas aplicações, criando oportunidades para que empresas e desenvolvedores atuem no desenvolvimento de soluções móveis. Além disso, aplicações móveis têm sido desenvolvidas para diferentes domínios como, por exemplo, saúde, financeiro e industrial. Dessa forma, faz-se necessária a adoção de processos de teste de software que apoiem a detecção de defeitos com a finalidade de aumentar e garantir a qualidade da aplicação testada.
Diversas técnicas e tipos de testes podem ser aplicados em aplicações móveis, inclusive em diferentes etapas de um processo de desenvolvimento de software. Dentre os mais realizados, destacam-se (i) Teste de Usabilidade, (ii) Teste de Compatibilidade, (iii) Teste de Interface, (iv) Teste de Serviços, (v) Teste de Autonomia, Teste de Desempenho e (vii) Teste de Segurança. Em seguida, breves descrições acerca das técnicas de teste são apresentadas:
- Teste de Usabilidade: avalia quesitos relacionados à experiência do usuário, ou seja, qual a facilidade e a possibilidade de se realizar operações funcionais na aplicação em teste;
- Teste de Compatibilidade: avalia e garante que a aplicação em teste interaja corretamente com o sistema operacional, hardware e, se necessário, outros softwares. Incompatibilidades como, por exemplo, dificuldades com conexão a redes de dados podem resultar em lentidão e até mesmo o não funcionamento da aplicação;
-
Teste de Interface: avalia elementos da interface gráfica da aplicação em teste como, por exemplo,
componentes que representam botões, caixas de seleção, listagens de dados e componentes customizados;
" [...] continue lendo...
Artigos relacionados
-
Artigo
-
Vídeo
-
Vídeo
-
DevCast
-
DevCast
-