BT
x Por favor preencha a pesquisa do InfoQ !

Testes automatizados para Android, agora como SaaS

por Abel Avram , traduzido por Giovanni Abner em 07 Out 2011 |

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

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião
Feedback geral
Bugs
Publicidade
Editorial
Marketing
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2016 C4Media Inc.
Política de privacidade
BT

Percebemos que você está utilizando um bloqueador de propagandas

Nós entendemos porquê utilizar um bloqueador de propagandas. No entanto, nós precisamos da sua ajuda para manter o InfoQ gratuito. O InfoQ não compartilhará seus dados com nenhum terceiro sem que você autorize. Procuramos trabalhar com anúncios de empresas e produtos que sejam relevantes para nossos leitores. Por favor, considere adicionar o InfoQ como uma exceção no seu bloqueador de propagandas.