BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Testes automatizados para Android, agora como SaaS

Testes automatizados para Android, agora como SaaS

Favoritos

Há diversos frameworks e ferramentas para automatizar o teste de aplicações Android, como Activity Instrumentation, MonkeyRunner, Robotium e Robolectric. Mas a empresa LessPainful está oferecendo testes automatizados em dispositivos de verdade como um serviço.

O Android tem suporte básico para testes. Um exemplo é a classe ActivityInstrumentationTestCase2, do pacote android.test, que estende o TestCase do JUnit para viabilizar o teste funcional de atividades Android. Ao se testar a aplicação, cada atividade é executada dentro da máquina virtual Dalvik ou em um dispositivo real.

O SDK do Android traz uma ferramenta de testes chamada MonkeyRunner, que oferece uma API e um ambiente de execução para testes escritos em Python. A API permite conectar-se a um dispositivo, instalar/desinstalar aplicações, executá-las, obter capturas de tela, comparar imagens para verificar se a tela contém o que se espera após a execução de certos comandos, e usar um conjunto de testes para testar uma aplicação. O MonkeyRunner usa a classe InstrumentationTestRunner para executar os testes. Os casos de teste devem ser subclasses de ActivityInstrumentationTestCase2, ProviderTestCase, ServiceTestCase, SingleLaunchActivityTestCase e outras classes.

O Robotium é outro framework que usa a classe InstrumentationTestRunner do Android. Ele permite criar testes funcionais, de sistema e de aceitação, abrangendo múltiplas atividades Android. Além de atividades, o Robotium suporta diálogos, mensagens (toasts), menus e menus de contexto (inclusive no Honeycomb) e é integrado com Maven e Ant para executar testes em regime de integração contínua. É um framework similar ao Selenium, mas para aplicações Android.

O Robolectric escolheu um caminho diferente. Em vez de usar a infraestrutura para testes oferecida pelo Android, usa objetos "sombra" e executa os testes em uma JVM normal. Isso evita a necessidade de compilar, empacotar, instalar e executar a aplicação em um emulador ou dispositivo, reduzindo o tempo necessário para executar os testes. A Pivotal Labs afirma que consegue executar 1047 testes em 28 segundos com o Robolectric.

A LessPainful levou o teste de aplicações Android um passo adiante, oferecendo um serviço que permite testar aplicações em diversos dispositivos reais. O usuário envia a aplicação (*.apk) e um arquivo de teste escrito em Cucumber (uma linguagem específica ao domínio, DSL, bastante legível, que usa termos do negócio). O usuário então seleciona a configuração dos dispositivos nos quais deseja executar os testes; os testes são executados automaticamente e um relatório é gerado. A lista de dispositivos suportados inclui o Garmin Asus, vários HTC, LGs, Samsung Galaxy, Sony Xperia e Motorola Motodefy.

[A nota original inclui uma entrevista (no final) com o CEO da LessPainful, aqui omitida.] 

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT