Você está na página 1de 20

UNIVERSIDADE FEDERAL DO CEAR CAMPUS DE QUIXAD CURSO DE SISTEMAS DE INFORMAO

UM PROCESSO DE TESTES PARA O DOMINO DE GUIAS DE VISITAS MVEIS

Projeto de Pesquisa

Francisco Dione de Sousa Amncio

Orientadora: Profa. Carla Ilane Moreira Bezerra

QUIXAD

Novembro, 2011

UM PROCESSO DE TESTES PARA O DOMNIO DE GUIAS DE VISITAS MVEIS


Francisco Dione de Sousa Amncio Orientadora: Profa. Carla Ilane Moreira Bezerra

1. INTRODUO Esta seo apresenta a introduo da pesquisa com a descrio da problemtica que motivou e justificou o desenvolvimento desse trabalho. 1.1 Motivao Com o avano da tecnologia, os dispositivos mveis foram se tornando cada vez mais populares e ganhando espao no mercado. Por esse motivo esto em constante inovao, resultando assim, em uma enorme variedade de modelos. Em consequncia disso, o desenvolvimento de aplicaes cresceu constantemente, buscando atender as necessidades dos usurios que por sua vez passaram a buscar diferentes tipos de servios. Para atender essa crescente demanda surge a necessidade de desenvolver sistemas confiveis, corretos e seguros. Nesse contexto, os testes de software so um dos instrumentos para suprir essa necessidade (DANTAS, 2009). No entanto, para garantir uma boa qualidade dos aplicativos, necessrio, no s o uso de testes no ciclo de desenvolvimento, mas tambm, um processo que deve ser definido e utilizado. Um processo de software pode ser definido como um conjunto coerente de polticas, estruturas organizacionais, tecnologias, procedimentos e artefatos necessrios para conceber, desenvolver, implantar e manter um produto de software (FUGGETTA, 2000). Um processo de software bem definido deve indicar as atividades a serem executados, os recursos requeridos, os papis que executam as atividades, os artefatos consumidos e produzidos bem como os procedimentos a serem adotados (mtodos, tcnicas, modelos de documentos, entre outros). A complexidade para desenvolver as aplicaes mveis e, principalmente, testlas sob um ambiente mvel exige uma adaptao no processo de teste tradicional (DANTAS, 2009), uma vez que dispositivos mveis apresentam um conjunto de limitaes, como: memria, processamento, armazenamento, tela, bateria.

No contexto do domnio de aplicaes mveis, temos o subdomnio de guias de visitas mveis (BAUS et al., 2005; CHRISTOPH et al., 2008; EISENHAUER et al., 2003). Servios mveis no domnio do turismo tm a tarefa de satisfazer os requisitos de informao de turistas proporcionando-lhes uma ampla gama de informaes relacionadas a viagens. Esses aplicativos devem fornecer informaes orientadas a demanda a ponto de preservar a diversidade e necessidade das informaes. A apresentao da informao deve ser simplificada e adaptada situao de interao e localizao do usurio. Como as aplicaes mveis devem ser desenvolvidas levando em considerao as limitaes dos dispositivos mveis, torna-se necessrio uma adaptao do processo de teste tradicional. A motivao deste trabalho propor um processo de testes especfico para o domnio de guias de visitas mveis.

2. OBJETIVOS 2.1 Objetivo geral Este trabalho tem como objetivo principal propor um processo de testes para o domnio de guias de visitas mveis. 2.2 Objetivos especficos Pesquisar na literatura sobre testes em aplicaes mveis especificamente no domnio de guias de visitas mveis; Fazer um levantamento dos tipos de teste que so utilizados para aplicaes mveis; Definir uma proposta do processo de testes para guias de visitas mveis baseado na pesquisa bibliogrfica e no levantamento dos tipos de teste do domnio especfico a ser trabalhado; Validar o processo de testes desenvolvendo em uma aplicao de guias de visitas mveis desenvolvida por um grupo de pesquisa da UFC. 3. REVISO BIBLIOGRFICA 3.1 Aplicaes Mveis Diante da evoluo dos dispositivos computacionais e das tecnologias de um conceito esttico para um contexto mvel, torna-se perceptvel a adoo crescente de

dispositivos mveis, dentre os quais se destacam os celulares, que vm se tornando cada vez mais populares (FERREIRA, 2007). Estes dispositivos so utilizados nas mais diversas reas que vo desde ambiente educacional, com grande nfase no ambiente empresarial (BONIFCIO et al., 2010). A possibilidade de acesso a aplicaes em ambientes os mais diversos possveis tornaram o contexto de uso dos dispositivos mveis uma importante rea de investigao e, conseqentemente, a investigao da influncia das variveis contextuais no desempenho do usurio (FERREIRA, 2007). Diante da possibilidade de acesso informao em qualquer lugar e a qualquer momento, pode-se imaginar um leque enorme de possibilidades de novas aplicaes e servios para computao mvel (SILVA, 2008). O contexto de utilizao de servios mveis e informaes possuem algumas particularidades que as diferem de outras aplicaes. Estas diferenas podem ser

determinadas pelas caractersticas especficas dos dispositivos mveis como: restrio de hardware e limitaes do ambiente de comunicao sem fio (BONIFCIO et al., 2010). Alm das limitaes citadas anteriormente, outro fator que agrava a complexidade no desenvolvimento de aplicaes mveis a mobilidade. Segundo Lee et al. (2005), a mobilidade a capacidade do usurio se deslocar facilmente. No contexto da computao mvel, mobilidade se refere ao uso pelas pessoas de dispositivos mveis portteis funcionalmente poderosos que ofeream a capacidade de realizar facilmente um conjunto disfunes de aplicao, sendo tambm capazes de conectarse, obter dados e fornec-los a outros usurios, aplicaes e sistemas. Para Ferreira (2007), necessrio salientar que a mobilidade de um usurio implica o trfego por entre ambientes os mais diversos, alm de sua movimentao fsica em cada um desses ambientes e da rpida alterao de caractersticas contextuais consequente. No ambiente mvel, a mobilidade se refere ao uso, por usurios, de dispositivos mveis portteis que ofeream um conjunto de servios, e envolve questes tais como portabilidade, usabilidade, funcionalidade e conectividade (DANTAS, 2009). Por esse motivo as aplicaes mveis acabam se tornado muito complexas, fazendo com que muitas vezes no atendam, de fato, os requisitos impostos. A complexidade para desenvolver as aplicaes mveis e, principalmente, testlas sob um ambiente mvel exige uma adaptao no processo de teste tradicional (DANTAS, 2009).

Por esse motivo, de extrema importncia o uso de um processo de testes bem definido, uma vez que no adequado testar aplicaes e dispositivos mveis apenas atravs dos tradicionais testes laboratoriais, nos quais o controle do contexto de uso mais efetivo, uma vez que tal fato difere do uso real de dispositivos e aplicaes de natureza mvel. O uso corrente de tais dispositivos ocorre em ambientes e circunstncias as mais diversas, por exemplo, no meio da rua, no meio da selva, na praia, durante uma forte chuva ou mesmo um furaco. Assim sendo, preciso diminuir as diferenas entre os ambientes de teste e os ambientes reais de uso (FERREIRA, 2007). Nesse cenrio, pode-se afirmar que o processo de teste tradicional falha em questes que so especficas do ambiente mvel e, portanto, deve ser adaptado para incorporar as restries intrnsecas do ambiente mvel, alm de ter que considerar as caractersticas comuns do processo de teste de aplicaes tradicionais (DANTAS, 2009).

3.1.1 Guias de Visitas Mveis No contexto de aplicativos mveis, temos o domnio de guias de visitas mveis. Segundo Marinho et al. (2010), esse domnio formado por aplicaes que rodam em dispositivos mveis para ajudar os visitantes em um ambiente desconhecido (museus, parques, cidades, dentre outros). Baus et al. (2004) fizeram um levantamento de alguns guias mveis e os comparam com relao a alguns critrios que so caractersticas de guias mveis. Essas caractersticas so apresentadas a seguir: Capacidade de adaptao: a aplicao deve se adaptar as mudanas que ocorrem em seu ambiente fsico e virtual; Interface e interao com o usurio: a interface de usurio apresentada por um sistema e os meios de interao so as partes do sistema que so mais aparentes para o seu utilizador e to claramente esses fatores influenciam a percepo de um usurio do sistema; Uso de mapas: Assistentes mveis podem ir alm de seus antepassados de papel de vrias maneiras. Eles podem selecionar dinamicamente qual seo do mapa para mostrar, em que escala e o que retratar no mapa, bem como personalizando-o para a tarefa atual e do usurio;

Arquitetura: Apesar de no estar diretamente aparente para o usurio, a arquitetura tem um serio impacto sobre o sistema em termos de extensibilidade e adaptabilidade. Logo, deve ser levada em considerao.

De acordo com Marinho et al. (2010), pode-se ainda apresentar alguns requisitos especficos para esse domnio de aplicao: Cadastrar Perfil do Visitante, Listar Roteiro de Visita, Recuperar Localizao, Recuperar Mapa, Recuperar Eventos, Recuperar Perfil do Ambiente, Recuperar Itens, Recuperar Perfil do Item, Recuperar Texto, Recuperar Imagem e Recuperar Vdeo. Geralmente, um sistema mvel sofre de graves restries de recursos e, ao mesmo tempo, ele tambm tem de lidar com a situao em constante mudana do usurio. Este um dos principais desafios na concepo de guias mveis (BAUS et al., 2004). Outro desafio a melhor forma de design de interfaces que permitem a localizao do usurio para acessar os servios prestados por um sistema de uma forma intuitiva. Devido aos recursos limitados da maioria dos dispositivos mveis por exemplo, em termos de tamanho da tela, memria e poder computacional esta tarefa acaba tornandose mais difcil (BAUS et al., 2004). Levando em considerao as limitaes dos dispositivos mveis e as caractersticas do ambiente mvel, como a mobilidade, o processo de teste para este tipo de aplicao acaba se tornando mais complexo e especfico, necessitando de uma adaptao. 3.2 Testes de Software Visando poder atender as expectativas do cliente e oferecer produtos de qualidade, o teste de software possui importncia dentro do processo de desenvolvimento de uma aplicao, uma vez que busca garantir que todas as funcionalidades do software estejam em funcionamento de acordo as especificaes dos clientes. Algumas definies de testes de software podem ser encontradas na literatura: Teste um conjunto de atividades que podem ser antecipadamente planejadas e conduzidas sistematicamente, com o objetivo de encontrar erros, defeitos e/ou falhas no sistema (PRESSMAN, 2006); Teste um processo de executar um programa com o objetivo de encontrar erros (MYERS, 2004); Teste uma tcnica dinmica de verificao e validao

(SOMMERVILLE, 2007);

O teste uma atividade realizada para avaliar a qualidade do produto, e para melhor-lo, atravs da identificao de defeitos e problemas (IEEE, 2004).

importante diferenciar os conceitos de defeito, erro e falha. Defeito uma imperfeio do produto, ele se refere a algo que est implementado no cdigo de maneira incorreta. Falha o resultado errado provocado por um defeito ou condio inesperada. Por esse motivo, um defeito pode provocar a ocorrncia de um erro durante a execuo de um programa e levar a um estado inconsistente ou inesperado e o mesmo pode levar a uma falha fazendo com que o resultado produzido seja diferente do resultado esperado (DELAMARO et al., 2007). A etapa dos testes engloba dois processos importantes que so a verificao e validao (BEQUE, 2009). A primeira consiste em verificar se o software est de acordo com suas especificaes e a segunda, a validao, em conferir se o software atende s expectativas do cliente (SOMMERVILLE, 2007). V&V abrange uma srie de atividades de garantia da qualidade do software (Software Quality Assurance - SQA) e tambm pode ser referenciada como Validao, Verificao e Testes (V&VT) (DANTAS, 2009). As atividades de V&VT devem ser conduzidas durante todo o processo de desenvolvimento de software, desde a sua concepo e podem ser divididas como estticas e dinmicas (DELAMARO et al., 2007). Nas tcnicas estticas, tais como as inspees de software no so necessrias a execuo de um programa ou modelo executvel. As inspees verificam qualquer representao legvel do sistema, tais como os documentos de requisitos e os diagramas de projeto, mas so mais utilizadas para inspeo de cdigo-fonte. J as dinmicas, como, por exemplo, os testes de software devem ser conduzidas pela execuo de um programa (DANTAS, 2009). As inspees so bastante usadas no processo de software, mas elas no podem verificar como o software realmente funcionar, questes como confiabilidade e desempenho s podero ser tratadas com os testes de software (SOMMERVILLE, 2007). O principal objetivo da atividade de teste aumentar a confiabilidade e garantir a qualidade dos produtos de software produzidos (KRUG, 2007). Nas subsees seguintes sero apresentados conceitos tcnicas e tipos de testes e as atividades do processo de testes no desenvolvimento de software. 3.2.1 Tcnicas e Tipos de Testes

Na tentativa de reduzir custos e melhorar a qualidade dos produtos desenvolvidos, tcnicas e critrios que auxiliam na conduo e avaliao do teste tm sido propostas (KRUG, 2007). Elas dividem-se em tcnicas de teste baseado no conhecimento da estrutura lgica do programa (caixa branca), tcnicas de teste onde apenas precisa-se ter o conhecimento das entradas e sadas possveis do sistema (caixa preta), e ainda tcnicas de caixa cinza (BEQUE, 2009). Abaixo so descritas as tcnicas existentes de testes de software: Teste de Caixa Branca: Testes Caixa Branca ou testes estruturais consistem em uma abordagem de testes que so derivados do conhecimento da estrutura e da implementao do software

(SOMMERVILLE, 2007). O testador busca testar e conhecer todo o cdigo do sistema, examinando o caminho lgico para verificar seu funcionamento (BEQUE, 2009); Teste de Caixa Preta: Nesta abordagem de teste, o programa visto como uma caixa preta. Portanto, o executor dos testes no tem acesso ao cdigo fonte (OLIVEIRA, 2007). Segundo Myers (2004), o propsito descobrir situaes em que o comportamento do programa no est de acordo com o especificado; Teste de Caixa Cinza: os testes caixa cinza consistem na combinao entre os testes de caixa preta e os testes de caixa branca. Esta tcnica analisa a parte lgica mais a funcionalidade do sistema, fazendo uma comparao do que foi especificado com o que est sendo realizado (BEQUE, 2009). No entanto, existem diversos tipos de testes tambm citados como tcnicas, fases ou mtodos para testar o software. Contudo, existem muitas maneiras de se testar o software, dependendo do tipo de aplicao que se deseja testar, e, portanto, os objetivos do teste podem variar (DANTAS, 2009). Para testar propriedades do sistema como, por exemplo, medir confiabilidade, avaliao de usabilidade, aceitao, corretude, funcionalidade e conformidade, pode-se utilizar diferentes objetivos de testes (IEEE, 2004). Eles so descritos a seguir: Teste de Desempenho: verifica se o software satisfaz os requisitos de desempenho especficos, por exemplo, capacidade e tempo de resposta; Teste de Estresse: exercita o software com a carga mxima projetada e tambm ultrapassando essa carga para ver como o mesmo se comporta;

Teste de Regresso: um re-teste seletivo de um sistema ou componente para verificar se as modificaes no causaram efeitos indesejados; Teste de Usabilidade: avalia o quanto fcil para os usurios finais a usar e aprender o software, incluindo documentao do usurio, suporte nas tarefas do usurio de forma eficaz e habilidade do sistema de se recuperar de erros dos usurios. Segundo Bastos et al. (2007), podemos ainda classificar testes da seguinte forma: Teste de Aceitao: teste feito pelos usurios para validar a liberao do software para a produo; Teste de Integrao: executado em uma combinao de componentes para verificar se, juntos, eles funcionam corretamente, ou seja, para assegurar que as interfaces funcionam corretamente e que os dados so processados do modo certo, conforme as especificaes; Teste Funcional: processo de busca por no-conformidades entre o programa ou mdulo e seus requisitos ou definies; Teste Unitrio: verificam o funcionamento de um pedao isolado do sistema ou software, ou algo que possa ser testado separadamente, podendo, inclusive, ser um programa ou componente; Teste de configurao: verifica se o software est apto a rodar em diferentes verses ou configuraes de ambiente (hardware ou software); Teste de Sistema: executado pelos testadores para apurar se o software ou programa est fazendo exatamente aquilo que foi definido em seus requisitos; Teste de Recuperao: valida a capacidade e a qualidade da recuperao do software aps crashes, falhas de hardware ou outros problemas catastrficos. Os objetivos de teste no devem ser aplicados isoladamente, eles devem ser usados de forma complementar para que o teste seja feito de forma mais completa e eficaz. Eles podem ser aplicados de acordo com a fase de desenvolvimento em que o software se encontra ou tambm podem ser utilizados de acordo com o tipo de aplicao a ser testada (DANTAS, 2009).

3.2.2 Processo de Testes O processo de teste de software define como os testes sero planejados, projetados, implementados, executados e avaliados atravs de um conjunto de atividades, artefatos e papis (SOUZA, 2008). A seguir so apresentadas as principais atividades de um processo de testes extradas de (BASTOS et al., 2007) e descritas seqencialmente: Acesso ao Plano de Desenvolvimento: Pr-requisito para a construo do Plano de teste. Durante este passo, os testadores verificao se o plano de desenvolvimento est completo e correto. Com base nesse plano, ser possvel estimar a quantidade de recursos necessrios para testar a soluo a ser implementada; Desenvolvimento do Plano de Teste: A preparao do Plano de Teste segue os mesmo padres da preparao do Plano de Desenvolvimento: a estrutura dos planos a mesma, mais o contedo variar em funo do grau de risco associado com o software que est sendo desenvolvido; Inspeo ou teste dos requisitos de software: Avaliao dos requisitos de software mediante o uso da tcnica de verificao. Requisitos incompletos, inexatos ou inconsistentes levam ao insucesso de boa parte do desenvolvimento de software; Inspeo ou teste do desenho de software: Avaliao do desenho (interno e externo) do software atravs da tcnica de verificao. O interesse da equipe de teste estar concentrado em verificar se o desenho atinge os objetivos dos requisitos, bem como se eficaz e eficiente para operar no hardware previsto; Inspeo ou teste da construo do software: O mtodo escolhido para construir o software a partir do desenho do sistema determinar o tipo e a extenso dos testes que sero necessrios. Quanto mais a construo se tornar automatizada, menos testes sero requeridos durante esta fase; Execuo dos testes: Envolve testar o cdigo em estado dinmico. A abordagem, as ferramentas e os mtodos especificados no Plano de Teste sero empregados para validar o atendimento dos cdigos executveis aos requisitos do software as suas especificaes de desenho; Teste de aceitao: Avaliao da aplicabilidade e usabilidade do software pelos usurios. Alm dos requisitos documentados, os usurios costumam

10

testar outras funes no documentadas e suas expectativas. Essas situaes precisam ser avaliadas com cuidado para identificar se devem ser consideradas erros ou mudanas. De modo geral, os testes de aceitao devem ser orientados para avaliar se o software est apto a ser implementado com o nvel de erros ainda no corrigidos; Informao dos resultados dos testes: A informao sobre os testes um processo contnuo. Pode ser verbal (no recomendado) ou escrito (formalizado), porm importante que os defeitos e os tpicos envolvidos sejam relatados aos setores envolvidos o mais rpido possvel, de modo que as correes sejam feitas com menor custo; Teste de instalao do software: Visa verificar a interoperabilidade com o sistema operacional, com outros software relacionados e com os procedimentos operacionais. O resultado vai determinar se o software est ou no em condies de implantado no ambiente de produo; Teste das mudanas no software: Embora sejam consideradas o dcimo passo, as atividades desta fase cobrem as mudanas durante o processo de implementao e aquelas que iro ocorrer aps a implementao do software; Avaliao da eficcia dos testes: As melhorias no processo de teste podem ser verificadas com maior exatido pela avaliao da eficcia dos testes ao trmino de um projeto. Deve ser realizada pelos testadores, porm envolve os desenvolvedores, usurios e outros profissionais inseridos no processo de qualidade. Bastos et al. (2007), descrevem ainda os seguintes papis dentro do processo de testes de software: Lder do projeto de teste: Tcnico responsvel pela liderana de um projeto de teste especfico, normalmente relacionado a um sistema de desenvolvimento, seja um projeto novo ou uma manuteno; Arquiteto de teste: o tcnico responsvel pela organizao da infraestrutura de teste: montagem do ambiente de teste e capacitao da equipe para executar seu trabalho nesse ambiente de teste; Analista de teste: Tcnico responsvel pela modelagem e pela elaborao dos casos de teste e pelos scripts de teste;

11

Testador: Tcnico responsvel pela execuo dos casos de teste e scripts de teste.

Dentro de um processo de teste, podemos identificar os seguintes artefatos encontrados em RUP (2003): Plano de Teste: A definio das metas e dos objetivos dos testes no escopo da iterao (ou projeto), os itens-alvo, a abordagem adotada, os recursos necessrios e os produtos que sero liberados; Sumrio de Avaliao de Testes: O Sumrio de Avaliao de Testes organiza e apresenta uma anlise resumida dos Resultados do Teste e as principais medidas do teste para reviso e avaliao, geralmente executadas pelos principais envolvidos na questo de qualidade. Esse sumrio tambm pode conter um relatrio geral sobre qualidade relativa e fornecer recomendaes para um futuro esforo de teste; Script de Teste: Instrues passo a passo que permitem a execuo de um teste. Os Scripts de Teste podem assumir a forma de instrues de texto documentadas e executadas manualmente ou de instrues que podem ser lidas pelo computador para ativar a execuo automtica do teste; Caso de Teste: a definio (geralmente formal) de um conjunto especfico de inputs de teste, condies de execuo e resultados esperados, identificados com a finalidade de avaliar um determinado aspecto de um Item de Teste-alvo; Guia de Teste: um registro documentado de qualquer um destes itens: decises de controle e execuo do processo, padres que devem servir de base ou orientaes de boas prticas que geralmente devem ser seguidas pelos praticantes de um projeto especfico; Resultados do Teste: Um conjunto de informaes resumidas determinadas pela anlise de um ou mais Registros de Teste e Solicitaes de Mudana, que permitem uma avaliao relativamente detalhada da qualidade dos Itens de Teste-alvo e do status de cada esforo de teste. Muitas vezes, tambm consultado como um repositrio maior de vrios Resultados do Teste. Devido as aplicaes mveis possurem uma srie de limitaes em relao as aplicaes desktop, como memria, processamento, tamanho da tela, entre outros. O processo

12

de teste para tais aplicaes deixa de ser uma tarefa trivial e passa a levar em considerao alguns fatores do ambiente mvel, como a mobilidade. Segundo Dantas (2009), o processo de teste para as aplicaes mveis diferente pelas seguintes razes: Aumento na quantidade de usurios mveis: O nmero de pessoas que possuem dispositivos mveis tem crescido muito, assim como a acesso internet a partir do mesmo; Menos Experincia: as pessoas tm menos experincia para usar o dispositivo para acessar a internet e outros aplicativos; Tipos de Dispositivo: na literatura, no existe um padro para os diversos modelos de dispositivos mveis no que se refere ao uso, forma ou interfaces. As caractersticas variam de tamanho e resoluo de tela, tipos de entrada do dispositivo (teclado ou tela sensvel ao toque), diferente formatos de teclado (numrico ou QWERT, teclas de navegao direcionais e softkeys) at outras funcionalidades (acelermetro, cmera e mp3). Por causa disso, cada dispositivo pode apresentar a aplicao de uma forma diferente Um dos desafios garantir que a aplicao seja genrica o suficiente para se comportar de maneira semelhante em todos os modelos de dispositivos; Teste no emulador e dispositivo mvel: as aplicaes mveis podem ser testadas em dois ambientes: emulador no computador e no dispositivo mvel. No entanto, devido a diversidade de modelos de dispositivos mveis no mercado, um desafio garantir que a adaptao seja genrica o suficiente para se comportar de maneira semelhante em todos os modelos de dispositivos; Teste de laboratrio e em campo: Os testes de aplicaes mveis podem ser realizados em laboratrio e em campo. O teste em laboratrio feito com um usurio sentado e um dispositivo mvel apoiado sobre uma mesa (ou um trip) ou um emulador no computador executando a aplicao. O teste em campo pode ser feito com usurios reais (NOKIA, 2004 apud DANTAS, 2009) usando os dispositivos mveis em ambiente do mundo real, dessa forma, ele captura fatores especficos do ambiente mvel, por

13

exemplo, interrupes, movimento fsico, barulho, diferentes condies de iluminao s podem ser avaliadas em campo. 3.3 Testes em Aplicaes Mveis Em virtude das limitaes dos dispositivos mveis como j foi citado anteriormente, e as caractersticas da mobilidade, o processo de teste em aplicaes mveis torna-se mais complexo, uma vez que o usurio pode ter diversos tipos de interao ao executar uma aplicao mvel. Devido esse fator, durante o teste de aplicaes mveis, os testadores enfrentam problemas tpicos do ambiente mvel que so (DANTAS, 2009): Quais tipos de teste so necessrios para verificar fatores do ambiente mvel? Quais tipos de caractersticas devem ser testadas nas aplicaes mveis, em laboratrio ou em campo? Quais fatores devem ser avaliados no teste de usabilidade da aplicao mvel? Como testar as aplicaes mveis na diversidade de modelos de dispositivos mveis? A mobilidade no faz parte das aplicaes desktop e dessa forma, no tratada no seu processo de teste (DANTAS, 2009). Por esse motivo os testes em aplicaes mveis devem levar em conta a conceito de mobilidade e como sero executados. Segundo She et al.(2009), o teste de aplicativos para dispositivos mveis, um processo no-trivial, devido heterogeneidade inerente de plataformas de dispositivos mveis. Em geral, a aplicao ter de rodar em uma variedade de dispositivos diferentes, cada uma com suas prprias limitaes de recursos. Alm disso, o uso de mquinas virtuais para executar as aplicaes no mscara a heterogeneidade dos dispositivos (WESSON and VAN DER WALT, 2005). Em vez disso, muitos aspectos do comportamento do aplicativo so determinados pelo dispositivo subjacente. Na prtica, uma aplicao desenvolvida para execuo em uma mquina virtual pode se comportar corretamente quando implantado em um subconjunto de dispositivos, mas, inesperadamente, e/ou contrrio sua especificao, quando implantado em algum outro dispositivo (WESSON and VAN DER WALT, 2005).

14

Foi realizado um levantamento de alguns trabalhos de testes de aplicaes mveis para analisar quais os tipos de testes que so geralmente realizados para este domnio de aplicao, este levantamento apresentado na Tabela 1. Ao analisar a Tabela 1 verificou-se que a maioria dos trabalhos que tratam de testes para aplicaes mveis focam nos testes funcionais, testes de desempenho e testes de usabilidade. Com base nisto, ser proposto um processo de testes para estes tipos especficos de teste.

Tabela 1: Levantamento dos tipos de teste utilizados em aplicaes mveis.


Artigo (DUH, 2006) Tipo de Teste Usabilidade Descrio Este trabalho busca fazer uma comparao entre os testes de laboratrio e de campo por meio de uma anlise da execuo de um teste, onde os dados foram coletados e comparados. Neste artigo apresentado o MobileTest O MobileTest uma ferramenta de automao de testes caixa preta em aplicaes mveis. A ferramenta adota abordagem baseada em eventos sensveis para simplificar o projeto de casos de teste e aumentar a eficincia os casos de teste e reutilizao. Neste trabalho proposta uma ferramenta para automatizar testes para aplicativos mveis. As principais caractersticas da ferramenta incluem a execuo de testes automatizados e relatrios, suporte para mltiplas facetas de teste caixa-preta, a independncia, aplicaes e interfaces abertas e apoio a extensibilidade. Segundo Delamaro (2006 apud IEEE, 2004), Os testes de aplicaes so realizados em duas etapas distintas, em primeiro lugar a rea de trabalho usando emuladores e, segundo, sobre o dispositivo mvel de destino em si, j que os emuladores no podem garantir a compatibilidade completa com os dispositivos de destino. A soluo para esse problema fornecer uma estratgia que permite o teste a ser executado multi-plataforma. Este trabalho prope uma ferramenta para o apoio a soluo deste problema. Aplicao Telefones

(BO, et al 2009)

Teste Funcional

Aplicaes mveis em geral

(SHE, 2009)

Teste Funcional

Aplicaes mveis em geral

(DELA MARO, 2006)

Teste Estrutural

(ZHIFA NG, 2010)

Teste Funcional

Este trabalho apresenta um conjuntos de tcnicas de automao de teste de software para aplicaes mveis. As tcnicas apresentadas so abordadas so projetadas e implementadas no mbito do MobileTest. Em seguida, feita uma comparao entre os teste realizados no MobileTest e testes manuais.

No trabalho, a ferramenta usa como exemplo um conjunto de programas (midlets) chamado de Demos, eles so fornecidos pela SunMicrosystems. Estes midlets exemplificam vrias caractersticas do tempo de execuo Java para dispo sitivos mveis como, por exemplo, o uso de fontes, linhas, cores e rede. No exemplo usado um midlets chamado FontTest. Jogo desenvolvido em Symbian S60 Mahjonh

15

(KIM et al, 2009)

Desempenho

(ZHANG ; ADIPT, 2005) (KIM et al, 2009)

Usabilidade

Desempenho

Neste trabalho proposto mtodos de teste de desempenho com base em desenvolvimento dirigido por testes em relao a fatores nofuncionais. E apresenta uma ferramenta para auxiliar os testes de desempenho na fase de desenvolvimento do software. Prope uma estrutura genrica para a realizao de testes de usabilidade para aplicaes mveis atravs de discutir questes de pesquisa, metodologias e atributos de usabilidade. O trabalho prope a realizao de testes de desempenho no nvel de teste de unidade em uma forma semelhante realizao de teses de nvel de sistema, ao invs de concentrar tais testes na fase final de desenvolvimento. proposto tambm um mtodo para apoio de testes de desempenho usando um banco de dados criado atravs de testes de benchmark em um teste baseado em emulador. Por fim, apresentada uma ferramenta que suporta o mtodo proposto de testes de desempenho e verifica a confiabilidade do teste de desempenho atravs dos resultados dos experimentos.

Aplicaes mveis em geral

Aplicaes mveis em geral

Aplicaes mveis em geral

4. PROCEDIMENTOS METODOLGICOS Com o avano da tecnologia, os dispositivos mveis foram se tornando cada vez mais populares e ganhando espao no mercado. Por esse motivo, esto em constante inovao, resultando assim, em uma enorme variedade de modelos. Em conseqncia disso, o desenvolvimento de aplicaes cresceu constantemente, buscando atender as necessidades dos usurios que por sua vez passaram a buscar diferentes tipos de servios. No entanto, o contexto de utilizao de servios mveis e informaes possuem algumas particularidades que as diferem de outras aplicaes. Estas diferenas podem ser determinadas pelas caractersticas especficas dos dispositivos mveis como: restrio de hardware e limitaes do ambiente de comunicao sem fio (BONIFCIO et al., 2010). Alm das caractersticas citadas acima, Baus et al. (2004) afirmam que os guias mveis tambm tem de lidar com a situao em constante mudana do usurio. Aumentando ainda mais sua complexidade. A complexidade para desenvolver as aplicaes mveis e, principalmente, testlas sob um ambiente mvel exige uma adaptao no processo de teste tradicional (DANTAS, 2009). Neste contexto, ser proposto um processo de testes especfico para um guia de visita mvel, onde o mesmo dever levar em considerao fatores do ambiente mvel e as limitaes dos dispositivos mveis.

16

Para isso, foi feito um levantamento dos tipos de teste para aplicaes mveis, conforme na Tabela 1 e uma pesquisa sobre caractersticas de guias de visita mveis, realizada em Baus et al. (2004). Tambm sero levados em conta os requisitos identificados por Marinho et al. (2010) para esse domnio de aplicao: Cadastrar Perfil do Visitante, Listar Roteiro de Visita, Recuperar Localizao, Recuperar Mapa, Recuperar Eventos, Recuperar Perfil do Ambiente, Recuperar Itens, Recuperar Perfil do Item, Recuperar Texto, Recuperar Imagem e Recuperar Vdeo. Com base nos requisitos de guias de visitas mveis apresentado anteriormente e com o levantamento dos principais tipos de teste, foi definido que o processo ir focar nos seguintes tipos te teste: Teste Funcional, Teste de Desempenho e Teste de Usabilidade. O processo ser modelado utilizando a Eclipse Process Framework Composer EPF Composer1, ferramenta que auxilia na criao e customizao de processos. A modelagem do processo na ferramenta EPF Composer funciona da seguinte forma: So criados os papis e artefatos, cada um com suas devidas descries. Logo em seguida so criadas as atividades do processo. As atividades devem possuir uma descrio, uma seqncia de passos para a sua execuo. Posteriormente, deve-se associar a atividade os artefatos de entrada e os produtos gerados pela mesma, bem como que papel ser responsvel por executla. Em seguida criado um fluxo contendo a ordem de execuo das atividades. Com o desenvolvimento do processo, iremos aplic-lo nos testes do aplicativo GREat Tour. O GREat Tour um guia de visita mvel e sensvel ao contexto criado para guiar os visitantes do laboratrio de pesquisa e desenvolvimento do Grupo de Redes de Computadores, Engenharia de Software e Sistemas (GREat) da Universidade Federal do Cear (MARINHO et al., 2010). Este aplicativo executado no dispositivo mvel do visitante e fornece informaes do laboratrio atravs de mapas de localizao. medida que o visitante percorre o ambiente, as informaes sobre as salas, os seus pesquisadores e as outras mdias so exibidas. O comportamento da aplicao pode ser adaptado de acordo com o contexto atual do visitante, que inclui a sua localizao indoor, seu perfil ou preferncias, as caractersticas do seu dispositivo mvel e as informaes sobre outras pessoas presentes na sala visitada (MARINHO et al., 2010). De maneira simplificada, o trabalho proceder da seguinte forma:

http://www.eclipse.org/epf/

17

1. Reviso Bibliogrfica sobre o domnio de guias de visita mveis no contexto de aplicaes mveis, teste de software e processos de software; 2. Definio do Processo de Teste para o Domnio de Guias de Visitas Mveis; 3. Execuo do Processo no teste do aplicativo GREat Tour; 4. Validao do Processo proposto.

5. CRONOGRAMA 2012 abr

ATIVIDADES Reviso bibliogrfica Definio do processo de teste para guias de visitas mveis Execuo do processo Validao do processo Redao Final do TCC Defesa do Trabalho

fev x x x x

mar x x x x

mai

Jun

x x x

x x x

x x x

x x x

x x

6. REFERNCIAS BASTOS, A., RIOS, E., CRISTALLI, R., MOREIRA, T. Base de conhecimento em teste de software. So Paulo: Martins, 2007. BAUS, J., CHEVERST, K., KRAY, C. Survey of Mobile Guides. In: Mapbased mobile services Theories, Methods and Implementations. Chapter 13. Springer-Verlag., Zipf, A., Meng, L. and Reichenbacher, T. (Eds), 2005. BEQUE, L. T. Avaliao dos Requisitos para Teste de um Sistema Operacional Embarcado. Dissertao (Mestrado) - Curso de Programa de Ps-graduao em Computao, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2009. BERTOLLO, G., SEGRINI, B., FALBO, R. A. Definio de Processos de Software em um Ambiente de Desenvolvimento de Software Baseado em Ontologias. In: SIMPSIO BRASILEIRO DE QUALIDADE DE SOFTWARE. 2006, Vila Velha, ES., 2006. BO, J., XIANG, L., XIAOPENG, G. MobileTest: A Tool Supporting Automatic Black Box Test for Software on Smart Mobile Devices. In: SECOND INTERNATIONAL WORKSHOP ON AUTOMATION OF SOFTWARE TEST, 2007. BONIFACIO, B. A., SANTOS, D. V., ARAUJO, C., VIEIRA, S., CONTE, T. U. Aplicando Tcnicas de Inspeo de Usabilidade para Avaliar Aplicaes Mveis. In: SIMPSIO DE FATORES HUMANOS EM SISTEMAS COMPUTACIONAIS, Belo Horizonte, 2010.

18

GRUN, C., WERTHNER, H., PROLL, B., RETSCHITZEGGER, W., SCHWINGER, W. Assisting Tourists on the Move- An Evaluation of Mobile Tourist Guides. In: 7th International Conference on Mobile Business, pp. 171-180, 2008. DANTAS, V. L. L. Requisitos para Testes de Aplicaes Mveis. Dissertao (Mestrado) UFC, Fortaleza, 2009.
DELAMARO, M. E., MALDONADO, J. C., JINO, M. Introduo ao teste de software. Rio de Janeiro: Elseiver, 2007. 384p.

DELAMARO, M. E., VINCENZI, M. R., MALDONADO J. C. A Strategy to Perform Coverage Testing of Mobile Applications. In: AST 06: International workshop on Automation of software test., 2006. Duh, H.B.-L., TAN G.C.B., CHEN, V.H.-h. Usability Evaluation for Mobile Device: A Comparison of Laboratory and Field Tests, In: Proceedings of Mobile HCI conference 2006, ACM, 2006. EISENHAUER, M., OPPERMANN, R., SCHMIDT-BELZ, B. Mobile Information Systems for all, In: Proceedings of the Tenth International Conference on HumanComputer Interaction 2003, pp. 354 358. FERREIRA, D. S., Abordagem Hbrida para Avaliao da Usabilidade de Dispositivos Mveis. Dissertao (Mestrado) - Curso de Ps-graduao em Informtica, Universidade Federal de Campina Grande, Campina Grande, 2007. FUGGETTA, A. Software Process: A Roadmap. In: Proceedings of The Future of Software Engineering, ICSE2000, Limerick, Ireland, 2000. IEEE Guide to the Software Engineering Body of Knowledge. IEEE Computer Society, 2004. KIM, H., CHOI, B., YOON, S. Performance Testing based on Test-Driven Development for Mobile Applications, In: 3rd International Conference on Ubiquitous Information Management and Communication 2009. KIM, H., CHOI, B.,WONG, W. E. Performance Testing of Mobile Applications at the Unit Test Level, In: Third IEEE International Conference on Secure Software Integration and Reliability Improvement. Xangai, China, 2009. KRUG, M. R. Aumento da Testabilidade do Hardware com o Auxilio de Tcnicas de Teste de Software. Tese (Doutorado) - Curso de Programa de Ps-graduao em Computao, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2007. LEE, V.; SCHNEIDER, H e SCHELL, R. Aplicaes Mveis - Arquitetura, projetos e desenvolvimento. So Paulo: Pearson Education do Brasil, 2005. MARINHO F. G., LIMA F. F. P., NETO J. B. B., FILHO J. B. F., COSTA A. L., ROCHA L., DANTAS V. L. L., ANDRADE R. M. C., TEIXEIRA E., WERNER C. M. L. Uma proposta

19

de arquitetura para linhas de produto de software aninhadas no domnio de aplicaes mveis e sensveis ao contexto, CBSOFT 2010, SBCARS, 2010. MYERS, J. G. The Art of Software Testing. Second edition Revised and updated by Tom Badgett and Todd M. Thomas with Corey Sandler. John Wiley and Sons, New Jersey, U.S.A., 2004, 234 p. OLIVEIRA, R. B. Framework Functest: Aplicando Padres de Software na Automao de Testes Funcionais. Dissertao (Mestrado) - Curso de Mestrado em Informtica Aplicada, Universidade de Fortaleza, Fortaleza - CE, 2007. PRESSMAN, R. S. Engenharia de Software. Makron Books, 6 ed., 2006. RUP Rational Unified Process. Verso 2003. Disponvel em <http://www.wthreex.com/rup/>. Acesso em 13 de Outubro de 2011. SHE, S., SIVAPALAN, S. WARREN, I. Hermes: A Tool for Testing Mobile Device Applications. In: AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, 2009. SOMMERVILLE, I. Engenharia de Software. 8. ed. So Paulo: Pearson, (2007). SOUZA, E. P. R. RBTProcess: Modelo de Processo de Teste de Software baseado em Riscos. Dissertao (Mestrado) - Universidade de Pernambuco, Recife, 2008. SILVA, A. L. Modelo IDS para usurio de dispositivos mveis. Dissertao (Mestrado) Curso de Ps-graduao em Engenharia de Eletricidade, Universidade Federal do Maranho, So Luiz, 2008. WESSON, J. L. and VAN DER WALT, D. F. Implementing mobile services: does the platform really make a difference?. In: SAICSIT 05: Proceedings of the 2005 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries., Republic of South Africa: South African Institute for Computer Scientists and Information Technologists, 2005. ZHANG, D. and ADIPAT, B. Challenges, methodologies, and issues in the usability testing of mobile applications. International Journal of Human Computer Interaction 18, 3 (2005), 293-308. ZHIFANG, L., BIN, L., XIAOPENG, G. Test Automation on Mobile Device. In: 5th Workshop on Automation of Software Test, 2010.

Você também pode gostar