universidade estadual de maringÁ centro de …mestrado/diss/2013/carmizini.pdf · ao padre...

196
UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO MARCELO ANDERSON CARMIZINI Uma abordagem de testes para aplicações móveis Maringá 2013

Upload: trinhngoc

Post on 09-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE ESTADUAL DE MARINGÁ CENTRO DE TECNOLOGIA

DEPARTAMENTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

MARCELO ANDERSON CARMIZINI

Uma abordagem de testes para aplicações móveis

Maringá 2013

MARCELO ANDERSON CARMIZINI

Uma abordagem de testes para aplicações móveis

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação do Departamento de Informática, Centro de Tecnologia da Universidade Estadual de Maringá, como requisito parcial para obtenção do título de Mestre em Ciência da Computação. Orientadora: Profa. Dra. Elisa Hatsue Moriya Huzita

Maringá 2013

Dedico esta dissertação à MINHA FAMÍLIA: meu pai Ivo, minha mãe Jandira e meu irmão Geovane, por todo o esforço, amor, carinho e compreensão.

AGRADECIMENTOS

Ao meu querido Deus por tantas graças e bênçãos recebidas. Ao Padre Reginaldo

Manzotti pelas belíssimas palavras de amor e carinho, que renovaram e aumentaram a minha

Fé em Jesus Cristo durante as piores tribulações. A todos os Santos e Anjos.

Aos meus pais – Ivo Carmizini e Jandira Natalina Foiato Carmizini – por todo o amor,

incentivo e suporte; ao meu irmão – Geovane Luis Carmizini – pelos momentos de

descontração e apoio; à minha noiva – Gilmara Dias Galvão – pelo amor, carinho e

compreensão; aos meus avós – Jose Carmizini “Béppi” (in memorian) e Rosa Iatzac (in

memorian).

As minhas vizinhas e amigas – Sra. Izidoria e Sra. Cecília – por todo o carinho e as

orações (e também pelos pedaços de bolo); aos meus padrinhos e tios – Sr. Gutemberg e Sra.

Lila Dantas; Sr. Olides Foiato e Família; Sr. Miguel Carmizini e Família. As famílias

Carmizini (Carmisin, Carmesini, Carmezini, Carmisini) e Foiato (Foiatto).

Aos professores: Dr. Clodis Boscarioli, Dr. Evando Carlos Pessini e Dra. Giani Carla

Ito, que acreditaram em mim, recomendando-me a este programa de pós-graduação.

A minha orientadora Profa. Dra. Tania Fatima Calvi Tait por me aceitar no programa

de pós-graduação e depositar a sua confiança em mim, além das orientações e ensinamentos.

A Profa. Dra. Elisa Hatsue Moriya Huzita pelas conversas, dicas e orientações. A Maria Inês

Davanço pelas conversas e orientações, além da disposição em esclarecer as dúvidas sobre as

entregas de documentos.

A todos os professores do Departamento de Informática (DIN-UEM) que contribuíram

direta ou indiretamente com a minha formação, de modo especial: Prof. Dr. Ademir

Constantino, Prof. Dr. Airton Polidorio, Prof. Dr. Dante Alves Medeiros Filho, Prof. Dr.

Donizete Bruzarosco, Prof. Dr. Edson Alves de Oliveira Junior, Prof. Dr. Franklin Cesar

Flores, Profa. Dra. Itana Gimenes, Profa. Dra. Luciana Martimiano, Prof. Dr. Nardênio

Martins, Prof. Dr. Ronaldo Augusto de Lara Gonçalves, Prof. Dr. João Angelo Martini (in

memorian).

A todos os amigos e amigas de mestrado, de modo especial: Eliane Becker (pelas

viagens, conversas e orientações), André Ortoncelli (pela camaradagem e hospedagem),

Landir Saviniec, Daiane Piccolo, Fábio Splendor, Renato Peterman, George Oliveira,

Euclides Matusse (pelas conversas e discussões sobre Engenharia de Software e Gestão de

Projetos de Software), Rafael Vivian (pelas dicas, orientações e por me apresentar a banda

Blackberry Smoke), Carlos Beleti, André Dias Martins, Sidgley (pelas dicas e orientações),

Guilherme da Costa Silva, Elder, Juliano Foleiss, André D’Amato que de alguma forma

contribuíram para a realização deste trabalho.

A todos os amigos e amigas de Datacoper, de modo especial: Éder Machado,

Leonardo Favaro, Marcelo Gimenes, Paulo Rogério Antiquera, Alan Bruch, Luiz Valter

Ferreira Filho, Jeferson Mombach de Sousa, Cleiton Siqueira, Leonardo Queiroz (meu

compadre), Márcio Lunardi Joris, Eduardo Frighetto, Rodrigo Tomazeli, Marcelo Borth,

Fábio Blank, Danyel Duarte, Vicente, Marlon Ramon, Thiago Alexandre Lenz, Jarissom,

Denny Boechat, Pablo Machado, Tininha, Sr. Sidnei Terribele e Sr. Cezar Bernardon.

A todos os amigos e amigas de Unipar, de modo especial: Prof. Angelo Sucolotti,

Prof. Robison Meinerz (meu compadre), Profa. Dra. Sueli Poppi Borba, Prof. William

Pelissari, Prof. Dr. Luiz Fernando, Prof. Alisson Chiquitto, Prof. Roni Shigueta.

Ao Sr. Emerson Rios (iTeste) pela prontidão em responder vários questionamentos

sobre a dissertação, mesmo não me conhecendo pessoalmente.

Ao Prof. Dr. Edmundo Sérgio Spoto (INF/UFG) por fazer parte da banca e contribuir

com este trabalho.

A Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), a

Fundação Araucária (FA) e ao Grupo de Pesquisa em Gerenciamento de Projetos de Software

(GPGPS).

“Nossa alma espera no Senhor,

porque ele é nosso amparo e nosso escudo;

Nele, pois, se alegra o nosso coração,

em seu santo nome confiamos;

Seja-nos manifestada, Senhor, a vossa misericórdia,

como a esperamos de vós.” (Sl 33, 20-22)

Uma abordagem de testes para aplicações móveis

RESUMO

A rápida evolução do hardware dos dispositivos móveis e a demanda exponencial por

aplicações são características que desafiam as organizações a fornecer produtos de software

que satisfaçam as reais necessidades dos usuários de tais dispositivos e, também, serem

corretos, seguros e confiáveis. Embora as aplicações móveis sejam desenvolvidas em

plataformas e linguagens já existentes, os desenvolvedores não possuem, muitas vezes,

familiaridade com o ambiente móvel, o qual apresenta características particulares como:

autonomia, conectividade e sensibilidade ao contexto. Dessa forma, o objetivo desta

dissertação é apresentar uma abordagem de testes para aplicações móveis, chamada TM-

Aplic, visando estabelecer uma metodologia que combine boas práticas de planejamento,

projeto e execução de testes. Além disso, a abordagem TM-Aplic considera as

particularidades das aplicações móveis em termos de tarefas, artefatos e papéis, de maneira

que auxilie na identificação de falhas e contribua com a qualidade do produto. A abordagem

proposta tem como elementos principais: a definição de um processo de testes apoiado pelo

modelo de maturidade MPT.BR e a identificação de requisitos para testes de aplicações

móveis. Para avaliar a viabilidade da abordagem TM-Aplic utilizou-se os princípios da

engenharia de software experimental.

Palavras-chave: Aplicação Móvel. Processo de Teste de Software. Testes de Aplicações

Móveis.

An approach for testing mobile applications

ABSTRACT

The rapid evolution of the hardware of mobile devices and the exponential demand for

applications are characteristics that challenge organizations to deliver software products that

meet the real needs of the users of such devices, and also being correct, secure and reliable.

Although mobile applications are developed on existing platforms and languages, developers

do not have, many times, familiarity with the mobile environment, which presents particular

characteristics such as autonomy, connectivity and context awareness. Thus, the purpose of

this dissertation is to present an approach to testing for mobile applications, called TM-

Applic, aiming establish a methodology that combines best practices in planning, design and

execution of tests. In addition, the TM-Applic approach considers the particularities of mobile

applications in terms of tasks, artifacts and roles, so to assist in identifying faults and

contribute to product quality. The proposed approach has as its main elements: the definition

of a testing process maturity model supported by MPT.BR and identification of requirements

for testing mobile applications. In order to assess the approach TM-Aplic, the principles of

experimental software engineering were used.

Keywords: Mobile Application, Software Testing Process, Testing of Mobile Applications.

LISTA DE QUADROS

Quadro 3.1. Exemplo de um catálogo de dispositivos homologados ....................................... 96

Quadro 4.1. Relatório de análise do produto .......................................................................... 111

Quadro 4.2. Relatório de objetivos do teste............................................................................ 112

Quadro 4.3. Relatório da estratégia de testes.......................................................................... 113

Quadro 4.4. Relatório da equipe de testes .............................................................................. 113

Quadro 4.5. Relatório do ambiente de testes .......................................................................... 114

Quadro 4.6. Plano de testes .................................................................................................... 114

Quadro 4.7. Observações gerais do teste ................................................................................ 117

Quadro 4.8. Caso de teste – CASO01 .................................................................................... 118

Quadro 4.9. Caso de teste – CASO02 .................................................................................... 119

Quadro 4.10. Caso de teste – CASO03 .................................................................................. 119

Quadro 4.11. Relatório de execução ....................................................................................... 120

Quadro 4.12. Registro de incidente – INCI01 ........................................................................ 120

Quadro 4.13. Registro de incidente – INCI02 ........................................................................ 121

Quadro 4.14. Relatório de acompanhamento de incidentes – ACOM01 ............................... 123

Quadro 4.15. Relatório de acompanhamento de incidentes – ACOM02 ............................... 123

Quadro B.1. Template para o relatório de análise do produto ................................................ 184

Quadro B.2. Template para o relatório de objetivos do teste ................................................. 185

Quadro B.3. Template para o relatório da estratégia de testes ............................................... 186

Quadro B.4. Template para o relatório da equipe de testes .................................................... 187

Quadro B.5. Template para o relatório do ambiente de testes ................................................ 188

Quadro B.6. Template para o plano de teste .......................................................................... 189

Quadro B.7. Template para as observações gerais do teste .................................................... 190

Quadro B.8. Template para os casos de teste ......................................................................... 192

Quadro B.9. Template para o relatório de execução do teste ................................................. 193

Quadro B.10. Template para o registro de incidente .............................................................. 194

Quadro B.11. Template para o relatório de acompanhamento de incidentes ......................... 196

LISTA DE FIGURAS

Figura 1.1. Etapas da metodologia de desenvolvimento .......................................................... 28

Figura 2.1. Características e subcaracterísticas de qualidade (adaptada de Guerra e Colombo,

2009) ......................................................................................................................................... 32

Figura 2.2. Fases do teste de software ...................................................................................... 35

Figura 2.3. Cadeia de eventos para a falha do software (adaptada de Crespo et al., 2009) ..... 37

Figura 2.4. Custo dos defeitos (Graham e Van Veenendaal, 2008) ......................................... 37

Figura 2.5. Componentes do processo de testes de software (Crespo et al., 2010a) ................ 39

Figura 2.6. Processo de teste de software (adaptada de Mao e Zhang, 2007) .......................... 40

Figura 2.7. Importância do monitoramento, controle e replanejamento do teste ..................... 41

Figura 2.8. Níveis de maturidade e principais áreas de processo do modelo TMMi (Van

Veenendaal, 2008) .................................................................................................................... 43

Figura 2.9. Fatores que definem o ambiente móvel ................................................................. 57

Figura 2.10. Processo de testes para empresas de pequeno porte (adaptada de Rodrigues,

Pinheiro e Albuquerque, 2010) ................................................................................................. 71

Figura 3.1. Composição da abordagem TM-Aplic ................................................................... 75

Figura 3.2. Subprocessos da abordagem TM-Aplic (adaptado de Dias Neto e Travassos, 2006

e Rodrigues, Pinheiro e Albuquerque, 2010) ........................................................................... 76

Figura 3.3. Diagrama da abordagem TM-Aplic ....................................................................... 78

Figura 3.4. Diagrama de atividades – Analisar produto de teste .............................................. 85

Figura 3.5. Diagrama de atividades – Definir objetivos do teste ............................................. 88

Figura 3.6. Diagrama de atividades – Definir estratégia de teste ............................................. 91

Figura 3.7. Diagrama de atividades – Definir equipe de teste .................................................. 94

Figura 3.8. Comparação entre um ambiente estático e dinâmico ............................................. 95

Figura 3.9. Diagrama de atividades – Definir ambiente de teste .............................................. 97

Figura 3.10. Diagrama de atividades – Estabelecer plano de teste ........................................... 98

Figura 3.11. Diagrama de atividades – Planejar os artefatos e dados .................................... 100

Figura 3.12. Diagrama de atividades – Identificar casos de teste ........................................... 103

Figura 3.13. Diagrama de atividades – Executar teste ........................................................... 104

Figura 3.14. Diagrama de atividades – Reportar incidentes ................................................... 106

Figura 3.15. Diagrama de atividades – Acompanhar incidentes ............................................ 107

Figura 4.1. Emulador Android 2.1 .......................................................................................... 110

Figura 5.1. Análise das respostas em relação a mediana e a moda ........................................ 138

Figura 5.2. Respostas dos participantes em relação ao nível de conhecimento em aplicação

móvel e teste de software........................................................................................................ 139

Figura 5.3. Análise das respostas dos participantes em relação ao nível de conhecimento em

aplicação móvel ...................................................................................................................... 139

Figura 5.4. Análise das respostas dos participantes em relação ao nível de conhecimento em

teste de software ..................................................................................................................... 139

Figura 5.5. Respostas dos participantes em relação a tarefa analisar produto de teste .......... 140

Figura 5.6. Análise das respostas em relação a tarefa analisar produto de teste .................... 140

Figura 5.7. Respostas dos participantes em relação a tarefa estabelecer objetivos do teste ... 141

Figura 5.8. Análise das respostas em relação a tarefa estabelecer objetivos do teste ............ 141

Figura 5.9. Respostas dos participantes em relação a tarefa definir estratégia de teste ......... 142

Figura 5.10. Análise das respostas em relação a tarefa definir estratégia de teste ................. 142

Figura 5.11. Respostas dos participantes em relação a tarefa definir equipe de teste ............ 143

Figura 5.12. Análise das respostas em relação a tarefa definir equipe de teste ...................... 143

Figura 5.13. Respostas dos participantes em relação a tarefa definir ambiente de teste ........ 144

Figura 5.14. Análise das respostas em relação a tarefa definir ambiente de teste .................. 144

Figura 5.15. Respostas dos participantes em relação a tarefa estabelecer plano de teste ....... 145

Figura 5.16. Análise das respostas em relação a tarefa estabelecer plano de teste ................ 145

Figura 5.17. Respostas dos participantes em relação a tarefa planejar os artefatos e dados .. 146

Figura 5.18. Análise das respostas em relação a tarefa planejar os artefatos e dados ............ 146

Figura 5.19. Respostas dos participantes em relação a tarefa identificar casos de teste ........ 147

Figura 5.20. Análise das respostas em relação a tarefa identificar casos de teste .................. 147

Figura 5.21. Respostas dos participantes em relação a tarefa executar testes ........................ 148

Figura 5.22. Análise das respostas em relação a tarefa executar testes .................................. 148

Figura 5.23. Respostas dos participantes em relação a tarefa reportar incidentes .................. 149

Figura 5.24. Análise das respostas em relação a tarefa reportar incidentes ........................... 149

Figura 5.25. Respostas dos participantes em relação a tarefa acompanhar incidentes ........... 150

Figura 5.26. Análise das respostas em relação a tarefa acompanhar incidentes .................... 150

Figura 5.27. Respostas dos participantes em relação aos artefatos presentes na abordagem . 151

Figura 5.28. Análise das respostas em relação aos artefatos presentes na abordagem........... 151

Figura 5.29. Respostas dos participantes em relação a qualidade do produto........................ 152

Figura 5.30. Análise das respostas em relação a qualidade do produto ................................. 152

Figura A.1. Diagrama da abordagem TM-Aplic .................................................................... 174

Figura B.1. Arquivo de validação para o relatório de análise do produto .............................. 184

Figura B.2. Arquivo de validação para o relatório de objetivos do teste ............................... 185

Figura B.3. Arquivo de validação para o relatório da estratégia de testes ............................. 186

Figura B.4. Arquivo de validação para o relatório da equipe de teste .................................... 187

Figura B.5. Arquivo de validação para o relatório do ambiente de testes .............................. 188

Figura B.6. Arquivo de validação para o relatório de observações gerais do teste ................ 191

Figura B.7. Arquivo de validação para o caso de teste........................................................... 192

Figura B.8. Arquivo de validação para o relatório de execução do teste ............................... 193

Figura B.9. Arquivo de validação para o registro de incidente .............................................. 195

Figura B.10. Arquivo de validação para o relatorio de acompanhamento de incidente ......... 196

LISTA DE TABELAS

Tabela 2.1. Características de qualidade (NBR ISO/IEC 9126-1, 2003) ................................. 32

Tabela 2.2. Níveis e áreas-chave do modelo TPI (Koomen e Pol, 1999) ................................. 44

Tabela 2.3. Níveis de maturidade, áreas de processo e tarefas do modelo MPT.BR (adaptada

de Furtado et al., 2012 e SOFTEX, 2011) ................................................................................ 49

Tabela 2.4. Relação entre as áreas de processo dos modelos TMMi, MPT.BR e a norma

ISO/IEC 29119-2 (Rios, 2013) ................................................................................................. 55

Tabela 2.5. Correlação entre a gestão de projetos de software tradicional e aplicação móvel

(adaptada de Andrade et al., 2012) ........................................................................................... 62

Tabela 2.6. Características de avaliação de qualidade do dispositivo móvel e suas

funcionalidades ......................................................................................................................... 64

Tabela 2.7. Trabalhos relacionados .......................................................................................... 68

Tabela 2.8. Requisitos de testes para aplicações móveis (adaptada de Dantas et al., 2009) .... 69

Tabela 3.1. Resumo das principais características que compõe a abordagem TM-Aplic ........ 75

Tabela 3.2. Objetos utilizados para compor o diagrama (adaptado de Bizagi, 2013) .............. 77

Tabela 3.3. Serviços do dispositivo móvel ............................................................................... 82

Tabela 3.4. Principais riscos e planos de mitigação ................................................................. 83

Tabela 3.5. Principais características consideradas para compor a estratégia de testes para

aplicações móveis ..................................................................................................................... 89

Tabela 3.6. Estratégia de testes para aplicações móveis........................................................... 89

Tabela 3.7. Matriz de responsabilidades e tarefas (adaptada de Cristalli e Moreira Filho, 2011)

.................................................................................................................................................. 92

Tabela 5.1. Níveis de concordância das variáveis dependentes ............................................. 131

Tabela 5.2. Níveis de concordância das variáveis independentes .......................................... 131

Tabela 5.3. Respostas coletadas sobre o perfil dos participantes ........................................... 135

Tabela 5.4. Respostas coletadas sobre a viabilidade da abordagem TM-Aplic ..................... 136

Tabela 5.5. Cálculo da mediana e moda das respostas coletadas ........................................... 137

Tabela A.1. Objetos utilizados para compor o diagrama ....................................................... 174

Tabela A.2. Tarefa: analisar produto de teste ......................................................................... 175

Tabela A.3. Tarefa: estabelecer objetivos do teste ................................................................. 175

Tabela A.4. Tarefa: definir estratégia de teste ........................................................................ 176

Tabela A.5. Tarefa: definir equipe de teste ............................................................................ 176

Tabela A.6. Tarefa: definir ambiente de teste ........................................................................ 177

Tabela A.7. Tarefa: estabelecer plano de teste ....................................................................... 177

Tabela A.8. Tarefa: planejar os artefatos e dados................................................................... 178

Tabela A.9. Tarefa: identificar casos de teste ......................................................................... 178

Tabela A.10. Tarefa: executar testes ...................................................................................... 179

Tabela A.11. Tarefa: reportar incidentes ................................................................................ 179

Tabela A.12. Tarefa: acompanhar incidentes ......................................................................... 179

LISTA DE ABREVIATURAS E SIGLAS

A Avançada

ACOM Acompanhamento

AET Automação da Execução do Teste

AMBI Ambiente

AQP Avaliação da Qualidade do Produto

B Básica

BPMN Business Process Modeling Notation

CASE Computer-Aided Software Engineering

CEP Controle Estatístico do Processo

CMMI Capatibility Maturity Model integration

CoHo Controle de Horários

CRIT Critério

DIN Departamento de Informática

Dn Doutorando

Dr Doutor

EC Especialização Completa

EI Especialização Incompleta

ENCE Encerramento

EQUI Equipe

ES Engenharia de Software

ESE Engenharia de Software Experimental

ESTR Estratégia

EXEC Execução

FDT Fechamento do Teste

GB Gigabyte

GDD Gestão de Defeitos

GDF Gestão de Ferramentas

GDQ Garantia da Qualidade

GPRS General Packet Radio Service

GPS Global Positioning System

GPT Gerência de Projetos de Teste

GRT Gerência de Requisitos de Teste

GSM Global System for Mobile Communications

ID Identificador

IEC International Electrotechnical Commission

IEEE Institute of Electrical and Electrical and Electronics Engineers

INCI Incidente

ISO International Organization for Standardization

iTeste Instituto de Teste de Software

M Moderada

MAT Medição e Análise de Teste

MB Megabyte

MMS Multimedia Messaging Service

Mn Mestrando

MP3 MPEG-1/2 Audio Layer 3

MPS.BR Melhoria do Processo de Software Brasileiro

MPT.BR Melhoria do Processo de Teste Brasileiro

Ms Mestre

N Nenhuma

OGT Organização do Teste

OMG Object Management Group

PET Projeto e Execução de Teste

PIN Personal Identification Number

PLAN Plano

PROD Produto

RAM Random Access Memory

RUP Rational Unified Process

SC Superior Completo

SI Superior Incompleto

SMS Short Message Service

SQL Structured Query Language

SR Sem Resposta

TAP Testing Assessment Program

TDA Teste de Aceitação

TER Treinamento

TES Teste Estático

TIM Testing Improvement Model

TMap Test Management Approach

TMMi Testing Maturity Model integration

TNF Teste Não-Funcional

TOM Test Organization Maturity Model

TPI Test Process Improvement

TSM Testability Support Model

UEM Universidade Estadual de Maringá

VoIP Voice over Internet Protocol

Wi-Fi Wireless Fidelity

WLAN Wireless Local Area Network

SUMÁRIO

Introdução ............................................................................................................................... 24

1.1. Contextualização.................................................................................................... 24

1.2. Justificativa ............................................................................................................ 25

1.3. Objetivos ................................................................................................................ 27

1.4. Metodologia de Desenvolvimento ......................................................................... 28

1.5. Organização do Trabalho ....................................................................................... 29

Revisão Bibliográfica .............................................................................................................. 30

2.2. Considerações Iniciais ........................................................................................... 30

2.3. Qualidade de Software ........................................................................................... 31

2.4. Teste de Software .................................................................................................. 34

2.5. Processo de Teste de Software .............................................................................. 38

2.5.1. Modelos de Melhoria de Processos de Teste de Software ..................................... 42

2.5.1.1. Testing Maturity Model integration (TMMi) ................................................... 42

2.5.1.2. Test Process Improvement (TPI) ...................................................................... 44

2.5.1.3. Testing Improvement Model (TIM) .................................................................. 46

2.5.1.4. Melhoria do Processo de Teste Brasileiro (MPT.BR) ...................................... 47

2.5.1.5. ISO/IEC 29119 .................................................................................................. 53

2.5.1.6. Relação entre Áreas de Processo dos Modelos de Teste de Software .............. 54

2.6. Ambiente Móvel .................................................................................................... 56

2.6.1. Contexto Móvel ..................................................................................................... 57

2.6.1.1. Dispositivos Móveis .......................................................................................... 58

2.6.2. Usuário de Dispositivo Móvel ............................................................................... 59

2.6.3. Aplicação Móvel .................................................................................................... 60

2.6.3.1. Tipos de Aplicações Móveis ............................................................................. 61

2.7. Testes de Aplicações Móveis................................................................................. 63

2.8. Engenharia de Software Experimental (ESE)........................................................ 67

2.9. Trabalhos Relacionados ......................................................................................... 68

2.9.1. Descrição e Análise dos Trabalhos Relacionados ................................................. 68

2.10. Considerações Finais ............................................................................................. 72

Abordagem TM-Aplic ............................................................................................................ 73

3.1. Considerações Iniciais ........................................................................................... 73

3.2. Composição da Abordagem ................................................................................... 74

3.3. Estrutura da Abordagem ........................................................................................ 76

3.4. Descrição das Tarefas ............................................................................................ 79

3.4.1. Planejamento de Teste ........................................................................................... 79

3.4.1.1. Analisar Produto de Teste ................................................................................. 80

3.4.1.2. Estabelecer Objetivos do Teste ......................................................................... 85

3.4.1.3. Definir Estratégia de Teste ................................................................................ 88

3.4.1.4. Definir Equipe de Teste .................................................................................... 91

3.4.1.5. Definir Ambiente de Teste ................................................................................ 94

3.4.1.6. Estabelecer Plano de Teste ................................................................................ 97

3.4.1.7. Planejar os Artefatos e Dados ........................................................................... 98

3.4.2. Projeto e Execução de Teste ................................................................................ 100

3.4.2.1. Identificar Casos de Teste ............................................................................... 101

3.4.2.2. Executar Testes ............................................................................................... 103

3.4.2.3. Reportar Incidentes ......................................................................................... 105

3.4.2.4. Acompanhar Incidentes .................................................................................. 106

3.5. Considerações Finais ........................................................................................... 108

Exemplo de Aplicação da Abordagem TM-Aplic .............................................................. 109

4.1. Considerações Iniciais ......................................................................................... 109

4.2. Cenário ................................................................................................................. 109

4.3. Planejamento de Testes........................................................................................ 110

4.3.1. Analisar Produto de Testes .................................................................................. 110

4.3.2. Estabelecer Objetivos do Teste ............................................................................ 112

4.3.3. Definir a Estratégia de Testes .............................................................................. 113

4.3.4. Definir Equipe de Testes ..................................................................................... 113

4.3.5. Definir Ambiente de Testes ................................................................................. 114

4.3.6. Estabelecer Plano de Testes ................................................................................. 114

4.3.7. Planejar os Artefatos e Dados .............................................................................. 117

4.4. Projeto e Execução de Testes .............................................................................. 118

4.4.1. Identificar Casos de Teste .................................................................................... 118

4.4.2. Executar Testes .................................................................................................... 119

4.4.3. Reportar Incidentes .............................................................................................. 120

4.4.4. Acompanhar Incidentes ....................................................................................... 123

4.5. Considerações Finais ........................................................................................... 124

Estudo Experimental de Viabilidade da Abordagem TM-Aplic ...................................... 125

5.1. Considerações Iniciais ......................................................................................... 125

5.2. Definição do Estudo Experimental ...................................................................... 126

5.3. Planejamento do Estudo Experimental ................................................................ 128

5.3.1. Contexto Global ................................................................................................... 128

5.3.2. Contexto Local..................................................................................................... 129

5.3.3. Treinamento ......................................................................................................... 129

5.3.4. Projeto Piloto ....................................................................................................... 129

5.3.5. Participantes ......................................................................................................... 129

5.3.6. Instrumentação ..................................................................................................... 130

5.3.7. Variáveis Dependentes ........................................................................................ 130

5.3.8. Variáveis Independentes ...................................................................................... 131

5.3.9. Análise Qualitativa .............................................................................................. 132

5.3.10. Capacidade Aleatória ...................................................................................... 132

5.3.11. Classificação em Bloco ................................................................................... 132

5.3.12. Mecanismos de Análise .................................................................................. 132

5.3.13. Validade Interna .............................................................................................. 132

5.3.14. Validade Externa ............................................................................................. 133

5.3.15. Validade de Conclusão ................................................................................... 133

5.4. Execução do Estudo Experimental ...................................................................... 133

5.4.1. Seleção dos Participantes ..................................................................................... 133

5.4.2. Instrumentação ..................................................................................................... 133

5.4.3. Procedimentos do Participante ............................................................................ 134

5.4.4. Execução .............................................................................................................. 134

5.5. Análise e Interpretação dos Resultados do Estudo Experimental ....................... 137

5.5.1. Validação dos Dados ........................................................................................... 137

5.5.2. Estatística Descritiva e Análise ........................................................................... 137

5.6. Avaliação de Validade do Estudo Experimental ................................................. 153

5.7. Considerações Finais ........................................................................................... 155

Conclusões ............................................................................................................................. 156

6.1. Propósito da Pesquisa .......................................................................................... 156

6.2. Contribuições ....................................................................................................... 157

6.3. Dificuldades e Limitações ................................................................................... 157

6.4. Trabalhos Futuros ................................................................................................ 158

Referências ............................................................................................................................ 159

Apêndice A - Estudo Experimental de Viabilidade da Abordagem TM-Aplic:

Instrumentação ..................................................................................................................... 169

A.1. Considerações Iniciais ......................................................................................... 169

Apêndice B - Templates para os Artefatos .......................................................................... 183

B.1. Considerações Iniciais ......................................................................................... 183

B.2. Relatório de Análise do Produto .......................................................................... 184

B.3. Relatório de Objetivos do Teste .......................................................................... 185

B.4. Relatório da Estratégia de Teste .......................................................................... 186

B.5. Relatório da Equipe de Teste ............................................................................... 187

B.6. Relatório do Ambiente de Teste .......................................................................... 188

B.7. Estabelecer Plano de Teste .................................................................................. 189

B.8. Planejar os Artefatos e Dados .............................................................................. 190

B.9. Identificar Caso de Teste ..................................................................................... 192

B.10. Executar Teste ..................................................................................................... 193

B.11. Reportar Incidentes .............................................................................................. 194

B.12. Acompanhar Incidentes ....................................................................................... 196

24

Introdução

1.1. Contextualização

Segundo Myers (2004), o teste atua como a principal atividade para fornecer software de

qualidade, além de garantir que o produto alcance as especificações e as características

básicas de um software profissional. No entanto, durante o processo de desenvolvimento de

um produto de software vários obstáculos podem surgir, os quais contribuem para que haja

algum desvio e a qualidade seja suspeita, principalmente quando o contexto do software

impõe limitações diferentes das tradicionais, como é o caso das aplicações móveis.

Aplicações móveis são produtos de software desenvolvidos para operar em

dispositivos móveis, e apresentam características diferenciadas em relação às tradicionais, tais

como os fatores inerentes do ambiente móvel, que são: contexto móvel, usuário de dispositivo

móvel e aplicação móvel (Ballard, 2007; Muccini, Di Francesco e Esposito, 2012).

As organizações enfrentam grandes desafios relacionados ao fornecimento de

aplicações móveis que sejam de real valor para as pessoas e empresas, no que se refere ao

comportamento correto e sem falhas, sem perda de dados ou serviços e não interfiram em

outras aplicações e/ou serviços já existentes no dispositivo (Mizouni et al., 2009, She,

Sivapalan e Warren, 2009).

1

Capítulo

25

A preocupação com a qualidade das aplicações móveis se deve a evolução do

dispositivo móvel a partir de um aparelho de comunicação grande e desconfortável, para uma

forma compacta e poderosa, que ocorreu durante os últimos vinte anos. Essa evolução

resultou no desenvolvimento de aplicativos e serviços que oferecem vantagens significativas

para os seus usuários, como, portabilidade, localização e acessibilidade (Nayebi, Desharnais e

Abran, 2012), resultando na abordagem tecnológica recente que mais rapidamente se

difundiu, utilizada por mais de 60% dos brasileiros (Machado e Freitas, 2009).

Além disso, devido à agregação de um conjunto de importantes componentes que se

tornaram parte integrante da vida diária das pessoas (por exemplo: telefone, Internet,

computador, cartão de crédito e televisão), o dispositivo móvel é capaz de atingir proporções

gigantescas sobre a humanidade, apresentando um alcance maior que o carro, televisão, e

Internet, além de impulsionar o sucesso dos dispositivos móveis (Fling, 2009).

Dessa forma, o contexto desta dissertação é a apresentação de uma abordagem de

testes para aplicações móveis, chamada TM-Aplic, que visa apoiar na melhoria da qualidade

do produto de software, por meio de uma metodologia sistemática que combine boas práticas

de planejamento, projeto e execução de testes com as necessidades e particularidades das

aplicações móveis.

A abordagem TM-Aplic compõe o projeto de pesquisa M-Aplic, o qual apresenta uma

abordagem de gerenciamento de projetos de software para aplicações móveis. As pesquisas

são realizadas pelos membros do Grupo de Pesquisa em Gerenciamento de Projetos de

Software (GPGPS) do Departamento de Informática (DIN) da Universidade Estadual de

Maringá (UEM), com o financiamento da Fundação Araucária (FA).

1.2. Justificativa

As ferramentas e técnicas que têm sido usadas para auxiliar o desenvolvimento de softwares

tradicionais (desktop), não satisfazem as necessidades das aplicações móveis. Ou seja, em vez

de aplicar técnicas específicas para o desenvolvimento de aplicações móveis, muitas

indústrias têm “miniaturizado” versões de aplicativos desktop para os dispositivos móveis,

ocasionando vários problemas, principalmente relacionados com a usabilidade, uma das

principais razões da insatisfação do usuário (Mizouni et al., 2009).

Aproximadamente 50% dos 200 (duzentos) novos aplicativos disponibilizados

diariamente para o iPhone (dispositivo móvel desenvolvido pela empresa Apple), não atingem

um nível suficiente de aceitação pelos usuários e são retiradas da loja já nos primeiros meses a

partir do lançamento (Ickin et al., 2012).

26

Além disso, o crescimento exponencial do mercado de aplicações móveis impõe

atenção especial aos aspectos relacionados à qualidade das aplicações, pois as mesmas não

estão livres de erros, e a dificuldade de atualização após o software ser disponibilizado é

maior do que nos tradicionais, enfatizando ainda mais a necessidade de novas abordagens de

Engenharia de Software que considere as particularidades das aplicações e, portanto,

contribuir para a melhoria da qualidade do produto final (Kim, Choi e Wong, 2009; Muccini,

Di Francesco e Esposito, 2012).

De acordo com o Relatório Mundial de Qualidade (Capgemini, Sogeti e Hewlett-

Packard, 2012), a velocidade de adoção e proliferação dos dispositivos móveis são fatores que

surpreenderam as empresas, contribuindo para que não priorizassem de forma suficiente as

particularidades das aplicações móveis, no que se refere a considerar os fatores do ambiente

móvel durante as atividades de teste. Somente 31% das empresas entrevistadas efetuam testes

nas aplicações móveis desenvolvidas, afirmando serem mal preparadas devido à falta de

ferramentas apropriadas, processos ou conhecimentos e acesso limitado aos dispositivos.

Dantas et al. (2009) afirmam que, 85% dos profissionais não utilizam uma

metodologia de testes específica para testar as aplicações móveis, dificultando a padronização

dos testes, além de não contemplar todas as características particulares das aplicações.

Portanto, as equipes de teste devem repensar suas estratégias e prioridades, de modo que o

planejamento de teste considere as questões inerentes do ambiente móvel, como: memória,

processamento, tela, bateria, capacidade de armazenamento, usabilidade, funcionalidade e

mobilidade dos usuários, antes do projeto e execução dos testes.

Dessa forma, acredita-se que a busca constante por aplicações cada vez mais

funcionais é um negócio em constante crescimento, pois as empresas não devem apresentar ao

mercado aplicativos que apresentem falhas e/ou problemas de usabilidade. No entanto,

garantir a qualidade das aplicações não é uma tarefa trivial, pois envolve uma grande

variedade de dispositivos e recursos.

27

1.3. Objetivos

Esta dissertação teve como objetivo principal elaborar a abordagem TM-Aplic, que visa

estabelecer uma metodologia que combine boas práticas de planejamento, projeto e execução

de testes com as particularidades das aplicações móveis, em termos de tarefas, artefatos e

papéis, de maneira que contribua para a qualidade do produto no que se refere à identificação

de falhas.

Dessa forma, para atingir o objetivo principal desta dissertação, os seguintes objetivos

específicos são previstos:

Identificar as particularidades das aplicações móveis no que se refere às características

relacionadas aos fatores inerentes do ambiente móvel;

Definir e caracterizar as áreas de processo de planejamento, projeto e execução do

teste, bem como as respectivas tarefas, artefatos e papéis, de acordo com as diretrizes

definidas pelo Nível 1 (um) de maturidade do modelo MPT.BR;

Representar a abordagem proposta de forma que possibilite o entendimento e a

aplicação, além de fornecer material organizado sobre o teste de aplicações móveis; e

Avaliar experimentalmente a abordagem TM-Aplic com relação à viabilidade para ser

utilizada como uma metodologia de testes em empresas que desenvolvem aplicações

móveis.

A principal contribuição da abordagem TM-Aplic é fornecer à equipe de testes

diretrizes para apoiar a execução das tarefas que estão de acordo com o Nível 1 (um) de

maturidade do modelo MPT.BR, considerando os fatores inerentes do ambiente móvel, como:

contexto móvel, usuário de dispositivo móvel e aplicação móvel, visando a identificação de

falhas e, consequentemente, a melhoria da qualidade do produto.

28

1.4. Metodologia de Desenvolvimento

A metodologia de desenvolvimento da dissertação é composta pelas etapas de revisão

bibliográfica, definição da abordagem, estudo experimental de viabilidade e redação. Na

Figura 1.1 são apresentadas as etapas e subetapas da metodologia de desenvolvimento.

Figura 1.1. Etapas da metodologia de desenvolvimento

29

A revisão bibliográfica da presente dissertação envolve conceitos sobre qualidade

software, teste de software, processos de testes de software, os fatores inerentes do ambiente

móvel, teste de aplicações móveis, engenharia de software experimental e trabalhos

relacionados. Após a revisão bibliográfica iniciou-se a definição da abordagem que

compreende a proposta desta dissertação. As principais atividades dessa etapa foram: a

identificação dos elementos que compõem a abordagem, o refinamento dos elementos para a

definição da estrutura principal e, a definição e apresentação dos componentes (subprocessos,

tarefas, papéis e artefatos) fundamentados pelo modelo de maturidade MPT.BR. Por fim, a

etapa do estudo experimental de viabilidade que verifica se a abordagem TM-Aplic satisfaz

os quesitos de viabilidade e a redação que consiste na escrita da dissertação e do artigo, bem

como a respectiva defesa da dissertação e submissão do artigo para eventos da área.

1.5. Organização do Trabalho

Neste capítulo foram apresentados o contexto no qual esta dissertação está inserida, sua

motivação, seus objetivos e a metodologia de desenvolvimento. O Capítulo 2 apresenta os

conceitos básicos sobre qualidade de software, teste de software, processo de testes de

software, ambiente móvel e testes de aplicações móveis que norteiam esta dissertação. O

Capítulo 3 descreve e especifica a abordagem TM-Aplic. O Capítulo 4 apresenta uma

aplicação da abordagem por meio de uma prova de conceito. O Capítulo 5 apresenta um

estudo experimental com o objetivo de identificar a viabilidade da abordagem aplicada à

indústria. No Capítulo 6 estão apresentados o propósito desta dissertação, os resultados e

contribuições, as dificuldades e limitações e os trabalhos futuros.

30

Revisão Bibliográfica

2.2. Considerações Iniciais

A abordagem TM-Aplic em contextos organizacionais necessita de uma fundamentação

teórica baseada em conceitos sólidos relacionados principalmente a qualidade da aplicação

móvel. Dessa forma, este capítulo apresenta uma revisão bibliográfica sobre os tópicos

relevantes da abordagem proposta no Capítulo 3:

Qualidade de Software (norma NBR ISO/IEC 9126-1);

Teste de Software (técnicas, fases, objetivos e eventos);

Processo de Teste de Software (normas, modelos de melhoria e metodologias de

testes);

Ambiente Móvel (contexto móvel, usuários de dispositivos móveis e aplicação

móvel);

Testes de Aplicações Móveis (características de qualidade para as aplicações móveis);

Engenharia de Software Experimental (avaliar experimentalmente a abordagem); e

Trabalhos Relacionados (base para o desenvolvimento da abordagem).

2

Capítulo

31

Os tópicos abordados estão relacionados à base que fornece subsídios para o

desenvolvimento da abordagem TM-Aplic, a qual foi baseada nos trabalhos de Dantas et al.

(2009) e Rodrigues, Pinheiro e Albuquerque (2010), apresentados e discutidos na Seção 2.9

(Trabalhos Relacionados).

2.3. Qualidade de Software

A Qualidade de Software é uma das áreas da Engenharia de Software que visa satisfazer às

expectativas do usuário, no que se refere a garantir que as especificações (explícitas) e

necessidades do cliente (implícitas) estejam presentes no produto final, por meio de processos

de desenvolvimento. A satisfação com o produto está relacionada com seu desempenho e com

a ausência de defeitos, erros ou falhas. Portanto, a satisfação com o produto é alcançada

quando as necessidades do cliente são supridas, e o produto se comporta como esperado

(Guerra e Colombo, 2009).

Sob esse aspecto, a norma NBR ISO/IEC 9126-1 é uma tradução da norma ISO/IEC

9126-1, e propõe características que um software deve possuir, bem como as

subcaracterísticas para incentivar o uso na prática dessa norma de qualidade de produto de

software. Ou seja, a norma abrange a totalidade das características de um produto de software,

que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas (NBR

ISO/IEC 9126-1, 2003).

Assim, a norma fornece um modelo, no qual 6 (seis) amplas categorias de

características de qualidade são definidas, cada qual com as suas subcaracterísticas, conforme

apresentada na Figura 2.1.

32

Figura 2.1. Características e subcaracterísticas de qualidade (adaptada de Guerra e

Colombo, 2009)

A norma NBR ISO/IEC 9126-1 foi estabelecida com a intenção de apoiar a aplicação

das 6 (seis) características de qualidade em uma avaliação de produto de software (Guerra e

Colombo, 2009). Na Tabela 2.1 são apresentadas as definições de cada característica de

qualidade.

Tabela 2.1. Características de qualidade (NBR ISO/IEC 9126-1, 2003)

Características Definições

Funcionalidade

Conjunto de atributos que evidencia a existência de um conjunto de funções e suas

propriedades especificadas. As funções são as que satisfazem às necessidades explícitas

ou implícitas.

Confiabilidade Conjunto de atributos que evidencia a capacidade do software de manter seu nível de

desempenho sob as condições estabelecidas durante um período de tempo definido.

Usabilidade

Conjunto de atributos que evidencia o esforço necessário para utilizar o software, bem

como o julgamento individual desse uso por um conjunto explícito ou implícito de

usuários. Entende-se por usuários aqueles que utilizam software interativo, ou seja,

operadores, usuário final e usuários indiretos, que estão sob a influência ou dependência

do uso do software.

Eficiência Conjunto de atributos que evidencia o relacionamento entre o nível de desempenho do

software e a quantidade de recursos usados, sob as condições estabelecidas.

Manutenibilidade Conjunto de atributos que evidencia o esforço necessário para fazer modificações

especificadas no software.

Portabilidade Conjunto de atributos que evidencia a capacidade do software de ser transferido de um

ambiente para outro.

Qualidade

NBR ISO/IEC 9126-1

FuncionalidadeAdequação, Acurácia, Interoperabilidade, Confo

rmidade, Segurança de Acesso

ConfiabilidadeMaturidade, Tolerância a

Falhas, Recuperabilidade, Conformidade

UsabilidadeInteligibilidade, Apreensibilidade, Operatividade,

Atratividade, Conformidade

EficiênciaComportamento em relação ao Tempo e aos

Recursos, Conformidade

ManutenibilidadeAnalisabilidade, Modificabilidade, Estabilidade, T

estabilidade, Conformidade

PortabilidadeAdaptabilidade, Capacidade para ser

Instalado, Conformidade, Capacidade para Substituir, Coexistência

33

Vale ressaltar que, para a avaliação da qualidade de produtos de software, deve-se

definir um processo de avaliação que seja responsável por fornecer passos, guias e requisitos

a serem seguidos. Por exemplo, a norma NBR ISO/IEC 14598, que oferece uma visão geral

dos processos de avaliação de produtos de software.

Assim, na busca por software de qualidade, diversos modelos foram criados para

aperfeiçoar o desenvolvimento. Por exemplo, o CMMI (Capatibility Maturity Model

integration), um modelo de melhoria de processo que aborda um conjunto de níveis de

maturidade e de práticas genéricas e/ou específicas utilizadas em conjunto (CMMI, 2006); e o

MPS.BR (Melhoria de Processo de Software Brasileiro), que apresenta 7 (sete) níveis de

maturidade e trata exclusivamente de processos de software das empresas Brasileiras, em

conformidade com o CMMI e com as normas ISO/IEC 12207 (Processo de Desenvolvimento

de Software) e ISO/IEC 15504 (evolução da norma ISO/IEC 12207) (SOFTEX, 2007, Weber

et al., 2004).

Ambos os modelos possuem restrições sobre a qualidade do software produzido

(CMMI no Nível 2 (dois) e MPS.BR no Nível F) e, portanto, exigem que a atividade de teste

seja aplicada, a fim de garantir que o produto atenda os requisitos mínimos (CMMI, 2006;

SOFTEX, 2007, Weber et al., 2004).

No entanto, fazer com que o software funcione conforme os requisitos funcionais

solicitados pelo usuário e obedecendo as características básicas de um software profissional,

aparentam serem condições triviais, mas durante o processo de desenvolvimento vários

obstáculos são encontrados, por exemplo, enganos cometidos pelos analistas de negócio,

analistas de sistemas e desenvolvedores, ou seja, todos podem contribuir para que haja um

desvio e não se alcance a qualidade almejada.

No Nível 3 (três) do CMMI e Nível E do MBS.BR, o conhecimento adquirido sobre a

qualidade de software é centralizado e começa a ser difundido pela corporação. A empresa

passa a ter a preocupação de realizar verificações para aumentar a chance de encontrar

defeitos enquanto o software estiver sendo implementado (CMMI, 2006; SOFTEX, 2007,

Weber et al., 2004).

Segundo Pressman (2011), mesmo que uma equipe experiente faça uso das melhores

práticas de garantia de qualidade durante o processo de desenvolvimento de software, ainda é

esperado que os usuários finais encontrem falhas que não foram identificadas durante as

atividades de teste. Portanto, o teste de software deve ser um processo planejado e gerenciado,

de forma a garantir que os requisitos especificados e os itens de qualidade definidos estejam

em conformidade.

34

2.4. Teste de Software

Durante a produção de um software, é necessário saber se o produto está de acordo com os

requisitos especificados e, também, se obedece às normas de qualidade. O teste de software é

a atividade de executar um software com o objetivo de encontrar diferenças entre os

resultados obtidos e os resultados esperados. É importante ressaltar que, o teste de software

visa agregar valor ao produto desenvolvido, elevando a qualidade e a confiabilidade,

desvendando e eliminando erros (Guerra e Colombo, 2009).

Farrell-Vinay (2008) apresenta algumas técnicas que podem ser aplicadas ao longo do

teste de software, cada qual utilizada em etapas específicas do teste. São elas:

Teste Funcional: também conhecido como teste de “caixa-preta”, pode ser aplicado a

qualquer unidade do software ou no sistema como um todo, pois não requer

conhecimento de como ele foi construído. A especificação do software é o suficiente

para estabelecer os critérios e os requisitos de teste;

Teste Estrutural: também conhecido como teste de “caixa-branca”, faz uso das

características da implementação para a geração dos critérios e dos requisitos de teste,

ou seja, a perspectiva interna do software é considerada;

Análise Dinâmica: técnica que utiliza todo o tipo de artefato executável, utilizado

durante o desenvolvimento para determinar os casos de teste; e

Análise Estática: técnica utilizada antes da integração do sistema, não necessita a

execução propriamente dita do produto. Ou seja, pode ser aplicada em qualquer

produto intermediário do processo de desenvolvimento.

O teste de software apresenta características e finalidades diferenciadas, variando de

acordo com cada fase do ciclo de vida do software. De acordo com Myers (2004) e Crespo et

al. (2009), as principais fases ou níveis do teste de software são caracterizados como:

Teste de Unidade: o teste de unidade ou teste unitário é efetuado pelos próprios

desenvolvedores, e apresenta como finalidade validar se as unidades individuais do

sistema (procedimento, função, método ou classe) estão de acordo com o planejado;

Teste de Integração: o teste de integração pode ser efetuado tanto por

desenvolvedores como pelos testadores e tem por finalidade identificar falhas na

integração das unidades. Ou seja, identificar falhas durante a interatividade das

unidades; e

35

Teste de Sistema: o teste de sistema é realizado por testadores e tem por finalidade

avaliar a interação global de todos os componentes de acordo com os requisitos

especificados.

Na Figura 2.2 é apresentada uma analogia com a intenção de demonstrar a diferença

entre as 3 (três) fases descritas:

Figura 2.2. Fases do teste de software

Além das fases apresentadas, o teste de software possui mais 2 (dois) níveis: teste de

aceitação e teste de regressão; apresentados a seguir:

Teste de Aceitação: o teste de aceitação é realizado por um conjunto de usuários

finais, e apresenta por finalidade verificar se o software atende os requisitos

especificados, bem como às necessidades do cliente, antes da implantação efetiva do

software; e

Teste de Regressão: realizado após o desenvolvimento de alguma melhoria ou

reparação no software, com a intenção de determinar se a alteração impactou de forma

negativa em outros aspectos do programa;

36

O teste de software pode ser aplicado de várias formas, variando de acordo com o

objetivo que se deseja atingir. De acordo com Myers (2004), os principais objetivos do teste

de software são:

Teste de Estresse: submeter o software a altas cargas e esforços e, monitorar o seu

comportamento;

Teste de Usabilidade: avaliar o impacto do fator humano no momento de manusear o

software, no que se refere à facilidade interação;

Teste de Desempenho: avaliar variações de tempo de resposta e taxas de transferência

sob certas condições de configuração do software;

Teste de Carga: avaliar o comportamento do software quando submetido a grandes

volumes de dados; e

Teste de Segurança: simular situações que desestruture as verificações de segurança

do software.

Além dos objetivos apresentados, inúmeros outros testes podem ser encontrados, por

exemplo: teste de instalação, teste de armazenamento, teste de configuração, teste de

conversão, teste de instabilidade, teste de confiabilidade, teste de recuperação, teste de

manutenção. Todas as categorias apresentadas podem ser exploradas na realização do projeto

de casos de teste (Myers, 2004).

Em relação ao teste de software, algumas terminologias devem ser padronizadas, tais

como as terminologias de erros, que estão divididas em: engano, defeito, erro e falha. O

engano (mistake em inglês) é o resultado incorreto de uma ação humana, por exemplo, uma

ação incorreta tomada pelo desenvolvedor, introduzindo um defeito. O defeito (fault ou

defect) é um passo, processo ou definição de dados incorretos, por exemplo, uma instrução ou

comando incorreto produzindo um erro. O erro (error) é a diferença entre o valor obtido e o

valor esperado. Ou seja, qualquer estado intermediário incorreto ou resultado inesperado na

execução do programa constitui um erro e, por fim, a falha (failure), que é a produção de uma

saída incorreta com relação à especificação (comando imperfeito, incompleto, ausente ou

extra no software). Ou seja, a consequência do erro (Crespo et al., 2009; Radatz, Geraci e

Katki, 1990).

Na Figura 2.3 é apresentada a cadeia de eventos que se inicia com um engano e que

pode se propagar até resultar em uma falha do software.

37

Figura 2.3. Cadeia de eventos para a falha do software (adaptada de Crespo et al., 2009)

Vale ressaltar que a atividade de teste é uma das principais atividades do ciclo de vida

do desenvolvimento de software e, como o desenvolvimento é uma atividade complexa que

envolve pessoas e processos, se torna suscetível ao engano. O engano pode ser introduzido no

software durante várias fases do projeto, por exemplo, durante o levantamento de requisitos,

codificação ou integração do software. A falta de comunicação e a carência de treinamento

entre as pessoas envolvidas no projeto também são motivos que justificam a necessidade de

testes entre e durante as fases de desenvolvimento de um software.

De acordo com Graham e Van Veenendaal (2008), a correção da falha de um software

pode custar até 100 (cem) vezes mais após o lançamento do produto se comparado com a

correção de um erro no início do desenvolvimento. Assim, quanto mais cedo um erro for

encontrado, mais barato é a sua correção. Sob esse aspecto, pode-se concluir que o custo de

encontrar e corrigir defeitos aumenta, consideravelmente, ao longo das etapas do ciclo de vida

do software, pois dependendo do nível da falha, torna-se inviável a correção devido ao alto

custo. Assim, na Figura 2.4 é apresentada uma relação entre a variável custo e tempo.

Figura 2.4. Custo dos defeitos (Graham e Van Veenendaal, 2008)

38

Enfim, a qualidade se tornou um dos principais aspectos relacionados à indústria

mundial de software, e está, diretamente, associada às atividades de teste de software, pois o

teste visa aprimorar a qualidade de um software por meio da sua execução controlada, com a

intenção de desvendar defeitos, independente da metodologia de desenvolvimento utilizada,

contribuindo para a redução de custos, manutenção corretiva e garantindo que os requisitos

sejam implementados conforme especificados (Myers, 2004).

Diante das técnicas, fases e objetivos, o teste de software deve ser conduzido por meio

de um processo, pois envolve uma série de atividades, executadas para cumprir um propósito

específico e produzir um produto tangível com base em uma determinada entrada (Mette e

Hass, 2008). Dessa forma, as atividades e recursos de teste devem ser gerenciados e pensados

de forma estratégica, pois é uma maneira eficiente de expor os pensamentos sobre o que e por

que está sendo testado.

Sob esse aspecto, a próxima Seção aborda importantes conceitos relacionados aos

processos de teste de software.

2.5. Processo de Teste de Software

Segundo Mette e Hass (2008), desde cozinhar uma refeição até o desenvolvimento de um

software, tudo é guiado por processos, os quais consistem da realização de uma série de

tarefas que visa cumprir um propósito específico e produzir um produto tangível com base em

uma determinada entrada. O real objetivo de um processo é realizar as tarefas, a fim de

estimular o pensamento, as discussões, os experimentos, as tomadas de decisões, as

documentações, de modo que os processos possam ser monitorados e melhorados. Os

documentos gerados no processo não são o principal objetivo, e sim apenas a maneira de

representar que o objetivo do processo foi cumprido.

Um processo deve sempre especificar as entradas, listas de atividades e descrição das

saídas. Ou seja, deve apresentar um conjunto de passos parcialmente ordenados, constituídos

por atividades, métodos, práticas e transformações, utilizadas para atingir um objetivo. Este

objetivo geralmente está associado a um ou mais resultados finais, que são os produtos

resultantes da execução do processo (Crespo et al., 2010a; Humphrey, 1989).

De acordo com a definição de processo, o teste de software deve ser considerado como

tal, utilizado para testar um produto de software, definido entre os seguintes principais

componentes: entradas, mecanismos e agentes, restrições e condições e saídas (Crespo et al.,

2010a). Além disso, um processo de testes de software engloba diferentes partes interessadas

39

no processo de desenvolvimento, tais como: desenvolvedores, equipe de garantia de

qualidade, gerentes de projeto, coordenadores de equipe e usuários finais (Pressman, 2011).

Na Figura 2.5 são apresentados os componentes de um processo de testes de software

e como eles se relacionam.

Figura 2.5. Componentes do processo de testes de software (Crespo et al., 2010a)

O primeiro componente do processo de testes refere-se às entradas, ou seja, todas as

informações necessárias para a execução do teste do software, tais como: informações do

software, especificação de requisitos, estratégia de testes, plano de projeto, informações sobre

como o teste está progredindo. Os mecanismos e agentes são as equipes de teste, as técnicas

de teste aplicadas, os procedimentos de teste e as ferramentas. As restrições e condições

referem-se aos cronogramas, custos, confiabilidade requerida e critérios de aceitação. As

saídas são os resultados, produtos da execução das atividades, tais como: software testado,

defeitos revelados, nível de confiabilidade atingido, qualidade desejada, relatório de progresso

e especificação de teste (Crespo et al., 2010a; Mette e Hass, 2008).

É importante ressaltar que o teste de software é uma atividade prática combinada com

teorias, tecnologias, ferramentas e gestão. Entre estes 4 (quatro) aspectos importantes, a

gestão das atividades de teste desempenha um papel de destaque no projeto de software e não

deve ser ignorado (Mao e Zhang, 2007).

Processo de Testes de Software

Restrições e Condições

Entradas

Mecanismos e Agentes

Saídas

40

Dessa forma, o teste de software deve ser gerenciado respeitando 4 (quatro) principais

subprocessos: i) planejamento do teste, ii) projeto do teste, iii) execução do teste e iv)

conclusão do teste; conforme apresentado na Figura 2.6.

Figura 2.6. Processo de teste de software (adaptada de Mao e Zhang, 2007)

O planejamento do teste é o subprocesso inicial do processo de testes de software e

está relacionado diretamente com a definição do documento plano de teste. O gerente de

testes responsável pelas tarefas que compõem o planejamento deve reunir no plano de testes

as informações relacionadas com: análise de risco do produto do teste, objetivos do teste,

estratégia do teste, estimativas, esforço e custo, orçamento e cronograma, recursos humanos,

ambiente de teste, artefatos gerados e desempenho. O nível de formalismo e detalhes

apresentados no plano de teste depende de alguns fatores, como a maturidade do processo de

testes em uma determinada organização (Crespo et al., 2010a; SOFTEX, 2011).

Após a definição do plano de testes, os subprocessos projeto e execução do teste

envolvem tarefas relacionadas à identificação e execução de casos de testes e reportar e

acompanhar incidentes. Antes da execução do teste, torna-se necessário saber o que está

sendo verificado, quais as entradas, procedimentos e resultados que devem ser produzidos e

como o teste deve ser executado. Os testadores executam os testes verificando o resultado

obtido e comparando com os resultados esperados. Caso divergências sejam percebidas entre

o resultado esperado e o obtido, incidentes identificados devem ser registrados e reportados

para os responsáveis. O incidente deve ser analisado e acompanhado até a sua correção e

encerramento. A conclusão do teste está relacionada com a correção dos incidentes e da

evolução da qualidade do produto, até o fechamento do processo (Mao, Zhang, 2007;

SOFTEX, 2011).

41

Além dos subprocessos apresentados (planejamento, projeto, execução e conclusão), o

teste deve ser constantemente monitorado, controlado e replanejado, para que a execução

ocorra de forma controlada. A partir do momento que desvios forem identificados, ações

corretivas devem ser tomadas e o planejamento revisto. Sob esse aspecto, a norma ISO/IEC

29119 estabelece, na segunda parte (Processo de Teste), um processo específico para

controlar e monitorar o teste.

Dessa forma, na Figura 2.7 é apresentado, de forma cômica, como o teste sofre um

estreitamento, caso o processo não apresente um monitoramento e controle adequado das

atividades realizadas, a fim de não perder espaço e cumprir com o que foi planejamento no

início do projeto (Mette e Hass, 2008).

Figura 2.7. Importância do monitoramento, controle e replanejamento do teste

(Mette e Hass, 2008)

A disciplina de teste demanda tempo e recursos e, por isso, deve ser planejada e

monitorada com o intuito de organizar quem faz o que, quando e o que vai ser obtido de

resultado. Além disso, o Gerente de Teste deve estar envolvido com grupos de avaliação e

certificação, analistas de negócio, desenvolvedores, gerentes de projeto, equipes de garantia

de qualidade, equipes de segurança, testadores, enfim, todos os envolvidos no projeto de

desenvolvimento, a fim de que haja um maior envolvimento das equipes, contribuindo para o

aperfeiçoamento do processo de testes (Farrell-Vinay, 2008).

42

Vale ressaltar que, a falta de documentação por parte da equipe de análise e

desenvolvimento é uma das grandes causas de estresse e fadiga nos responsáveis pelas

atividades de teste. A equipe de testes deve ter boas informações sobre o que está sendo

produzido e quais os critérios de aceitação para um bom funcionamento do software.

2.5.1. Modelos de Melhoria de Processos de Teste de

Software

As atividades de testes são responsáveis por altos percentuais de custos nos projetos de

software, o que corresponde de 30 a 40% do custo total do projeto. Diante disso, é evidente a

grande dificuldade das empresas com relação à intenção de diminuir os gastos com defeitos

de software e aumentar a produtividade das equipes de testes (Van Veenendaal, 2008).

Com a intenção de auxiliar as empresas a conduzir suas atividades de teste, os

modelos: Testing Maturity Model integration (Van Veenendaal, 2008), Test Process

Improvement (Koomen e Pol, 1999), Testing Improvement Model (Ericson, Subotic e Ursing,

1997), Melhoria do Processo de Teste Brasileiro (SOFTEX, 2011) e a norma ISO/IEC 29119,

são alguns exemplos de recomendações para aprimorar o processo de teste das organizações e

contribuir para a maturidade das atividades.

2.5.1.1. Testing Maturity Model integration (TMMi)

O modelo de maturidade de teste TMMi é o modelo mais conhecido e utilizado na Europa e

Estados Unidos, composto por 2 (dois) principais componentes: o modelo de maturidade e o

modelo de avaliação. O TMMi é um modelo detalhado para a melhoria do processo de testes

mantido pela TMMi Foundation (Van Veenendaal, 2008) e complementa o modelo CMMI

(Capability Maturity Model Integration).

O modelo é constituído de etapas ou níveis por meio dos quais uma organização

submete seu processo de teste para evoluir de um nível ad hoc e não gerenciado, para níveis

gerenciados, definidos, medidos e otimizados. Cada nível de maturidade, com exceção do

nível Inicial 1 (um), tem uma estrutura composta por um conjunto de metas de maturidade, os

limites e as realizações necessárias para um determinado nível (Jacobs, Van Moll e Stokes,

2000; Van Veenendaal, 2008).

Há 5 (cinco) níveis no modelo TMMi que prescrevem uma hierarquia de maturidade e

um caminho evolutivo para a melhoria do processo de teste. Cada nível tem um conjunto de

áreas de processo que uma organização necessita implementar para atingir a maturidade a esse

nível. O Nível 1 (um) do modelo é denominado Inicial, e as atividades de teste são realizadas

43

de forma ad hoc e não gerenciadas. O Nível 2 (dois) é denominado Gerenciado, e apresenta

áreas de processo relacionadas com o ambiente de teste, execução e projeto de teste, controle

e monitoramento, planejamento do teste, estratégia e política de teste. O Nível 3 (três) é

denominado Definido, e apresenta áreas de processo relacionadas com revisões em pares,

testes não funcionais, integração e ciclo de vida do teste, programas de treinamento e

organização do teste. O Nível 4 (quatro) é denominado Medido, e apresenta áreas de processo

relacionadas com revisões em pares avançadas, evolução da qualidade do software e medições

de teste. O Nível 5 (cinco) é denominado Otimização, e apresenta áreas de processo

relacionadas com controle de qualidade, otimização do processo de teste e prevenção de

defeitos. Na Figura 2.8 é apresentada a evolução e os níveis de maturidade do modelo TMMi

(Van Veenendaal, 2008).

Figura 2.8. Níveis de maturidade e principais áreas de processo do modelo TMMi (Van

Veenendaal, 2008)

44

2.5.1.2. Test Process Improvement (TPI)

O modelo de Melhoria do Processo de Teste (TPI) foi desenvolvido com base no

conhecimento prático e experiências de desenvolvimento do processo de teste em 1997 por

Koomen e Pol, e apresenta semelhança aos modelos Capability Maturity Model Integration

(CMMI, 2006) e Test Maturity Model integration (Van Veenendaal, 2008). O modelo TPI

fornece subsídios para a evolução da maturidade do processo de teste das organizações e

sugere métodos de melhoria controláveis, por meio de uma matriz, que inclui um total de 20

(vinte) áreas de atuação (Key Area Cornerstone) e 4 (quatro) níveis (Jung, 2009; Koomen e

Pol, 1999).

O modelo visa aprimorar a maturidade do processo de teste e, para isso, sugere

métodos sequenciais de melhoria. Para atribuir um determinado nível ao processo de teste, um

ou mais pontos de exigência são atribuídos a cada nível. Se o processo de teste passar por

todos os pontos de controle de determinado nível, então o processo é classificado a esse nível,

auxiliando a definir passos para a melhoria dos processos de teste.

Além do mapeamento da situação atual do processo de teste, as áreas-chave e os níveis

podem ser utilizados para definir a situação desejada e, quais os passos necessários para

atingir determinado nível. Ou seja, a forma como as áreas-chave são organizadas dentro de

um processo de teste determina a maturidade do processo. Sugestões de melhoria foram

adicionadas ao modelo para auxiliar o processo de teste a atingir determinado nível de

maturidade. Vale lembrar que, o modelo TPI fornece referências para determinar os pontos

fortes e fracos do processo de teste atual e auxilia na formulação de ações específicas para a

melhoria do processo de teste (Koomen e Pol, 1999).

Na Tabela 2.2 é apresentada uma matriz que reúne as 20 (vinte) Áreas-Chave e os 4

(quatro) Níveis que compõem o modelo. O Nível A é o primeiro a ser executado, seguido

pelos Níveis B, C e D.

Tabela 2.2. Níveis e áreas-chave do modelo TPI (Koomen e Pol, 1999)

Áreas-Chave/ Níveis

A B C D

Estratégia de Teste

Estratégia de teste

simples para testes

de alto nível

(funcionalidades

essenciais e mais

importantes)

Estratégia de teste

combinada para

testes de alto nível

(baseados em

riscos)

Estratégia

combinada para

testes de alto e

baixo nível

Estratégia

combinada para

todos os testes

Continua

45

Áreas-Chave/ Níveis

A B C D

Modelo de Ciclo de

Vida

Planejamento,

Especificação e

Execução

Planejamento,

Preparação,

Especificação,

Execução e

Conclusão

-- --

Quando se

envolver?

Conclusão do

sistema Início do sistema

Início da definição

dos requisitos Início do projeto

Estimativa e

Planejamento

Realizar a

estimativa e o

planejamento

Planejamento e

Estimativa

Comprovada

(monitorar)

-- --

Técnicas de

Especificação de

Teste

Técnicas Informais Técnicas Formais -- --

Técnicas de Teste

Estático Inspeção de Testes Checklists -- --

Métricas Métricas - Produto Métricas - Processo Métricas - Software Métricas -

Organização

Ferramentas de

Teste

Ferramentas de

Controle e

Planejamento

Ferramentas de

Análises e

Execução

Automação

Extensiva do

Processo de Teste

--

Ambiente de Teste Gerenciado e

Controlado

Ambiente de teste

adequado

Ambiente adaptável

e flexível as

mudanças

--

Ambiente de

Trabalho

Adequado

(infra-estrutura

necessária)

-- -- --

Comprometimento

e Motivação

Atribuição de

Orçamento e

Tempo

Teste integrado

com o projeto

Engenheiro de

Teste --

Funções de Teste e

Treinamento

Testadores e

Gerentes de Teste

Gerência e suporte

ao processo de

testes, documentos

e infra-estrutura

Garantia de

Qualidade Formal --

Escopo da

Metodologia Projeto Específico

Organização

Genérica

Organização

Otimizada --

Comunicação Comunicação

Interna

Comunicação do

Projeto

Comunicação com

a Organização

sobre a Qualidade

do Processo de

Teste

--

Relatórios Defeitos

Progresso (status

do teste e

produtos),

atividades (custos e

tempo, marcos),

defeitos com

prioridade

Riscos e

Recomendações

justificadas com

métricas

Recomendações

sobre a Melhoria

do Processo de

Software

Continua

46

Áreas-Chave/ Níveis

A B C D

Gerenciamento de

Defeitos

Gerenciamento

interno de Defeitos

Gerenciamento de

Defeitos com

flexibilidade

Gerenciamento de

Defeito - Projeto --

Gerenciamento de

Artefatos

Gerenciamento

interno dos

documentos

Gerenciamento

Externo dos

Objetos e Base de

Teste

Artefatos

Reutilizáveis

Rastreabilidade

entre os requisitos e

os casos de teste

Gerenciamento do

Processo de Teste

Planejamento e

Execução

Planejamento,

Execução,

Monitoramento e

Ajustes

Monitoramento e

Ajustes na

Organização

--

Avaliação Técnicas de

Avaliação

Estratégia de

Avaliação -- --

Teste de Baixo

Nível

Ciclo de Vida -

planejamento,

escrita e execução

Técnicas de Caixa-

Branca

Estratégia (baseado

em riscos, técnicas

formais e

informais)

--

2.5.1.3. Testing Improvement Model (TIM)

O Modelo de Melhoria de Teste (TIM) é composto por 2 (dois) componentes principais: i)

estrutura que consiste em níveis e áreas-chave; e ii) processo de avaliação. O modelo TIM

possui 4 (quatro) níveis de melhoria e 5 (cinco) áreas-chave. Cada área-chave é responsável

por uma melhoria específica para as atividades de teste. Para cumprir os objetivos de uma

área-chave, deve-se passar pelas 4 (quatro) etapas de melhoria (Ericson, Subotic e Ursing,

1997).

Iniciando do nível mais básico para o mais complexo, os níveis de melhoria do modelo

TIM são:

Base:

o Padronização de documentos;

o Políticas;

o Procedimentos;

o Metodologias e métodos; e

o Teste funcional básico.

Custo Eficiente:

o Custo mínimo de retrabalho e manipulação de mudança;

o Teste rápido e sistemático;

o Realização das tarefas no "caminho certo"; e

o Mínimo de retrabalho em artefatos existentes.

47

Redução de Riscos:

o Suporte para todos os níveis de gestão;

o A detecção de erros de risco; e

o Cronograma baseado em riscos e utilização de recursos.

Otimização:

o Gerenciar testes correspondentes a política de qualidade da organização;

o Mudança cultural no sentido da prevenção e melhoria contínua;

o O teste é totalmente integrado com o ciclo de vida do projeto; e

o As decisões são baseadas em fatos.

As 5 (cinco) áreas-chave que fazem parte do modelo TIM são: Organização,

Planejamento e Controle, Casos de Teste, Artefatos e Revisões. O planejamento é uma parte

importante do projeto de testes, pois sem os objetivos claramente definidos e as estratégias

traçadas, os recursos podem ser gastos de maneira errada. O controle é necessário, a fim de

monitorar o progresso das atividades que estão sendo realizados. Todos os testes devem ser

realizados com base nos casos de teste especificados antes da execução. A elaboração e

seleção de casos de teste são aspectos importantes do teste de software, pois impacta

diretamente no esforço exigido. Os artefatos são os procedimentos de testes reais que são

executados, os conjuntos de dados que são usados para executar os testes e a documentação

de apoio, além da gestão de configuração e o uso de ferramentas. Por fim, o termo revisão é

utilizado como um nome genérico, abrangendo todas as técnicas que envolvem leitura ou

inspeção visual de documentos de software (Ericson, Subotic e Ursing, 1997).

2.5.1.4. Melhoria do Processo de Teste Brasileiro (MPT.BR)

O MPT.BR é um modelo para a melhoria do processo de teste, desenvolvido para apoiar a

condução das atividades de testes das organizações Brasileiras que desenvolvem produtos de

software, por meio de áreas de processos e suas respectivas práticas. O modelo proporciona o

aumento da qualidade dos produtos de software por meio da melhoria contínua dos processos

de testes, atribuindo níveis de maturidade aos processos. De acordo com Furtado et al. (2012),

os principais objetivos do modelo MPT.BR, são:

Tornar-se um modelo de referência para a definição e institucionalização do processo

de teste em organizações;

Contribuir para a melhoria contínua do processo de teste de software de acordo com os

objetivos organizacionais e níveis de maturidade desejada;

48

Fornecer uma base para a avaliação e, identificar o nível de maturidade que está

presente nas organizações, e

Coletar as melhores práticas e estruturá-las de acordo com os níveis de complexidade

e de maturidade associados.

O modelo MPT.BR consiste em dois principais componentes: i) Modelo de Referência

(documento que apresenta a estrutura principal, as áreas de processo e as práticas do modelo),

e ii) Guia de Avaliação (documento que inclui o processo de avaliação e instruções sobre a

avaliação de uma organização que está baseada no modelo MPT.BR).

Com exceção do modelo MPT.BR, nenhum dos modelos apresentados anteriormente

possui representantes no Brasil, o que eleva o custo da implementação e dificulta a sua

prática. Assim, o modelo MPT.BR apresenta 5 (cinco) níveis de maturidade que representam

a evolução do processo de teste de uma organização (Furtado et al., 2012; SOFTEX, 2011).

Os níveis são:

Nível 1 (Parcialmente Gerenciado) - representa o primeiro patamar de maturidade de

uma organização. Ele contém o mínimo que uma organização precisa para demonstrar

que a disciplina de teste é aplicada nos projetos e que esta aplicação ocorre de forma

planejada e controlada;

Nível 2 (Gerenciado) - a aplicação do processo de teste na organização possui maior

visibilidade. O escopo do projeto passa a ser controlado pelo processo de gestão de

mudanças, padrões são definidos e os processos são monitorados e controlados;

Nível 3 (Definido) - processos padrões de teste são adotados, a garantia da qualidade é

instituída de modo a auxiliar a definição dos processos, são definidas

responsabilidades para a organização do teste e um programa de medição é implantado

na organização. O ciclo de vida do teste é integrado ao ciclo de vida do

desenvolvimento, o teste estático e de aceitação são formalizados e procedimentos

sistemáticos são aplicados para o fechamento do teste;

Nível 4 (Prevenção de Defeitos) - estabelece a prevenção de defeitos e melhoria

sistemática da qualidade do produto. A organização deve desenvolver um processo de

gestão, no qual os defeitos encontrados são acompanhados e ações proativas são

tomadas para evitar que novos defeitos sejam originados pelas mesmas causas. Uma

análise de risco dos atributos não-funcionais do produto e atividades de teste não-

funcional é executada para minimizar estes riscos e também é realizada uma análise

49

para determinar a eficácia do teste e a determinação com dados objetivos do nível de

qualidade do produto; e

Nível 5 (Automação e Otimização) – o último nível do modelo estabelece um processo

de melhoria contínua e automação do teste, no que se refere a uma abordagem

sistemática para automação da execução do teste, além de um processo sistemático

para seleção e adoção de ferramentas CASE (Computer-Aided Software Engineering).

Na Tabela 2.3 são apresentados os níveis de maturidade, as áreas de processo e as

respectivas tarefas que compõem o modelo MPT.BR.

Tabela 2.3. Níveis de maturidade, áreas de processo e tarefas do modelo MPT.BR (adaptada

de Furtado et al., 2012 e SOFTEX, 2011)

Níveis de

Maturidade

Áreas de

Processo Práticas

Nível 1 -

Parcialmente

Gerenciado

GPT - Gerência de

Projetos de Teste

GPT1 - Realizar análise de risco do produto

GPT2 - Estabelecer objetivos do teste

GPT3 - Definir estratégia de teste

GPT4 - Definir o escopo do trabalho para o projeto de teste

GPT5 - Estabelecer estimativas de tamanho

GPT6 - Definir o ciclo de vida do projeto de teste

GPT7 - Estimar o esforço e o custo

GPT8 - Estabelecer e manter o orçamento e o cronograma do projeto

GPT9 - Identificar riscos do projeto

GPT10 - Planejar os recursos humanos

GPT11 - Planejar o ambiente de teste para o projeto

GPT12 - Planejar os artefatos e dados do projeto

GPT13 - Estabelecer indicadores de desempenho de teste

GPT14 - Estabelecer o Plano de Teste

GPT15 - Revisar e obter compromisso com o Plano de Teste

GPT16 - Monitorar o projeto

GPT17 - Gerenciar o envolvimento dos stakeholders

GPT18 - Executar revisões em marcos do projeto

GPT19 - Analisar e registrar os problemas identificados

GPT20 - Estabelecer e acompanhar ações corretivas até a sua

conclusão

PET - Projeto e

Execução de Teste

PET1 - Identificar casos de teste

PET2 - Executar casos de teste

PET3 - Reportar incidentes

PET4 - Acompanhar incidentes

Continua

50

Níveis de

Maturidade

Áreas de

Processo Práticas

Nível 2 -

Gerenciado

GRT - Gerência de

Requisitos de Teste

GRT1 - Obter o entendimento dos requisitos

GRT2 - Obter o comprometimento com os requisitos

GRT3 - Gerenciar as mudanças dos requisitos

GRT4 - Manter a rastreabilidade bidirecional dos requisitos

GRT5 - Identificar inconsistência entre requisitos, planos do projeto

e produtos de trabalho

GPT - Gerência de

Projetos de Teste

(evolução)

GPT21 - Definir critérios de entrada e saída do teste

GPT22 - Definir critérios de suspensão e reinício do teste

GPT23 - Monitorar critérios de entrada, saída, suspensão e reinício

do teste

GPT24 - Monitorar defeitos

GPT25 - Planejar e conduzir revisões de qualidade do produto

PET - Projeto e

Execução de Teste

(evolução)

PET5 - Estabelecer padrões de documentação de casos de teste

PET6 - Estabelecer padrões de documentação de incidentes

Nível 3 -

Definido

FDT - Fechamento

do Teste

FDT1 - Empacotar ativos de teste

FDT2 - Limpar ambiente de teste

FDT3 - Identificar lições aprendidas

FDT4 - Consolidar dados de teste

GDQ - Garantia da

Qualidade

GDQ1 - Avaliar processos e produtos de trabalho

GDQ2 - Comunicar e resolver questões

GDQ3 - Estabelecer registros

MAT - Medição e

Análise de Teste

MAT1 - Definir objetivos de medição de teste

MAT2 - Estabelecer e documentar medidas

MAT3 - Especificar procedimentos de medição

MAT4 - Coletar, analisar e comunicar dados de medição

MAT5 - Armazenar dados de medição

OGT - Organização

do Teste

OGT1 - Definir a estrutura organizacional do teste

OGT2 - Estabelecer um Grupo de processo de teste de software

OGT3 - Definir processos padrão de teste

OGT4 - Definir guias e critérios de adaptação do processo

OGT5 - Estabelecer a biblioteca de artefatos de processo de teste

OGT6 - Coletar informações e implementar ações de melhoria

OGT7 - Identificar perfis de teste

OGT8 - Definir planos de carreira de teste

OGT9 - Integrar ciclos de vida de teste e desenvolvimento

OGT10 - Estabelecer e manter a Estratégia Organizacional de Teste

TDA - Teste de

Aceitação

TDA1 - Selecionar produtos

TDA2 - Definir critérios de aceitação

TDA3 - Definir papéis e responsabilidades

TDA4 - Definir plano de aceitação

TDA5 - Preparar ambiente para aceitação

TDA6 - Conduzir testes de aceitação

TDA7 - Avaliar condições de aceitação

Continua

51

Níveis de

Maturidade

Áreas de

Processo Práticas

TES - Teste

Estático

TES1 - Identificar produtos de trabalho e tipos de revisão

TES2 - Definir critérios de revisões

TES3 - Conduzir revisões

TES4 - Analisar dados de revisões

TES5 - Conduzir análises estáticas

TRE - Treinamento

TRE1 - Definir um programa de treinamento organizacional

TRE2 - Prover treinamentos

TRE3 - Registrar treinamentos

TRE4 - Avaliar a efetividade de treinamentos

GPT - Gerência de

Projetos de Teste

(evolução)

GPT26 - Gerenciar dados de teste

GPT27 - Verificar aptidão do ambiente de teste

GPT28 - Gerenciar incidentes de ambiente

PET - Projeto e

Execução de Teste

(evolução)

PET7 - Aplicar técnicas de projeto (design) de teste

Nível 4 -

Prevenção de

Defeitos

AQP - Avaliação da

Qual. do Produto

AQP1 - Identificar demanda de qualidade do produto

AQP2 - Definir objetivos quantitativos de qualidade do produto

AQP3 - Definir abordagem para acompanhar a qualidade do produto

AQP4 - Medir a qualidade do produto

AQP5 - Analisar objetivos de qualidade

GDD - Gestão de

Defeitos

GDD1 - Determinar causas de defeitos

GDD2 - Definir ações corretivas

GDD3 - Avaliar efetividade

TNF - Teste Não-

Funcional

TNF1 - Realizar análise de risco não-funcional

TNF2 - Projetar teste não-funcional

TNF3 - Conduzir teste não-funcional

OGT - Organização

do Teste (evolução)

OGT11 - Identificar oportunidades de reuso

OGT12 - Reusar ativos de teste

Nível 5 -

Automação e

Otimização

AET - Automação

da Execução do

Teste

AET1 - Definir objetivos do regime de automação

AET2 - Definir critérios para seleção de casos de teste para

automação

AET3 - Definir um framework para automação de teste

AET4 - Gerenciar incidentes de teste automatizado

AET5 - Verificar aderência aos objetivos de automação

AET6 - Analisar retorno sobre investimento na automação

CEP - Controle

Estatístico do

Processo

CEP1 - Estabelecer objetivos de desempenho de processos

CEP2 - Selecionar processos

CEP3 - Estabelecer medidas de desempenho de processos

CEP4 - Estabelecer baselines de desempenho de processos

CEP5 - Estabelecer modelos de desempenho

GDF - Gestão de

Ferramentas

GDF1 - Identificar necessidade de ferramentas

GDF2 - Selecionar ferramentas

GDF3 - Conduzir projeto piloto

GDF4 - Selecionar gurus de ferramentas

GDF5 - Definir estratégias de implantação de ferramentas

GDF6 - Implantar ferramentas

52

Além das práticas específicas apresentadas, os Níveis 1 (um) e 2 (dois) do modelo

MPT.BR apresentam algumas Práticas Genéricas (PG), são elas:

Nível 1 (um):

o PG1 - Atingir os resultados definidos;

o PG2 - Estabelecer política organizacional;

o PG3 - Planejar a execução do processo;

o PG4 - Identificar e disponibilizar recursos;

o PG5 - Definir responsabilidade e autoridade; e

o PG6 - Prover treinamento.

Nível 2 (dois):

o PG7- Controlar produtos de trabalho;

o PG8 - Monitorar e controlar o processo; e

o PG9 - Fornecer visibilidade do processo para a gerência superior.

Segundo Furtado et al. (2012), a maioria das organizações que implantaram o modelo

MPT.BR estão nos níveis iniciais de maturidade. No entanto, percebe-se que o modelo está

contribuindo para a melhoria dos processos de testes e, consequentemente, da qualidade do

produto. Além disso, os responsáveis pelas organizações apresentaram feedbacks positivos em

relação aos resultados obtidos com o modelo, mostrando interesse em continuar aprimorando

a maturidade dos processos. Assim, apesar do MPT.BR apresentar uma base estável, ele ainda

é recente e necessita de resultados relacionados principalmente com os níveis de maturidade 2

(dois), 3 (três), 4 (quatro) e 5 (cinco), no que se refere a avaliação e aperfeiçoamento do

modelo.

Segundo o site oficial do MPT.BR1, até Agosto 2012, apenas 15 (quinze) empresas

passaram pelo processo de avaliação em todo o território Brasileiro, sendo 8 (oito) do estado

de Pernambuco (PE). De acordo com as informações coletadas junto ao Comitê Gestor do

MPT.BR, uma empresa está implementando o Nível 3 (Pernambuco) do modelo e outra o

Nível 1 (Paraná), e possivelmente, no final do ano de 2012, 17 (dezessete) empresas estarão

certificadas no modelo MPT.BR. O porte dessas empresas varia entre aquelas com áreas de

teste bem reduzidas até áreas muito grandes, como o Departamento de Informática do Sistema

Único de Saúde (SUS) do Ministério da Saúde – DATASUS do estado do Rio de Janeiro

(RJ).

1 http://www.mpt.org.br/

53

2.5.1.5. ISO/IEC 29119

Além dos modelos apresentados (TMMi, TPI, TIM e MPT.BR), encontra-se em processo de

elaboração pela International Organization for Standardization (ISO) a norma ISO/IEC

29119 que define um modelo padrão para o processo de teste de software nas organizações,

dividida em 4 (quatro) partes principais: Parte 1 (Conceitos e Definições), Parte 2 (Processo

de Teste), Parte 3 (Documentação de Teste) e Parte 4 (Técnica de Teste).

Vale ressaltar que, a norma ISO/IEC 29119 não será um modelo de maturidade. Ou

seja, a norma não estabelece um caminho de melhoria, mas apenas define os processos

necessários para o teste de software. Assim, de acordo com o site oficial da norma2, as

principais partes envolvidas apresentam as seguintes características:

Parte 1 (Conceitos e Definições - ISO/IEC 29119-1) – refere-se a uma visão geral dos

conceitos envolvidos ao longo do ciclo de vida do teste, a fim de padronizar um

vocabulário para a documentação envolvida. Os tópicos abordados são: introdução ao

teste de software, o papel da verificação e validação, teste exaustivo, teste de software

no contexto organizacional e projeto, o processo de testes, processo de teste genérico

no ciclo de vida do sistema, manutenção contínua, testes baseados em riscos, objetivos

do teste, técnicas de teste;

Parte 2 (Processo de Teste - ISO/IEC 29119-2) – refere-se a um processo genérico de

teste que pode ser utilizado em qualquer projeto de desenvolvimento de software ou

ciclo de vida de testes, incluindo várias camadas do processo: processo de teste

organizacional, processo de planejamento de teste, processo de controle e

monitoramento do teste, processo de conclusão do teste, processo de teste dinâmico,

processo de implementação e projeto de teste, processo de manutenção e configuração

do ambiente de teste, processo de execução do teste e processo para reportar incidentes

de teste;

Parte 3 (Documentação de Teste - ISO/IEC 29119-3) – baseou-se na norma IEEE 829

– Documentação de Teste e refere-se a documentação necessária durante o ciclo de

vida do teste de software, incluindo: políticas de teste organizacional, estratégia de

teste organizacional, plano de teste, relatório de progresso de teste, relatório de

conclusão de teste, especificação do projeto de teste, especificação de casos de teste,

especificação de procedimentos de teste, requisitos de dados de teste, requisitos do

2 http://www.softwaretestingstandard.org/

54

ambiente de teste, relatório do ambiente de teste, resultados de teste, relatórios de

execução e incidentes de teste; e

Parte 4 (Técnicas de Teste - ISO/IEC 29119-4) – baseou-se no padrão BS-7925-1/2

desenvolvido pela Testing Standards Working Party3 e refere-se às técnicas de testes

utilizadas ao longo do ciclo de vida do teste, como as técnicas de teste baseadas em

especificações (caixa-preta) e técnicas de teste baseadas em estruturas (caixa-branca).

Além disso, a norma define tipos de testes relacionados com a qualidade, tais como:

teste de acessibilidade, teste de compatibilidade, teste de conversão, testes funcionais,

testes de interoperabilidade, testes de manutenibilidade.

Vale lembrar que, a norma ISO/IEC 29119 será o padrão mundial de documentação de

testes, pois se trata de uma evolução da norma IEEE 8294. No entanto, a norma ainda está em

processo de desenvolvimento e pode sofrer alterações, por isso deve ser utilizada com cautela

(Rios, Cristalli e Moreira Filho, 2011).

Segundo SOFTEX (2011), além dos modelos e normas apresentados referentes à

melhoria dos processos de testes, também é possível encontrar na literatura outros modelos,

por exemplo: Testability Support Model (TSM), Testing Assessement Program (TAP), Testing

Assessment Program (TAP), Test Organization Maturity (TOMTM), Maturity Model for

Automated Software Testing, Modelo de Melhoria de Teste (MMT).

2.5.1.6. Relação entre Áreas de Processo dos Modelos de

Teste de Software

Conforme apresentado na Seção anterior (2.5.1 Modelos de Melhoria de Processos de Teste

de Software), os modelos apresentados disponibilizam várias áreas de processo e suas

respectivas práticas que devem ser cumpridas para alcançar um determinado objetivo. Sob

esse aspecto, o Instituto de Teste de Software (iTeste) estabeleceu uma relação das áreas de

processo dos modelos de maturidade TMMi, MPT.BR e a norma ISO/IEC 29119-2, com a

intenção de apresentar a equivalência das áreas de processo entre os modelos. Na Tabela 2.4 é

apresentada a relação entre as áreas de processo dos modelos descritos neste capítulo.

3 http://www.testingstandards.co.uk/ 4 http://standards.ieee.org/findstds/standard/829-1983.html

55

Tabela 2.4. Relação entre as áreas de processo dos modelos TMMi, MPT.BR e a norma

ISO/IEC 29119-2 (Rios, 2013)

MPT.BR TMMi ISO/IEC 29119-2

Gerência de Projetos de Teste

(GPT) Planejamento de Teste Planejamento de Teste

Projeto e Execução de Teste

(PET) Projeto e Execução de Teste

Projeto e Implementação de Teste; Execução de Teste; Relatar Incidente de Teste;

Gerência de Requisitos de

Teste (GRT) -- --

Fechamento do Teste (FDT) -- Fechamento de Teste

Garantia da Qualidade (GDQ) Controle de Qualidade --

Medição e Análise de Teste

(MAT) Medição de Teste --

Teste de Aceitação (TDA) -- --

Teste Estático (TES) Revisão --

Treinamento (TRE) Programa de Treinamento de

Teste --

Avaliação da Qualidade do

Produto (AQP) Avaliação da Qualidade do Produto

--

Gestão de Defeitos (GDD) Prevenção de Defeito --

Teste Não-Funcional (TNF) Teste Não-Funcional --

Organização do Teste (OGT) Organização de Teste --

Automação da Execução do

Teste (AET) -- --

Controle Estatístico do

Processo (CEP) Otimização do Processo de

Teste --

Gestão de Ferramentas (GDF) -- --

Gerência de Projetos de Teste

(GPT) Monitoramento e Controle de Teste

Monitoramento e Controle

Continua

56

MPT.BR TMMi ISO/IEC 29119-2

Gerência de Projetos de Teste

(GPT) Ambiente de Teste

Estabelecer e Manter o

Ambiente de Teste

-- Política e Estratégia de Teste Processo Organizacional de

Teste

Gerência de Projetos de Teste

(GPT) Ciclo de Vida e Integração de Teste

--

Gerência de Projetos de Teste

(GPT) Revisão Avançada --

De acordo com a relação das áreas de processo apresentadas na Tabela 2.4, é possível

observar que o modelo MPT.BR não apresenta processos de suporte para as áreas

relacionadas com políticas de teste e processo organizacional do teste. Observa-se que o

modelo TMMi não apresenta suporte para as áreas de gerência de requisitos de teste,

fechamento de teste, testes de aceitação, automação da execução do teste e gestão de

ferramentas. A norma ISO/IEC 29119-2 não oferece suporte para as áreas relacionadas com

gerência de requisitos de teste, garantia de qualidade, medição e análise de teste, teste de

aceitação e estático, treinamento, avaliação da qualidade do produto, gestão de defeitos, teste

não-funcional, organização do teste, automação da execução do teste, controle estatístico do

processo, gestão de ferramentas.

2.6. Ambiente Móvel

Com o aumento significativo da utilização dos dispositivos móveis (meados do ano de 2009),

o número de aplicações para tal também acompanhou essa evolução e empresas estão

investindo em aplicativos para dispositivos móveis com o intuito de estreitar a relação com o

cliente e, em contrapartida, fazer com que a empresa se aproxime cada vez mais dos clientes

(Kim et al. 2011).

De acordo com Ballard (2007), o desenvolvimento de aplicações para dispositivos

móveis deve considerar 3 (três) principais fatores relacionados com o ambiente móvel:

contexto móvel, usuário de dispositivo móvel e aplicação móvel, conforme apresentado na

Figura 2.9.

57

Figura 2.9. Fatores que definem o ambiente móvel

O contexto móvel está associado às limitações dos dispositivos móveis; o usuário de

dispositivo móvel está associado à mobilidade que os dispositivos móveis oferecem para os

usuários, e a aplicação móvel está associada às peculiaridades dos produtos de software que

operam em dispositivos móveis. Os fatores descritos que constituem o ambiente móvel são

apresentados de forma mais detalhada nas seções que seguem.

2.6.1. Contexto Móvel

Dentre as limitações que caracterizam o contexto móvel, tais como: bateria, tamanho de tela,

conexão, teclado, processamento, destaca-se uma importante característica que é a capacidade

do usuário carregar o dispositivo consigo o tempo todo. Isso faz com que o dispositivo torne-

se um dos principais fatores que contribuem para complexidade do contexto móvel, pois os

dispositivos são fáceis de carregar, possuem acesso a tecnologias de rede sem fio, além de

permitir a comunicação em qualquer lugar, justificando a mobilidade oferecida ao usuário por

meio de smartphones e tablets (Dantas et al., 2009).

Dispositivos móveis podem apresentar grande diferença no modelo, pois são

confeccionados levando em consideração questões de marketing. Os dispositivos que

apresentam como principal objetivo a comunicação de voz, possuem alto-falante, teclado

numérico e microfone, já os dispositivos focados em jogos, apresentam controles como os

periféricos de entrada.

Contexto Móvel

Usuário de Dispositivo

Móvel

Aplicação Móvel

Ambiente Móvel

58

2.6.1.1. Dispositivos Móveis

A Nielsen Company5, empresa de pesquisa de mercado no mundo, realizou no terceiro

trimestre de 2011 uma pesquisa global sobre o uso de meios de comunicação em telas

múltiplas. A pesquisa teve por objetivo identificar a posse e intenções de compra de

smartphones ao redor do mundo. Entre os entrevistados, 57% apresentaram um potencial de

posse de compra nos próximos 12 (doze) meses, o que demonstra um crescimento

considerável de dispositivos móveis.

Os dispositivos móveis vêem demonstrando transformações rigorosas ao longo dos

anos, evoluindo a partir de um simples dispositivo de comunicação para uma plataforma de

computação, possibilitando o suporte para aplicações complexas e maduras. Algumas

características importantes contribuíram para essas transformações, como a capacidade de

processamento e armazenamento, conectividade de Internet cada vez mais rápida e

acessibilidade aos dados, chegando cada vez mais próximos as características de um

computador (desktops, laptops). Além disso, smartphones e tablets já somam um grande

percentual do total de vendas de novos dispositivos móveis (Jain e Shanbhag, 2012).

Embora seja visível a constante evolução dos dispositivos móveis, algumas limitações

ainda impactam de forma negativa sobre o ambiente móvel como, as limitações de tela (em

média até 4.13 polegadas e no máximo 800x480 pixels), capacidade de armazenamento

(alguns dispositivos possuem memória para expansão de 32GB, mas normalmente apresentam

pouca capacidade), memória (pequena e limitada, em média 128MB de memória RAM),

processamento (lento), bateria (necessário recarregar a bateria após um período de tempo que

pode variar de acordo com a tecnologia de acesso de rádio usada, configuração e uso),

conectividade (lenta e instável, geralmente feita através de redes sem fio (Wi-Fi, GPRS e 3G),

mobilidade (passível de interrupção, pois pode ser utilizado facilmente com o usuário em

movimento) e dispositivos de entrada (teclado pequeno e limitado, caneta, tela sensível ao

toque, botões para navegação, microfone, câmera, cartão de memória, teclados slide) (Heiss,

2002).

5 http://br.nielsen.com

59

2.6.2. Usuário de Dispositivo Móvel

Dispositivos móveis são inseridos no mercado com uma gama enorme de aplicações e

funcionalidades, com o intuito de agilizar as tarefas cotidianas dos mais diversos tipos, desde

se comunicar com outros usuários e responder e-mails até utilizar a Internet para efetuar

algum tipo de transação bancária, sem necessitar do auxílio de um computador,

caracterizando o fator chave do ambiente móvel: a mobilidade (Lee, Schneider e Schell,

2005).

A conveniência e as poderosas funcionalidades oferecidas pelos dispositivos móveis

fizeram com que as pessoas optassem pela mobilidade, desenvolvendo uma forte interação

entre o usuário e o ambiente no qual ele está inserido enquanto opera suas aplicações.

Portanto, o ambiente afeta diretamente como o dispositivo é utilizado, pois o mesmo não é

capaz de determinar se o usuário está em uma reunião de negócios ou em uma viagem ou em

outra atividade, caracterizando-o como um fator contextual (Ballard, 2007; Lee, Schneider e

Schell, 2005).

Dessa forma, o usuário torna-se passível de interrupções, pois pode ser interrompido a

qualquer momento enquanto utiliza o dispositivo, inclusive impedido de finalizar alguma

atividade em uma aplicação específica, por exemplo, ser interrompido por um recebimento de

uma chamada enquanto está redigindo uma mensagem. Diante disso, as aplicações ou

serviços do dispositivo móvel devem permitir que o usuário finalize sua operação em outro

momento, sem perder as informações inseridas que não foram salvas.

Os usuários móveis mais característicos são os profissionais e consumidores. Os

usuários móveis profissionais referem-se a 6 (seis) principais tipos: profissionais em trânsito

remoto (viajam muito), agentes de vendas, agentes de serviços, consultores, profissionais em

trânsito local e escritórios. Os usuários móveis consumidores referem-se a 2 (dois) principais

tipos: jovem e adulto. Estes usuários esperam atividades variadas das aplicações móveis que

operam em seus dispositivos, como a comunicação (voz, áudio, texto, imagens), trabalho

(intercâmbio de informações, emissão de instruções), entretenimento (jogos de divertimento,

jogos de azar, músicas, filmes), educação (individualizada, interativa) e localização

(informações de localização do usuário, informações de destino) (Lee, Schneider e Schell,

2005).

60

Vale ressaltar que, a partir do momento que o usuário torna-se móvel (opera um

dispositivo móvel) entende-se que ele está disponível a todo o momento, pois a mobilidade do

dispositivo insere essa característica, mesmo o usuário não se sentindo a vontade em atender

uma ligação ou responder uma mensagem no meio de uma reunião de negócios, por exemplo.

2.6.3. Aplicação Móvel

Uma aplicação (software) pode ser considerada móvel quando ela é executada em um

dispositivo que pode se mover. Ou seja, pode-se considerar como uma aplicação móvel,

softwares que operam em leitores de MP3, câmeras digitais, GPS. Porém, algumas

características importantes diferenciam as aplicações móveis citadas anteriormente das

aplicações mais complexas que operam em dispositivos robustos como, smartphones e

tablets. São elas: recursos limitados, segurança e vulnerabilidade, desempenho e

confiabilidade, variabilidade e fonte de energia limitada (Muccini, Di Francesco e Esposito,

2012; Satyanarayanan, 1996).

Os usuários apresentam grande expectativa sobre a qualidade do software

disponibilizado para os seus dispositivos. Portanto, é de extrema importância que o software

seja confiável e estável, pois caso contrário, os usuários não vão se sentir confiantes em

armazenar informações em um dispositivo que pode travar ou perder as informações

armazenadas (Bo, Xiang, Xiaopeng, 2007). Além disso, os usuários de dispositivos móveis

tornaram-se acostumados a manusear aplicações simples, que se comportam de forma correta,

sem falhas, sem perda de dados ou serviços, e que não interferem em outras aplicações que

estão sendo executadas (She, Sivapalan e Warren, 2009).

As aplicações móveis são constituídas de um dispositivo, um navegador, um ambiente

de aplicação e suas capacidades, um usuário de dispositivo móvel, ambiente de aplicação,

mensagens, ambientes de mídia, interfaces de saídas (tela, caixa de som, bluetooth, Wi-Fi),

interfaces de entradas (teclados, tela sensível ao toque, microfone, câmera), interfaces entre

servidor de aplicação e outras fontes de informação (Ballard, 2007).

61

2.6.3.1. Tipos de Aplicações Móveis

A análise de uma aplicação móvel durante o planejamento dos testes é uma prática primordial,

pois a partir do planejamento é possível determinar os principais riscos envolvidos e

desenvolver os respectivos planos de mitigação, além de direcionar o objetivo do teste.

Entretanto, para analisar uma aplicação móvel é necessário entender o contexto no

qual ela está envolvida. No entanto, não é uma tarefa trivial classificar as aplicações móveis,

pois várias classificações são encontradas na literatura abordando algumas características

individuais.

Dessa forma, esta dissertação baseia-se em Weiss (2003), Pocatilu (2008) e Fling

(2009), para classificar as aplicações móveis. Os principais tipos identificados foram:

Web Sites: são sites desenvolvidos para dispositivos móveis, caracterizados por uma

simples apresentação de links de navegação que direcionam o usuário para uma página

de um nível mais profundo;

Web Widgets: são aplicações criadas para superar as limitações de páginas web para

dispositivos móveis, e apresentam funcionalidades limitadas que podem ser instaladas

e executadas em uma página web;

Aplicações Web: são aplicações móveis que não precisam ser instaladas ou compiladas

no dispositivo de destino, permitindo aos usuários interagirem com o conteúdo em

tempo real, nos quais um clique ou toque realizam uma ação dentro da visão atual;

Aplicações Nativas: são aplicativos construídos especificamente para dispositivos que

executam a plataforma em questão, por exemplo, Android e iOS;

Jogos: aplicações nativas com foco em entretenimento;

Aplicações de Negócios: são aplicações nativas e referem-se à automatização de

necessidades específicas de negócios apresentando características peculiares como,

acomodar o início e a parada de um processo sem perder dados, garantir a consistência

nas interfaces de usuário desktop web e manter a comunicação dos sistemas de modo

que os perfis disponíveis para desktop também sejam para a web sem fio;

Aplicações para Produtividade: incluem os calendários, calculadoras, agendas, bloco

de notas, planilhas e serviços de diretório

Aplicações para Comunicação: incluem e-mail, vídeo, telefone, bate-papo interativo e

sistemas de fóruns de discussão e mensagens; e

Utilitários: incluem gerenciadores de perfis, tarefas de chamada e arquivos.

62

De acordo com Ickin et al. (2012), as aplicações móveis também podem ser

diferenciadas de acordo com 12 (doze) principais categorias correspondentes à frequência de

utilização pelo usuário. As categorias estão apresentadas em ordem decrescente de utilização.

Comunicação;

Web;

Redes Sociais;

Ferramentas de produtividade;

Clima (tempo);

Notícias;

Multimídia;

Jogos;

Estilo de vida;

Finanças:

Compras; e

Viagens.

Além das características particulares apresentadas sobre o ambiente móvel (contexto

móvel, usuário de dispositivo móvel e aplicação móvel), o aspecto gerencial de projetos de

desenvolvimento de aplicações móveis também apresenta características específicas se

comparado com a gestão de projetos de softwares tradicionais.

Na Tabela 2.5 é apresentada a correlação entre a gestão de projetos de software

tradicional e aplicação móvel.

Tabela 2.5. Correlação entre a gestão de projetos de software tradicional e aplicação móvel

(adaptada de Andrade et al., 2012)

Área Software Tradicional Aplicação Móvel

Escopo do Produto

Desenvolvimento de produtos

genuínos (próprios e independentes

de outros sistemas);

Normalmente transação on-line;

Desenvolvimento de produtos de

integração com sistemas de

informação;

Transação on-line e off-line;

Duração dos Projetos Médio e longo prazo; Curto prazo;

Recursos Humanos Processo de seleção específico;

Equipes estáticas;

Processo de seleção generalizado;

Equipes dinâmicas;

Continua

63

Área Software Tradicional Aplicação Móvel

Riscos

Baixo impacto de fatores externos

não regulatórios;

Médio impacto de fatores

tecnológicos;

Disponibilidade média de

profissionais especialistas no

mercado de trabalho;

Médio impacto de fatores externos

não regulatórios;

Alto impacto de fatores

tecnológicos;

Disponibilidade baixa de

profissionais no mercado de

trabalho;

Planejamento

Estratégico de

Mercado

Médio e longo prazo;

Previsão do mercado;

Curto prazo;

Reação do mercado

Custos Teste em uma ou poucas

plataformas/equipamentos;

Teste em várias

plataformas/equipamentos;

Segundo Andrade et al. (2012), projetos de desenvolvimento de aplicações móveis são

aplicados ao negócio com o propósito de estender as funções organizacionais e alcançar novos

objetivos estratégicos que antes não eram possíveis, caracterizando esses projetos como de

curto prazo e menor escopo se comparado aos projetos de desenvolvimento de software

tradicionais. Além disso, os riscos e custos divergem principalmente na diversidade dos

dispositivos e plataformas móveis e nas habilidades e qualificações dos recursos humanos.

2.7. Testes de Aplicações Móveis

Os produtos de software que operam em dispositivos móveis demandam por características de

qualidade diferenciadas em relação aos tradicionais (desktop).

Além das características de qualidade apresentadas pela norma NBR ISO/IEC 9126-1

(funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade, portabilidade),

alguns autores (Capgemini, Sogeti e Hewlett-Packard, 2012; Franke e Weise, 2011; Muccini,

Di Francesco e Esposito, 2012; Palit et al., 2011; Lee, Schneider e Schell, 2005; Zhang e

Adipat, 2005; Dantas et al., 2009; Franke e Weise, 2011; Jain e Shanbhag, 2012; OWASP

Foundation, 2012) ressaltam características particulares relacionadas à qualidade das

aplicações móveis e, portanto, novas abordagens de testes devem considerá-las.

Na Tabela 2.6 são apresentadas as principais características de avaliação de qualidade

do dispositivo móvel e suas funcionalidades.

64

Tabela 2.6. Características de avaliação de qualidade do dispositivo móvel e suas

funcionalidades

Característica Descrição Referência

Adaptabilidade/

Compatibilidade

Capacidade da aplicação móvel se comportar de maneira

estável em diferentes configurações de hardware e

sistemas operacionais. Centenas de dispositivos móveis

estão no mercado produzido por diferentes fornecedores e

com características diferentes de software e hardware.

Durante a execução, as aplicações móveis podem se

comportar de forma diferente devido a variações nos

componentes de hardware ou sistema operacional. Por

exemplo, os sensores utilizados nos dispositivos são

calibrados de maneira diferente, de modo que dois

dispositivos distintos que executam a mesma aplicação, no

mesmo ambiente, podem obter resultados diferentes. Dessa

forma, explorar técnicas para aumentar o alcance de

cobertura do teste entre a diversidade de modelos torna-se

uma técnica de teste importante.

[Capgemini, Sogeti e

Hewlett-Packard, 2012]

[Franke e Weise, 2011]

[Muccini, Di Francesco e

Esposito, 2012]

Autonomia

De acordo com o tipo da aplicação móvel, o consumo de

energia pelo dispositivo pode apresentar grandes

variações. Como os dispositivos móveis não podem

depender de uma tomada elétrica para o funcionamento, a

autonomia da bateria é uma questão que merece destaque e

deve ser avaliada por meio de testes e/ou monitoramento

contínuo. A utilização do dispositivo em modo stand-by,

conexão Wi-Fi ou 3G ativada, são aplicações/serviços que

impactam na autonomia do dispositivo.

[Muccini, Di Francesco e

Esposito, 2012]

[Palit et al., 2011]

Conectividade

(Rede)

A conectividade de dispositivos móveis é muitas vezes

lenta e pouco confiável e, portanto, terá impacto sobre o

desempenho das aplicações móveis que utilizam esses

recursos. As aplicações móveis geralmente se conectam a

redes móveis que podem variar na velocidade, segurança e

confiabilidade. A confiabilidade do aplicativo,

desempenho, segurança e correto funcionamento depende

fortemente do tipo de conectividade disponível. Além

disso, aplicações que dependem de rede também devem

ser priorizadas, pois as funcionalidades básicas do

dispositivo dependem desse recurso, por exemplo, efetuar

chamadas.

[Capgemini, Sogeti e

Hewlett-Packard, 2012]

[Lee, Schneider e Schell,

2005]

[Muccini, Di Francesco e

Esposito, 2012]

[Zhang e Adipat, 2005]

Desempenho/

Eficiência

O desempenho e a confiabilidade das aplicações móveis

dependem fortemente dos recursos disponíveis nos

dispositivos. Novas técnicas de análise de desempenho e

confiabilidade devem considerar as características

relacionadas com os diferentes tipos de dispositivos

móveis.

[Capgemini, Sogeti e

Hewlett-Packard, 2012]

[Muccini, Di Francesco e

Esposito, 2012]

Continua

65

Característica Descrição Referência

Flexibilidade/

Sensibilidade ao

Contexto

De acordo com o ambiente e/ou ações do usuário, as

aplicações podem se comportar de maneira não esperada,

pois o dispositivo está vulnerável a várias características,

por exemplo, luminosidade, temperatura, altitude, ruído,

tipo de conectividade (bluetooth, GPS, Wi-Fi, 3G), largura

de banda e até mesmo outros dispositivos que estão

próximos. As restrições ambientais também incluem a

interação com as pessoas próximas, objetos e elementos

ambientais que podem distrair a atenção dos usuários.

[Dantas et al., 2009]

[Franke e Weise, 2011]

[Muccini, Di Francesco e

Esposito, 2012]

[Zhang e Adipat, 2005]

Funcionalidade Assegurar o funcionamento da aplicação móvel conforme

especificado.

[Capgemini, Sogeti e

Hewlett-Packard, 2012]

[Lee, Schneider e Schell,

2005]

Limitação de

Recursos

Os dispositivos móveis estão se tornando cada vez mais

robustos, porém, seus recursos ainda estão distantes dos

que estão disponíveis em laptops ou computadores de

mesa. A utilização de recursos pelas aplicações móveis

deve ser monitorada de modo a evitar a degradação do

desempenho e funcionamento correto do software, além de

ações corretivas no caso de escassez de recursos.

[Muccini, Di Francesco e

Esposito, 2012]

Persistência de

dados

Aplicações móveis em pausa podem ser encerradas devido a problemas com a memória do dispositivo, e suas informações perdidas.

[Franke e Weise, 2011]

Segurança/

Integridade das

Informações

A segurança e integridade das informações são

características importantes devido à mobilidade do

dispositivo e o acesso a redes com diferentes níveis de

segurança. A facilidade de acesso ao desenvolvimento de

aplicações para dispositivos móveis aumenta o número de

aplicativos disponíveis, que de alguma forma, armazenam

informações dos usuários. Dessa forma, abordagens

tradicionais de teste de segurança devem ser revistas para

que considerem fatores contextuais, com a intenção de

serem simuladas de modo a verificar quais são os dados

que realmente são transmitidos para o dispositivo móvel.

[Capgemini, Sogeti e

Hewlett-Packard, 2012]

[Jain e Shanbhag, 2012]

[Muccini, Di Francesco e

Esposito, 2012]

[OWASP6 Foundation,

2012]

Sistemas

Operacionais

Aplicações móveis são executadas em sistemas

operacionais que ainda são pouco confiáveis. Novas

versões de sistemas operacionais móveis são divulgadas e

na maioria das vezes não são compatíveis com versões

anteriores, o que implica em alterações nas aplicações que

já estão instaladas no dispositivo. Além disso, a

diversidade de sistemas operacionais móveis faz com que

as linguagens de programação sejam diferentes entre os

dispositivos móveis, dificultando a padronização. São

exemplos de sistemas operacionais: Apple iOS, Google

Android, Windows Mobile, Rim BlackBerry OS, Nokia

Symbian, entre outros.

[Muccini, Di Francesco e

Esposito, 2012]

Continua

6 Open Web Application Security Project – http://www.owasp.org.

66

Característica Descrição Referência

Touch Screen

O tempo de resposta da aplicação a um toque em uma tela

sensível depende muitas vezes da utilização dos recursos

do dispositivo. Telas sensíveis ao toque são os principais

meios de inserção de dados pelo usuário em uma aplicação

móvel, e, por isso, sua estabilidade é importante. Técnicas

de teste devem ser introduzidas para testar o

funcionamento da tela sensível ao toque em circunstâncias

diferentes, por exemplo, sobrecarga do processador,

sobrecarga de memória.

[Dantas et al., 2009]

[Muccini, Di Francesco e

Esposito, 2012]

Usabilidade

As aplicações móveis podem agir de forma diferente

dependendo da resolução e dimensão da tela do

dispositivo. O teste de interfaces gráficas é uma

necessidade, pois diferentes dispositivos móveis podem

reagir de forma diferente para o mesmo código da

aplicação. Dispositivos móveis apresentam telas muito

pequenas, o que significa que a quantidade de informação

que pode ser exibida é drasticamente reduzida quando

comparado a um computador. Além disso, a resolução de

telas de dispositivos móveis é de baixa qualidade,

impactando na qualidade da imagem.

[Muccini, Di Francesco e

Esposito, 2012]

[Zhang e Adipat, 2005]

As organizações que testam aplicações móveis enfatizam a obtenção de diferentes

níveis de qualidade em comparação com os testes em softwares tradicionais, pois o foco

principal é o desempenho do aplicativo, em vez de sua funcionalidade. A eficiência do

desempenho das aplicações é identificada como foco principal para a atividade de teste. Ou

seja, o usuário pode admitir falhas pontuais nas aplicações, desde que elas apresentem um

bom desempenho e boa usabilidade em relação à mobilidade do usuário (Capgemini, Sogeti e

Hewlett-Packard, 2012).

Diante disso, é visível a necessidade de uma abordagem de testes para aplicações

móveis, de modo que as particularidades do contexto móvel não afetem de forma negativa a

qualidade das aplicações finais disponibilizadas para os usuários.

67

2.8. Engenharia de Software Experimental (ESE)

A Engenharia de Software (ES) pode ser considerada como um processo social em que os

artefatos (métodos/ferramentas/paradigmas) a serem utilizados são afetados pelo

conhecimento, experiência e a capacidade do usuário. Assim, uma diferença importante entre

a ES e outras disciplinas de engenharia é a importância do elemento humano. Além disso, a

ES tem lugar em um contexto social e, como tal, é influenciado por relacionamentos entre as

pessoas (equipe do projeto, os gestores, os usuários, etc.) e do contexto social (cultura

corporativa, procedimentos organizacionais, etc.) (Juristo e Moreno, 2010).

Nesse contexto, a ESE afirma que os estudos empíricos exercem um papel

fundamental na evolução da disciplina de ES, pois permitem construir um corpo de

conhecimento apoiado pela observação e evidências empíricas, com a intenção de obter

informações sobre um objeto de pesquisa (Basili, 2007).

De acordo com Wohlin et al. (2000), a experimentação caracteriza-se por um processo

com as seguintes etapas:

Definição: os objetivos e metas são definidos, visando definir questões relacionadas

com o objeto do estudo, propósito, foco de qualidade, perspectiva e contexto;

Planejamento: define como o estudo experimental será conduzido, por meio dos

seguintes elementos: contexto, hipóteses, variáveis, participantes e projeto

experimental, contendo instrumentação e avaliação da validade;

Execução: acompanhar se o estudo está ocorrendo conforme o planejado;

Análise e Interpretação: as hipóteses elaboradas são comparadas com os dados por

meio de ferramentas estatísticas adequadas. Os resultados gerados são utilizados pelo

experimentador na tentativa de rejeitar a hipótese nula e confirmar a hipótese

alternativa; e

Apresentação e Empacotamento: os resultados obtidos com o experimento são

apresentados e empacotados.

Conforme Juristo e Vegas (2011) afirmam, a experimentação é a possibilidade de

outros pesquisadores replicarem o experimento, com a intenção de qualificar uma ideia como

prova irrefutável. Assim, o processo de replicação é composto pelas seguintes atividades:

Definição e Planejamento: entender o cenário (ambiente, contexto) original, analisar o

novo cenário, realizar as modificações necessárias no experimento e analisar os

possíveis impactos das mudanças nos resultados da replicação;

68

Execução e Análise: executar a replicação e analisar os dados;

Interpretação: comparar os resultados da replicação com resultados anteriores, gerar

conhecimento a partir das modificações necessárias e gerar conhecimento a partir das

modificações não-intencionais; e

Contribuição da Replicação: analisar o tipo de replicação obtida e contribuição à

confiança dos resultados.

2.9. Trabalhos Relacionados

Esta Seção apresenta os 2 (dois) trabalhos relacionados que foram selecionados a partir da

revisão bibliográfica e serviram como base para o desenvolvimento da abordagem TM-Aplic

apresentada nesta dissertação. Na Tabela 2.7 são apresentados os trabalhos por título, ano e

autor.

Tabela 2.7. Trabalhos relacionados

Título Ano Autor

Testing Requirements for Mobile Applications 2009 Dantas, V. L. L.; Marinho, F. G.;

Costa, A. L.; Andrade, R. M. C.

The Definition of a Testing Process to small-sized

companies: The Brazilian Scenario 2010

Rodrigues, A.; Pinheiro, P. R.;

Albuquerque, A.

2.9.1. Descrição e Análise dos Trabalhos Relacionados

O trabalho de Dantas et al. (2009) intitulado de Testing Requirements for Mobile Applications

apresenta um conjunto de 16 (dezesseis) requisitos para o teste de aplicações móveis. Os

autores classificam esses requisitos em duas categorias: i) relacionados com o processo de

teste e ii) relacionados com a usabilidade. Os requisitos do número 1 (um) ao 8 (oito) são

relacionados com o processo de teste e os requisitos do número 9 (nove) ao 16 (dezesseis) são

relacionados com a usabilidade, conforme apresentado na Tabela 2.8.

69

Tabela 2.8. Requisitos de testes para aplicações móveis (adaptada de Dantas et al., 2009)

Classificação Requisito Descrição

Pro

cess

o d

e T

este

s

1 O modelo de processo de desenvolvimento das aplicações móveis

deve focar no processo de teste.

2 As aplicações devem ser testadas tanto em emuladores quanto em

dispositivos móveis.

3

O relatório de teste deve informar o nome da aplicação, a versão da

aplicação, a versão do emulador e/ou dispositivo e o ambiente de

teste.

4

Para cada erro reportado devem ser fornecidos a sua descrição, a

sua frequência de ocorrência (sistemático, aleatório ou apenas uma

vez), a sua localização na aplicação e um passo a passo para

reproduzi-lo.

5 As aplicações móveis devem ser testadas de acordo com as

limitações do contexto móvel às quais elas se aplicam.

6 As aplicações móveis desenvolvidas não devem destruir as

funcionalidades das aplicações já inseridas no dispositivo móvel.

7 O testador deve saber quais características podem ser testadas no

laboratório e quais podem ser testadas no contexto móvel.

8 O teste de usabilidade deve ser incluído durante o ciclo de

desenvolvimento da aplicação móvel.

Usa

bil

idad

e

9

O usuário de dispositivo móvel deve sempre saber onde está na

aplicação, o que ele já fez, o que pode fazer e como desfazer os seus

erros.

10 As ações do usuário de dispositivo móvel não devem ser desfeitas

quando interrupções externas forçam a aplicação pausar.

11 A aplicação deve suportar os formatos de tela retrato e paisagem.

12 As aplicações móveis devem pedir a permissão do usuário antes de

estabelecer conexões.

13

As aplicações móveis não devem usar texto justificado, alinhado à

direita, cortado, todo em maiúsculo, e sua quantidade deve ser

mínima para que não seja necessário utilizar barra de rolagem.

Além disso, a aplicação móvel deve ter um bom contraste em

relação ao plano de fundo.

14 As aplicações móveis devem requerer a confirmação do usuário

para executar ações não reversíveis.

15 As aplicações móveis devem explorar a utilidade e a usabilidade

proporcionadas pelo som durante a sua execução.

16

As teclas do tipo softkey quando utilizadas para controlar as ações

das aplicações móveis devem mapear as ações mais importantes e

mais usadas na aplicação. Recomenda-se utilizar a tecla softkey da

esquerda para ações positivas e a da direita para ações negativas.

70

Apesar da identificação dos requisitos, os autores não definem claramente os aspectos

relacionados com a condução do teste. No entanto, os requisitos devem ser utilizados como

base para auxiliar as equipes nas atividades de teste para aplicações móveis. A pesquisa

ressalta que, a maioria das empresas que desenvolvem aplicativos para dispositivos móveis

não possui um processo de teste específico para esse tipo de software, tornando a cobertura do

teste insuficiente, no que se refere à cobertura das particularidades das aplicações.

Como trabalho futuro, os autores sugerem que os requisitos de teste propostos sejam

aplicados em diferentes cenários e, também, sejam agrupados em níveis de prioridade. Além

disso, é importante aperfeiçoar e documentar os requisitos de teste para outros tipos de

aplicações móveis, por exemplo, jogos. Pode-se concluir que, durante a análise do trabalho, os

autores também se limitam em abordar requisitos de testes, não mencionando questões

gerenciais do teste, por exemplo, riscos do produto, estratégias de testes, critérios de

aceitação, recursos humanos, ambiente de teste, artefatos gerados e entre outros.

O trabalho de Rodrigues, Pinheiro e Albuquerque (2010) intitulado The Definition of a

Testing Process to small-sized companies: The Brazilian Scenario apresenta os resultados de

uma pesquisa, realizada com o intuito de identificar os fatores que impossibilitam a

implantação de processos de testes de software em empresas Brasileiras de pequeno porte.

Alguns dos principais fatores identificados foram: dificuldade em adaptar os modelos de

processos de teste existentes para um ambiente específico, falta de orçamento, falta de tempo,

tamanho da equipe de testes, falta de profissionais especializados nas atividades de teste,

dificuldade em escolher a técnica de teste adequada, falta de conhecimento, artefatos de baixa

qualidade, falta de compromisso dos gestores do projeto e entre outras.

Diante desses fatores, os autores propuseram um processo de testes de software

direcionado para empresas brasileiras de pequeno porte, constituído de 2 (duas) principais

atividades: Planejamento e Execução, conforme apresentada na Figura 2.10.

71

Figura 2.10. Processo de testes para empresas de pequeno porte (adaptada de Rodrigues,

Pinheiro e Albuquerque, 2010)

A atividade de Planejamento é constituída das seguintes tarefas: identificar o produto

de teste, selecionar técnicas e tipos de testes, identificar critérios de aceitação, identificar os

papéis, analisar relatórios de defeitos e definir ambiente de teste. O artefato de teste principal

da atividade é o plano de testes. A atividade de Execução é constituída das seguintes tarefas:

realizar teste, enviar relatório de testes para análise e analisar o resultado de teste. O artefato

gerado é o relatório de falhas e um plano de ação.

Assim, o trabalho de Rodrigues, Pinheiro e Albuquerque (2010) está relacionado com

a abordagem TM-Aplic porque as empresas que desenvolvem aplicações móveis se encaixam

nos fatores identificados. Os estudos de Jeong, Lee e Shin (2008) e Kim, Choi e Wong (2009)

apresentam algumas características que justificam a escolha de uma abordagem de testes mais

flexível para apoiar as organizações que desenvolvem aplicações móveis. As justificativas

são:

As organizações que aplicam um ciclo curto e rápido para desenvolver as aplicações

móveis ganham vantagem competitiva;

A maioria das empresas que desenvolvem aplicações móveis é de pequeno porte, o

que torna difícil a aplicação de métodos complexos durante o desenvolvimento; e

Devido a determinadas restrições de recursos dos dispositivos móveis, as aplicações

móveis desenvolvidas são simples e pequenas.

Além disso, o trabalho de Rodrigues, Pinheiro e Albuquerque (2010) aponta as

diretrizes no que se refere às tarefas que devem ser realizadas durante os testes. No entanto,

carece de detalhes referentes aos artefatos que devem ser gerados, dificultando o

entendimento prático da proposta.

72

2.10. Considerações Finais

Os conceitos e técnicas apresentados neste capítulo oferecem o embasamento teórico

necessário para a contextualização e fundamentação desta dissertação, bem com a condução

dos estudos experimentais. Além disso, o capítulo apresentou os trabalhos relacionados que

abordam as questões referentes ao teste para aplicações móveis e a condução das atividades

de testes.

Assim, a partir da análise dos trabalhos relacionados, algumas características foram

elencadas para a definição da abordagem TM-Aplic. As características são:

Alinhamento dos requisitos para o teste de aplicações móveis proposto por Dantas et

al. (2009) no que se refere a definição das tarefas, papéis e artefatos, de modo a

considerar as particularidades das aplicações, bem como as questões inerentes do

ambiente móvel;

Definir uma metodologia sistemática de teste abordando as tarefas propostas por

Rodrigues, Pinheiro e Albuquerque (2010), de maneira que combine as boas práticas

de planejamento, projeto e execução de testes estabelecidas pelas áreas de processos

do modelo de maturidade MPT.BR; e

Controle e monitoramento dos artefatos gerados ao longo das atividades de teste.

O capítulo seguinte apresenta a abordagem de TM-Aplic proposta nesta dissertação.

73

Abordagem TM-Aplic

3.1. Considerações Iniciais

Embora vários estudos relacionados ao teste de software sejam encontrados na literatura

(Borner, Illes-Seifert e Paech, 2007; Crespo et al., 2010a; Dias Neto e Travassos, 2006; Mette

e Hass, 2008; Jacobs, Van Moll e Stokes, 2000; Jun-feng et al., 2006; Li, Ma e Chao, 2008;

Mao e Zhang, 2007; Monteiro et al., 2010; Rodrigues, Pinheiro e Albuquerque, 2010; Sanz et

al., 2009), observa-se que os componentes que fazem parte de um processo de testes (por

exemplo: entradas, mecanismos e agentes, restrições e condições), podem apresentar

variações específicas de acordo com as particularidades apresentadas pelo software.

Assim, a etapa de planejamento deve ser destacada de modo que as características

particulares de qualidade sejam consideradas durante a execução das tarefas de teste, a fim de

contribuir para a melhoria da qualidade do produto, no que se refere à identificação de falhas

antes da aplicação ser disponibilizada para os usuários finais.

Segundo Kim et al. (2011), o aumento significativo dos dispositivos móveis e,

consequentemente, o surgimento de inúmeras aplicações e serviços que operam nesses

dispositivos, acarreta em uma busca constante pela melhoria da qualidade desses produtos de

software.

3

Capítulo

74

No entanto, torna-se um desafio aprimorar a qualidade das aplicações móveis

desenvolvidas, pois este tipo de software impõe inúmeras características específicas que as

difere de software tradicionais, tais como: a quantidade de usuários de dispositivos móveis,

usuários com menos experiência, variedade de modelos de dispositivos, questões relacionadas

com a mobilidade do usuário (Dantas et al., 2009; Muccini, Di Francesco e Esposito, 2012).

A mobilidade proporcionada aos usuários é o principal fator que contribui para a

complexidade das aplicações móveis, pois está diretamente associada às características de

qualidade da aplicação (por exemplo: portabilidade, usabilidade, funcionalidade,

conectividade) (Lee, Schneider e Schell, 2005; Zeidler, Kittl e Petrovic, 2007).

Neste contexto, o capítulo apresenta a abordagem TM-Aplic, na qual são definidas as

tarefas relacionadas com o planejamento, projeto e execução dos testes, de maneira que as

questões inerentes a um ambiente móvel sejam consideradas, bem como os papéis, artefatos e

os resultados esperados de cada tarefa.

3.2. Composição da Abordagem

A abordagem TM-Aplic, proposta na presente dissertação, considera 2 (duas) características

principais:

Definição de um Processo de Testes; e

Requisitos para Testes de Aplicações Móveis.

Além delas, foram considerados alguns elementos do processo de testes para empresas

brasileiras de pequeno porte e do modelo de maturidade MPT.BR.

Assim, na Figura 3.1 é ilustrada a composição da abordagem TM-Aplic, e na Tabela

3.1 é apresentado um resumo das principais características, bem como os principais elementos

abordados ao longo do desenvolvimento da abordagem.

75

Figura 3.1. Composição da abordagem TM-Aplic

Tabela 3.1. Resumo das principais características que compõe a abordagem TM-Aplic

Características Resumo

Definição de um Processo

de Testes

Tarefas consideradas (Rodrigues, Pinheiro e Albuquerque, 2010):

Planejamento - identificar o produto de testes, selecionar técnicas

e tipos de testes, identificar critérios de aceitação, identificar os

papéis, analisar relatórios de defeitos e definir ambiente de teste;

e

Execução - realizar teste, enviar relatório de testes para análise e

analisar o resultado de teste.

Caracterização das tarefas de acordo o Nível 1 (um) de maturidade do

modelo MPT.BR (SOFTEX, 2011). As áreas de processo utilizadas

foram:

Gerência de Projetos de Teste (GPT); e

Projeto e Execução de Teste (PET).

Requisitos para Testes de

Aplicações Móveis

Situações de testes para aplicações móveis que abordam questões

relacionadas com a usabilidade e o processo de testes, bem como os

fatores inerentes do ambiente móvel (Dantas et al., 2009).

76

3.3. Estrutura da Abordagem

Após o refinamento das características abordadas, tornou-se possível definir a estrutura

principal da abordagem TM-Aplic, na qual 2 (dois) principais subprocessos são definidos:

Planejamento de Teste e;

Projeto e Execução de Teste.

O subprocesso Planejamento de Teste apresenta como principal objetivo desenvolver

um plano de testes, de modo que o subprocesso Projeto e Execução de Teste projete e execute

os casos de teste. Ambos os subprocessos estão caracterizados de forma a considerar as

particularidades das aplicações móveis, conforme apresentado na Figura 3.2.

Figura 3.2. Subprocessos da abordagem TM-Aplic (adaptado de Dias Neto e Travassos, 2006

e Rodrigues, Pinheiro e Albuquerque, 2010)

De modo geral, a primeira etapa de um processo é a entrada, responsável por fornecer

as informações sobre o software que será testado, por exemplo, informações relacionadas com

a aplicação móvel. Após definida a entrada, a etapa de procedimento consiste na execução das

tarefas estabelecidas, divididas entre os subprocessos. Cada tarefa executada resulta em um

artefato de teste, caracterizado como uma saída e, serve como entrada para a realização da

próxima tarefa.

A descrição gráfica da abordagem foi realizada por meio da notação para modelagem

de processos de negócios BPMN (Business Process Modeling Notation), mantida pelo Object

Management Group (OMG)7, por entender ser uma notação de fácil entendimento do

percurso das tarefas apresentadas. Os objetos utilizados para compor o diagrama da

abordagem TM-Aplic são apresentados na Tabela 3.2.

7 http://www.omg.org/bpmn/index.htm

77

Tabela 3.2. Objetos utilizados para compor o diagrama (adaptado de Bizagi, 2013)

Figura Objeto Descrição

Evento de Início Indica o início do processo.

Evento de Início com

Mensagem

Indica que processo inicia ao receber uma mensagem de

outro processo.

Evento de Término Indica o término do processo.

Evento de Término

com Mensagem

Indica que uma mensagem é enviada a outro processo,

quando o fim é atingido.

Decisões

São locais dentro do processo onde o fluxo de sequência

das tarefas pode tomar dois ou mais caminhos

alternativos.

Fluxo de Sequência Utilizado para mostrar a ordem em que as tarefas serão

executadas em um processo.

Fluxo de Mensagem Representa a comunicação entre dois processos ou duas

entidades representadas por processos diferentes.

Associação Utilizada para associar informações e artefatos com os

objetos do fluxo de tarefas.

Tarefa Atividade que está incluída dentro de um processo.

Objeto de Dados

Fornecem informações sobre como os documentos, dados

e outros objetos são utilizados e atualizados durante o

processo.

Anotação de Texto Mecanismo para fornecer informações adicionais para o

leitor do processo.

Pool Representa um participante no processo.

Todos os componentes (subprocessos, tarefas, papéis e artefatos) apresentados na

abordagem TM-Aplic estão fundamentados pelo modelo de maturidade MPT.BR, pois o

modelo fornece uma série de diretrizes que, quando implementadas de maneira coletiva, apoia

as atividades de teste de software independente do porte da empresa.

Na Figura 3.3 é apresentado o diagrama da abordagem TM-Aplic proposta na presente

dissertação.

78

Figura 3.3. Diagrama da abordagem TM-Aplic

Por entender que as organizações que desenvolvem aplicações móveis apresentam

características de empresas de pequeno porte, conforme citado em Jeong, Lee e Shin (2008) e

Kim, Choi e Wong (2009), e discutido no Capítulo 2 na Seção 2.9. (Trabalhos Relacionados)

desta dissertação, a abordagem TM-Aplic considerou apenas as tarefas relacionadas com o

Nível 1 (um) de maturidade do modelo MPT.BR. Este nível representa o primeiro patamar de

maturidade de uma organização, e representa o mínimo que uma organização necessita para

demonstrar que a disciplina de teste de software é aplicada nos projetos, e que ocorre de

forma planejada e controlada.

79

Entre as 28 (vinte e oito) tarefas que definem a área de processo GPT - Gerência de

Projetos de Teste do modelo MPT.BR (apresentadas na Tabela 2.3.), o subprocesso

Planejamento de Teste considera relevante 7 (sete) tarefas: i) Analisar Produto de Teste, ii)

Estabelecer Objetivos do Teste, iii) Definir Estratégia de Teste, iv) Definir Equipe de Teste,

v) Definir Ambiente de Teste, vi) Estabelecer Plano de Teste e vii) Planejar os Artefatos e

Dados. Entre as 7 (sete) tarefas que definem a área de processo PET - Projeto e Execução de

Teste (apresentadas na Tabela 2.3.), o subprocesso Projeto e Execução de Teste considera

relevante 4 (quatro) tarefas: i) Identificar Casos de Teste, ii) Executar Teste, iii) Reportar

Incidentes e iv) Acompanhar Incidentes.

3.4. Descrição das Tarefas

Essa Seção descreve as tarefas a serem realizadas durante a abordagem TM-Aplic. As tarefas

são caracterizadas de modo a considerar as características particulares das aplicações móveis,

bem como as questões inerentes do ambiente móvel, por exemplo, o contexto móvel e o

usuário de dispositivo móvel.

Embora as tarefas apresentadas pela abordagem sejam aplicadas com as mesmas

definições e terminologias do modelo MPT.BR, o resultado está diretamente relacionado ao

contexto em que o teste é aplicado, no caso desta dissertação, às aplicações móveis. O

template dos artefatos gerados pelas tarefas da abordagem está apresentado no Apêndice B

desta dissertação.

3.4.1. Planejamento de Teste

O planejamento é a primeira e mais importante etapa da abordagem TM-Aplic, pois fornece a

base para a condução das demais atividades, resolvendo questões essenciais sobre a

implantação do projeto e execução de testes e, portanto, grande parte das decisões sobre o

teste deve ocorrer durante esta fase inicial (Mao e Zhang, 2007; Qi et al., 2009; Tian, 2005).

O gerente de testes é o responsável pela etapa de planejamento, que consiste em

determinar os recursos necessários que servirão de base para o subprocesso Projeto e

Execução de Teste.

A execução das tarefas na ordem apresentada é importante para estabelecer de forma

coerente o plano de teste, pois apesar de cada tarefa resultar em um artefato de teste diferente,

essas informações devem ser concentradas no plano, que é o artefato mais importante do

80

planejamento, pois é ele que vai determinar as diretrizes necessárias para a execução das

próximas tarefas.

Para auxiliar o gerente de testes durante a etapa de planejamento, algumas ferramentas

de apoio são apresentadas, tais como: Bugzilla, Enterprise Architect, Selenium IDE e

dotProject (Monteiro et al., 2010).

3.4.1.1. Analisar Produto de Teste

A tarefa de análise do produto de teste consiste na identificação de riscos relacionados ao

produto, de forma a identificar e caracterizar as áreas críticas que carecem de testes mais

detalhados (SOFTEX, 2011).

No contexto das aplicações móveis, algumas atividades devem ser realizadas, a fim de

desvendar as áreas críticas, como: considerar as limitações dos dispositivos (Dantas et al.,

2009; Kim, Choi and Wong, 2009; Fling, 2009); garantir o funcionamento das aplicações e

serviços já existentes no dispositivo móvel (Dantas et al., 2009; Muccini, Di Francesco e

Esposito, 2012; Kivi, 2007; Verkasalo, 2010); analisar possível rejeição do usuário de

dispositivo móvel (Dantas et al., 2009; Fling, 2009); e analisar o impacto da mobilidade

(Dantas et al., 2009; Fling, 2009).

Embora uma aplicação móvel funcione adequadamente no emulador8, no qual várias

características do contexto móvel podem ser avaliadas (bateria, tamanho de tela, conexão,

teclado, processamento) no dispositivo móvel físico pode não funcionar, acarretando em

perda de tempo e aumento de custos para as devidas correções. Isso se deve ao fato de que

cada dispositivo móvel apresenta características funcionais únicas, e prever o comportamento

dos modelos é uma tarefa praticamente impossível em um ambiente de testes baseado

somente em emulador (Kim, Choi e Wong, 2009).

Outra característica que deve ser observada é que no momento da instalação de uma

nova aplicação no dispositivo móvel é primordial que essa aplicação não afete outras

aplicações já existentes, bem como os serviços que o dispositivo oferece. Torna-se um desafio

garantir a qualidade de um dispositivo móvel que está constantemente recebendo novas

aplicações.

8 Software que reproduz as funções de um determinado aplicativo móvel em um ambiente controlado.

81

Por essa razão, os serviços relacionados com a rede são de prioridade alta durante a

execução do teste. Ou seja, os aplicativos que dependem da rede para o funcionamento, por

exemplo: Internet, chamadas de voz, chamadas de vídeo, MMS, SMS, são abordados com

maior cautela, para que nenhum deles apresente falhas durante a sua execução, pois à

comunicação é uma característica primordial do dispositivo.

De acordo com o Relatório Mundial de Qualidade (Capgemini, Sogeti e Hewlett-

Packard, 2012), 62% das organizações que buscam por parceiros externos para testar as

aplicações móveis priorizam a capacidade de efetuar os testes em várias redes (por exemplo,

redes rápidas e lentas). Com isso, procura-se garantir a cobertura da maior variedade possível

de ambientes, pois a conectividade é uma das características mais críticas do dispositivo

móvel, apresentando variações nos fatores relacionados à velocidade, segurança e

confiabilidade (Muccini, Di Francesco e Esposito, 2012).

No entanto, os dispositivos móveis são utilizados em muitas situações na qual a

comunicação é uma característica essencial, fazendo com que a qualidade de voz e a

comunicação de dados possam influenciar negativamente a troca de informações entre uma

equipe de salvamento, por exemplo. Por isso, é essencial saber qual o nível de robustez,

estabilidade e segurança que os dispositivos podem fornecer (Habib, Jacob e Olovsson, 2008).

Além da preocupação com o funcionamento correto dos serviços que utilizam a rede,

existe uma preocupação com os serviços relacionados ao marketing do dispositivo. Por vezes

o dispositivo móvel é direcionado para um público alvo específico, no qual os usuários

enfatizam determinado componente do aparelho e, dessa forma, as novas aplicações instaladas

não devem alterar o funcionamento desses serviços, como é o caso dos serviços de áudio,

vídeo e multimídia.

Na Tabela 3.3 são apresentados os principais serviços presentes nos dispositivos

móveis, cujo funcionamento não deve ser prejudicado pela instalação de novas aplicações.

Por meio da literatura, identificaram-se os principais serviços relacionados às funcionalidades

de rede e marketing, bem como as principais referências.

82

Tabela 3.3. Serviços do dispositivo móvel

Funcionalidades Serviços Referências

Rede

Comunicação por chamadas de voz.

[Falsafi, 2008]

[Kivi, 2007]

[Verkasalo, 2010]

Comunicação em tempo real em ambientes

heterogêneos, como VoIP9.

[Steuer et al., 2006]

[Verkasalo, 2010]

Comunicação por e-mail, SMS, MMS e mensagens

instantâneas.

[Steuer et al., 2006]

[Verkasalo, 2010]

Serviços de televisão móvel e streaming10. [Verkasalo, 2010]

Serviços de conexão de rede (Wi-Fi, 3G, GSM11, GPRS,

bluetooth, WLAN12, protocolos, sinais, taxas e

transferências).

[Kivi, 2007]

[Steuer et al., 2006]

[Verkasalo, 2010]

Serviços de mapas e navegações (GPS). [Kivi, 2007]

[Verkasalo, 2010]

Marketing

Serviços de multimídia (câmeras, músicas, galerias,

vídeos, jogos, downloads, armazenamento de arquivos,

calendário, agenda e perfil).

[Kivi, 2007]

[Verkasalo, 2010]

Classificou-se um total de 7 (sete) serviços, sendo que 6 (seis) estão relacionados com

a área de rede e 1 (um) com a área de marketing. Dessa forma, com os principais serviços

caracterizados e classificados, torna-se possível um melhor controle durante a abordagem

TM-Aplic, pois caso a aplicação móvel afete o funcionamento correto de algum dos serviços

observados, a aplicação deve ser revista e mais testes efetuados com o intuito de identificar a

falha na aplicação que está causando problemas nos serviços do dispositivo.

Com base nas características apresentadas, foi possível agrupar na Tabela 3.4 os

principais riscos (R) referentes às aplicações móveis e um plano de mitigação a fim de evitar

sua ocorrência ou, na pior situação, reduzir os seus efeitos. Vale ressaltar que um risco é um

evento no qual a ocorrência poderá causar algum tipo de problema no produto que será

disponibilizado para o usuário.

9 Voice over Internet Protocol (VoIP). 10 Forma de distribuir conteúdo multimídia na Internet. 11 Global System for Mobile Communications. 12 Wireless Local Area Network.

83

Tabela 3.4. Principais riscos e planos de mitigação

ID Riscos Referências Plano de Mitigação

R01

A aplicação pode não

funcionar em

determinados modelos de

dispositivos móveis

(contexto móvel).

[Dantas et al., 2009]

[Fling, 2009]

[Dim, Choi and

Wong, 2009]

Realizar testes nos mais variados modelos

de dispositivos móveis e analisar o

comportamento da aplicação.

R02 A aplicação pode ser

rejeitada pelos usuários.

[Dantas et al., 2009]

[Fling, 2009]

Enfatizar técnicas relacionadas aos testes

de usabilidade. Prover treinamentos e/ou

fornecer documentos para auxiliar os

usuários no manuseio das principais

funcionalidades da aplicação.

R03

A aplicação pode falhar

em ambientes externos

devido à mobilidade

fornecida ao usuário de

dispositivo móvel.

[Dantas et al., 2009]

[Fling, 2009]

Testes devem ser efetuados em campo a

fim de avaliar o comportamento da

aplicação sob a influência de fatores

externos, por exemplo, locais onde a

conexão de rede é instável.

R04

A aplicação pode

prejudicar o

funcionamento correto

dos serviços e/ou

aplicações existente no

dispositivo móvel.

[Dantas et al., 2009]

[Muccini, Di

Francesco e

Esposito, 2012]

[Kivi, 2007]

[Verkasalo, 2010]

Após a instalação da aplicação, testar os

principais serviços disponíveis no

dispositivo (chamadas, mensagens,

vídeos). Caso algum problema seja

encontrado, realizar reuniões com o

desenvolvedor da aplicação para que ele

possa realizar uma análise mais

aprofundada sobre qual funcionalidade

está impactando no funcionamento

incorreto de aplicações e/ou serviços

existentes no dispositivo.

Com base nos riscos apresentados, alguns questionamentos devem ser considerados

durante a análise da aplicação móvel.

Em relação ao risco R01 (Fling, 2009):

É possível utilizar todas as características físicas que o modelo do dispositivo

oferece?

As teclas funcionam corretamente?

A visualização da aplicação muda quando a orientação do dispositivo é alterada?

Se o dispositivo estiver em modo offline, tornando-se incapaz de enviar ou receber

dados, a aplicação apresenta erro ou indica para o usuário como resolver o

problema?

84

Em relação ao risco R02 (Fling, 2009):

Qual é a experiência do usuário em manusear um dispositivo móvel?

A aplicação inicia corretamente?

Quanto tempo demora até que o usuário possa executar uma ação?

Existe um indicador de progresso para orientar o usuário?

Em relação ao risco R03 (Fling, 2009):

Como a aplicação se comporta no momento de troca de torre de sinal? (esse teste

pode ser efetuado quando estiver dentro do carro em uma rodovia).

O que acontece quando o dispositivo perde a conexão?

Os usuários podem recuperar suas sessões? (inicie uma ação e, em seguida, entre

em um elevador ou garagem de estacionamento ou em algum lugar onde você sabe

que vai perder o sinal).

Em relação ao risco R04 (Dantas et al., 2009; Fling, 2009):

Após a instalação e operação da aplicação móvel os serviços relacionados a rede

continuam funcionando corretamente? E os serviços relacionados ao marketing?

Após a instalação e operação da aplicação móvel as aplicações já existentes

continuam funcionando corretamente?

A aplicação móvel pausa corretamente quando é interrompida por algum serviço

(por exemplo, chamada)?

É possível, ao término do serviço, retomar ao estado anterior da aplicação?

Os documentos (artefatos) gerados pelos desenvolvedores das aplicações também

devem ser considerados durante a análise do produto de teste. Por exemplo, ao término do

desenvolvimento de uma aplicação, o desenvolvedor responsável pode criar um documento

detalhando passo a passo possíveis situações de erro, com a intenção de identificar possíveis

situações anômalas e corrigi-las antes de enviar a aplicação para o teste. Esse documento pode

servir de apoio para o analista de teste identificar as situações de riscos.

De acordo com as características apresentadas, na Figura 3.4 é apresentado o fluxo de

atividades que compõe a realização da tarefa.

85

Figura 3.4. Diagrama de atividades – Analisar produto de teste

O artefato de teste gerado nessa tarefa é o relatório de análise do produto que, além

dos riscos e dos planos de mitigação, deve apresentar o gerente de testes responsável, nome

da aplicação (nome comercial), tipo da aplicação (web, negócio, produtividade,

comunicação), versão da aplicação e uma descrição.

Ao término da tarefa, o gerente de testes será capaz de identificar os riscos que podem

ameaçar à qualidade da aplicação móvel e, portanto, deve-se efetuar um controle e

monitoramento ao longo das tarefas. Os riscos identificados servem como base para qualquer

tipo de aplicação móvel.

3.4.1.2. Estabelecer Objetivos do Teste

Ao estabelecer o objetivo do teste determina-se o propósito da realização do teste de um

software específico. A maneira que o teste é conduzido depende dos objetivos esperados, que

representa o motivo e/ou propósito para projetar e executar um determinado teste, como

também delimita o que a organização busca alcançar com o teste (Crespo et al., 2010b;

SOFTEX, 2011).

86

A abordagem TM-Aplic considera duas principais atividades, a fim de estabelecer os

objetivos do teste, são elas: determinar o propósito do teste (Crespo et al., 2010; Softex,

2011); e definir características de aceitação e qualidade (Ickin et al., 2012; Mizouni et al.,

2009; Dantas et al., 2009; Zhang e Adipat, 2005).

A aceitação da aplicação móvel pelo usuário final merece destaque, pois várias

aplicações são retiradas de venda por não apresentarem um nível suficiente de aceitação pelos

usuários. No entanto, definir os critérios de aceitação de uma aplicação móvel não é uma

tarefa trivial, pois além dos critérios que envolve os produtos de software tradicionais, os

fatores relacionados à mobilidade estão presentes e devem ser considerados (Ickin et al.,

2012).

A usabilidade, por exemplo, é um fator essencial para determinar o sucesso e a

aceitação de uma aplicação móvel pelo usuário, pois é um atributo de qualidade importante

para que o usuário se sinta à vontade no momento de manusear uma aplicação em seu

dispositivo (Mizouni et al., 2009).

Dantas et al. (2009), Ickin et al., (2012) e Zhang e Adipat (2005) definem alguns

requisitos de testes referentes a usabilidade das aplicações móveis e, portanto, devem ser

considerados durante o teste. Por exemplo, a necessidade do usuário saber onde está na

aplicação; o que ele já fez; o que pode fazer e como desfazer os seus erros; as atividades não

devem ser desfeitas quando interrupções externas forçam a aplicação pausar; a aplicação deve

suportar os formatos de tela retrato e paisagem; solicitar a permissão do usuário antes de

estabelecer conexões; o contexto móvel, conectividade, telas com tamanho pequeno,

variedade de resoluções, métodos de entrada de dados, dificuldade com a posição e

localização das teclas e funções e entre outros.

Além disso, a aceitação de uma aplicação móvel vai além das características

relacionadas com a usabilidade, pois a percepção do usuário sobre a qualidade da aplicação

móvel também deve ser considerada e, com isso, 6 (seis) fatores são observados por Ickin et

al., (2012). São eles:

Desempenho: refere-se ao baixo desempenho da aplicação, como à velocidade de

execução das funcionalidades. Deve-se analisar o desempenho quando o usuário

estiver em movimento (mobilidade), pois fatores externos podem influenciar o usuário

e impactar na aplicação. Aplicações podem apresentar o desempenho afetado quando

necessitam de uma conexão para o funcionamento e a conexão disponibilizada é de

baixa qualidade;

87

Bateria: refere-se à utilização limitada do dispositivo, devido à capacidade da bateria;

Funções do Dispositivo: refere-se à ausência de características específicas no modelo

de dispositivo utilizado. São exemplos, suporte ao Adobe Flash, despertador

personalizado, modo silencioso (vibrar), suporte a GPS, configurações de privacidade;

Custo de Dados para Conexão e Aplicações: refere-se ao custo elevado de pacotes de

dados para conexão e aquisição de aplicações;

Rotina do Usuário: refere-se aos momentos do dia do usuário, no qual a aplicação vai

ser acessada. Por exemplo: na parte da manhã, antes de dormir, no carro, no trabalho,

ou seja, o ambiente que o usuário vai operar a aplicação; e

Estilo de Vida do Usuário: refere-se à classificação da aplicação em relação ao estilo

de vida do usuário, por exemplo, esportes, lazer, moda, entretenimento.

Outro objetivo que merece destaque durante o teste de aplicações móveis, é referente

às características de qualidade que a aplicação deve contemplar. Além das características de

qualidade que a norma NBR ISO/IEC 9126-1 que avalia produtos define para todo software

(seis níveis de qualidade), outras características mais específicas foram observadas na

literatura, por exemplo: autonomia, conectividade (rede), limitação de recursos, touch screen

e entre outras, descritas na Tabela 2.6. (Características de avaliação de qualidade do

dispositivo móvel e suas funcionalidades) da Seção 2.7. (Testes de Aplicações Móveis).

O artefato de teste gerado nessa tarefa é o relatório de objetivos do teste e deve

informar a descrição dos objetivos, ressaltando as características relacionadas com a aceitação

da aplicação móvel. Na Figura 3.5 é apresentado o fluxo de atividades que compõe a

realização da tarefa.

88

Figura 3.5. Diagrama de atividades – Definir objetivos do teste

3.4.1.3. Definir Estratégia de Teste

Essa tarefa define como o teste será realizado com base nos objetivos e na análise do produto

de teste. Faz parte dessa tarefa a identificação das principais características que estão

relacionadas com o contexto no qual o produto está inserido, além de traçar uma estratégia

para que elas não interfiram de forma negativa na aplicação móvel (SOFTEX, 2011).

Alguns fatores devem ser analisados com o intuito de definir as principais

características da aplicação (produto), por exemplo: observar as principais funcionalidades da

aplicação; avaliar as consequências se determinada funcionalidade não se comportar de

maneira correta, analisar o desempenho/eficiência da aplicação de acordo com o dispositivo

utilizado.

Assim, na Tabela 3.5 são apresentadas 4 (quatro) principais características (C) que

devem ser consideradas para compor a estratégia de testes para aplicações móveis.

89

Tabela 3.5. Principais características consideradas para compor a estratégia de testes para

aplicações móveis

ID Características Referências

C01 Analisar produto e os objetivos do teste. [Broekman e Notenboom, 2003]

C02 Tipos de testes.

C03 Local do teste (emulador e/ou no dispositivo móvel).

[Dantas et al., 2009]

C04 Ambiente do teste (laboratório - ambiente controlado

e/ou contexto móvel - ambiente externo).

Dessa forma, na Tabela 3.6 é apresentada a estratégia de testes para aplicações móveis,

na qual associou-se os 4 (quatro) principais riscos (R) e as 4 (quatro) principais características

(C), a fim de evitar a ocorrência ou, pelo menos, reduzir os efeitos dos riscos identificados. A

associação apresentada serve de base para a definição de outras estratégias de teste.

Tabela 3.6. Estratégia de testes para aplicações móveis

Características

Riscos C01 C02 C03 C04

R01 Adaptabilidade /

Compatibilidade

Usabilidade/

Estresse/

Desempenho

Dispositivo Móvel Laboratório

(ambiente controlado)

R02 Funcionalidade /

Touch Screen Usabilidade

Emulador e

Dispositivo Móvel

Laboratório

(ambiente controlado)

R03

Flexibilidade /

Sensibilidade ao

Contexto

Usabilidade/

Estresse/

Desempenho

Dispositivo Móvel Contexto Móvel

(ambiente externo)

R04

Conectividade

(Rede) /

Funcionalidade

Desempenho Dispositivo Móvel Laboratório

(ambiente controlado)

90

A coluna C01 da Tabela 3.6 indica o objetivo do teste para cada risco identificado. Em

outras palavras, para o risco R01 deve-se considerar como objetivos do teste a adaptabilidade

e a compatibilidade, para o risco R02 considerar a funcionalidade e o touch screen, para o

risco R03 considerar a flexibilidade e sensibilidade ao contexto e, para o risco R04, considerar

a conectividade e funcionalidade.

A coluna C02 indica o tipo do teste para cada situação de risco. Ou seja, para o risco

R01 deve-se considerar os testes de usabilidade, estresse e desempenho, para o risco R02

testes de usabilidade, para o risco R03 testes de usabilidade, estresse e desempenho e, para o

risco R04, testes de desempenho.

A coluna C03 indica o local de testes para cada situação de risco. Ou seja, para os

riscos R01, R02 e R03 deve-se efetuar testes no próprio dispositivo móvel e para o risco R04

deve-se efetuar testes no emulador e dispositivo móvel.

A coluna C04 indica o ambiente de testes para cada situação de risco. Ou seja, para os

riscos R01, R02 e R04, deve-se utilizar um laboratório específico e para o risco R03 os testes

devem ser efetuados sob a influência do contexto móvel.

É importante ressaltar que, para algumas características de qualidade, o ambiente em

que o teste será efetuado pode influenciar significativamente no resultado. Por exemplo, o

teste de usabilidade será melhor aproveitado se realizado no próprio dispositivo móvel em

condições reais de uso. Assim, os testes não devem ser feitos somente nos laboratórios

(ambientes controlados), mas também considerando as variações proporcionadas pela

mobilidade, no qual os fatores do ambiente externo podem influenciar o funcionamento

correto da aplicação, por exemplo, interrupções, movimento, barulho e iluminação.

Ou seja, operar a aplicação móvel em um dispositivo e ambiente real é uma

característica importante para o teste, pois quão mais próximo da realidade o teste se

aproximar, mais detalhes das aplicações poderão ser consideradas e, consequentemente, mais

falhas podem ser descobertas.

O artefato de teste gerado nessa tarefa é o relatório da estratégia de testes que

apresenta informações relacionadas com aos critérios de qualidade e/ou aceitação que serão

considerados, os tipos de testes, o local de teste (emulador e/ou dispositivo móvel) e o

ambiente de teste (laboratório e/ou contexto móvel). Na Figura 3.6 é apresentado o fluxo de

atividades que compõem a realização da tarefa.

91

Figura 3.6. Diagrama de atividades – Definir estratégia de teste

3.4.1.4. Definir Equipe de Teste

A composição de uma equipe depende das habilidades e conhecimentos disponíveis para

apoiar a execução do projeto de software (Bourque et al., 1999; Rios, Cristalli e Moreira

Filho, 2011; SOFTEX, 2011).

A abordagem TM-Aplic proposta nesta dissertação, considera 3 (três) principais

papéis específicos em cada uma das partes envolvidas no teste: Gerente de Teste, Analista de

Teste e Testador. O Gerente de Teste é o responsável pelas tarefas relacionadas ao

planejamento de teste; o Analista de Teste é o responsável por projetar os casos de testes de

acordo com as necessidades abordadas durante o planejamento, reportar e acompanhar os

incidentes; o Testador é responsável por executar os casos de testes.

Devido o tamanho da equipe (geralmente a equipe de teste é reduzida), o Gerente de

Teste pode desempenhar o papel dos outros membros da equipe. Por exemplo, realizar as

atividades de projetar e executar os casos de teste. No entanto, sugere-se que essas atividades

sejam divididas de acordo com o perfil de cada membro.

Na Tabela 3.7 são apresentados os papéis, responsabilidades e as respectivas tarefas da

abordagem TM-Aplic que serão executadas.

92

Tabela 3.7. Matriz de responsabilidades e tarefas (adaptada de Cristalli e Moreira Filho,

2011)

Papéis Responsabilidades Tarefas

Gerente de Teste

Profissional responsável por gerenciar

custos, esforços e riscos, definir

cronogramas, reportar progresso dos

testes e qualidade do produto, iniciar

ações corretivas quando houver desvios

dos parâmetros do planejamento do teste

ou quando a qualidade do produto se

desviar do esperado, perfil de liderança,

planejar, monitorar e controlar a

abordagem de testes, avaliar as

necessidades e recursos, trabalhar parte

do tempo em nível estratégico, a fim de

alinhar o trabalho de gestão com as

necessidades da organização.

Analisar o Produto de Teste

Estabelecer Objetivos do Teste

Definir Estratégia de Teste

Definir Equipe de Teste

Definir Ambiente de Teste

Estabelecer Plano de Teste

Planejar os Artefatos e Dados

Analista de Teste

Profissional responsável por projetar os

casos de teste, reportar incidentes

identificados pelo testador (detectar os

defeitos) e acompanhar incidentes até a

correção.

Identificar Casos de Teste

Reportar Incidentes

Acompanhar Incidentes

Testador

Profissional de perfil técnico responsável

pela execução dos casos de teste

especificados.

Executar Teste

De acordo com as responsabilidades e tarefas direcionadas ao Gerente de Teste,

Farrell-Vinay (2008) afirma que o mesmo deve apresentar habilidades, por exemplo: a

capacidade de analisar e distinguir entre as pessoas determinadas e as que agradam apenas por

interesses próprios, as iniciantes das experientes, as intelectuais das obcecadas por

tecnologias; seguir os preceitos do metodismo; escutar o que está sendo dito (quem e o que);

se portar de maneira profissional com outras equipes do projeto e tornar a popularidade uma

característica indiferente; suportar a pressão exercida pela atividade de gestão (insistir em

uma ideia ou opinião); avaliar a qualidade do trabalho da equipe de teste e conter o

entusiasmo em determinadas situações; não se prender nas preocupações do dia-a-dia e se

esquecer de situações primordiais relacionadas ao teste (por exemplo, um software que está

apresentando muitas situações de erros e deve ser inutilizável); reconhecer e elogiar o bom

trabalho da equipe; ser implacável com os maus funcionários; ser espontâneo; se preocupar

com o processo e o suporte no que se refere às ferramentas de apoio e as saídas; objetividade;

93

motivar a equipe; admitir as derrotas; avaliar os problemas de maneira otimista; conhecer na

prática as tarefas de um testador, a fim de entender as motivações e os valores necessários.

Além do Gerente de Teste, os Analistas de Teste e Testadores também devem

apresentar qualidades específicas, por exemplo: facilidade com a escrita, leitura e cálculo; ler

e escrever código; manter uma relação agradável com os membros da equipe (inclusive com a

equipe de desenvolvimento); atenção aos detalhes; se tornar especialista em determinado

domínio; pessimistas no que se refere em acreditar que o software possui erros; ser

competente tecnicamente; ser preciso; ser multitarefa no que se refere a testar vários recursos

do software; saber gerenciar o tempo; ser criativo em relação a novas maneiras de aplicação

do teste (Farrell-Vinay, 2008).

A presença de especialistas em serviços específicos do dispositivo móvel (por

exemplo, conectividade, chamadas, mensagens, identificação pessoal do usuário (PIN),

áudio/vídeo, multimídia), pode auxiliar na identificação e elaboração dos casos de testes e,

também, na análise dos possíveis incidentes. Além disso, os especialistas podem auxiliar para

que o testador concentre esforços em características específicas, para garantir que os serviços

dos dispositivos não foram prejudicados por alguma nova aplicação.

Durante a definição da equipe de testes, a organização pode não dispor recursos

humanos necessários para o início do projeto, acarretando no início de um processo de

contratação. Isso se deve a 2 (dois) principais fatores: carência técnica ou carência pessoal. A

carência técnica ocorre quando não existe um profissional com o perfil desejado para atuar

em determinada vaga (por exemplo, necessidade de um especialista em conectividade de

dispositivos móveis), e a carência pessoal ocorre quando todos os profissionais já estão

inseridos em outros projetos (a alocação de profissionais pode auxiliar nesse problema) (Rios,

Cristalli e Moreira Filho, 2011).

No entanto, alocar um profissional para outro projeto nem sempre é uma atividade

simples, pois quando um funcionário é inserido em outro projeto, muitas vezes em

andamento, desafios como, i) saber a quem perguntar sobre dúvidas do projeto, ii) não

incomodar os integrantes do projeto mais do que o necessário, iii) conhecer o produto, iv)

acesso limitado à documentação do projeto, v) saber onde encontrar as informações

necessárias, são situações que devem ser acompanhadas pelo gerente responsável de modo a

não prejudicar o andamento do projeto (Larsson, Bertilsson e Feldt, 2008). Além disso, deve

existir um processo de negociação entre os gerentes envolvidos, pois geralmente a alocação

de algum membro da equipe pode acarretar em alterações no cronograma do projeto (Rios,

Cristalli e Moreira Filho, 2011).

94

O artefato gerado nessa tarefa é o relatório da equipe de testes que apresenta as

informações relacionadas com a avaliação das carências técnicas e pessoais, necessidade de

especialistas, treinamentos, necessidade de alocação de profissionais de outros projetos e

composição da equipe.

A Figura 3.7 apresenta o fluxo de atividades que compõem a realização da tarefa.

Figura 3.7. Diagrama de atividades – Definir equipe de teste

3.4.1.5. Definir Ambiente de Teste

A definição de um ambiente de testes visa organizar todos os elementos necessários para a

execução do teste, tais como: parte física, infraestrutura, software de apoio, rede, hardware,

banco de dados e simuladores de testes (Broekman e Notenboom, 2003; SOFTEX, 2011).

Um ambiente de testes específico para aplicações móveis apresenta características

diferenciadas em comparação com ambientes para software tradicionais. Um ambiente de

testes convencional caracteriza-se como um ambiente estático, pois não sofre alterações

externas, se limitando somente ao software e às operações do usuário. Em contrapartida, as

aplicações móveis necessitam de um ambiente dinâmico, de modo a contemplar,

95

principalmente, as características relacionadas ao contexto móvel (dispositivos móveis) e ao

usuário de dispositivo móvel (mobilidade).

Na Figura 3.8 é apresentada uma comparação entre um ambiente estático e dinâmico.

Figura 3.8. Comparação entre um ambiente estático e dinâmico

Mesmo que uma aplicação móvel funcione adequadamente no emulador executado em

um computador, no dispositivo móvel pode não funcionar, demandando muito tempo e

dinheiro para corrigir os ajustes necessários. Isso se deve ao fato de que, cada dispositivo

móvel apresenta características funcionais únicas e, prever os mesmos resultados é quase

impossível em um ambiente de teste baseado em emulador, tornando-se necessário o teste em

dispositivos reais (Kim, Choi e Wong, 2009).

O usuário de dispositivo móvel é passível de interrupção, o que faz com que o

ambiente ao seu redor possa distrair sua atenção, interferindo na sua interação com a

aplicação móvel e, por isso, não se deve limitar um ambiente dinâmico somente a um

laboratório e uma variedade de modelos de dispositivos móveis, mas sim considerar os fatores

externos (mobilidade) que podem impactar de maneira negativa em como o usuário vai operar

um dispositivo (Ballard, 2007; Dantas et al., 2009).

Dessa forma, a estrutura do ambiente dinâmico deve favorecer a liberdade no uso do

dispositivo móvel, ser confortável e próxima da realidade, pois é importante que a pessoa que

estiver operando a aplicação sinta-se à vontade para segurar o aparelho e usá-lo da maneira

que mais o agrada, permitindo avaliar os gestos e outros movimentos corporais do usuário,

resultando em dados mais reais para as análises dos testes. Além disso, deve-se considerar os

testes efetuados em campo como uma forma de simular, o mais próximo da realidade, a

utilização da aplicação móvel. O teste em campo pode ser feito em movimento, em

pé/sentado, em casa/escritório, com silêncio/barulho, em ambientes claros/escuros, e

96

apresenta como objetivo analisar recursos específicos como, conectividade, mobilidade e

interrupções (Dantas, 2009).

As características apresentadas devem ser registradas em um artefato denominado

Relatório do Ambiente de Testes, o qual deve apresentar as seguintes informações básicas:

hardware, modelos de dispositivos, software, emuladores e aquisições necessárias para testes

em campo (por exemplo, necessidade de um automóvel para deslocamento). Além disso,

deve-se elaborar um documento com as características dos dispositivos homologados, a fim

de controlar, com maior precisão, os modelos que passaram pelo ambiente dinâmico de testes.

As características podem estar relacionadas com: marca, modelo, sistema operacional, se

possui teclado físico ou não e entre outros. Esses dispositivos devem estar relacionados com a

versão da aplicação móvel. No Quadro 3.1 é apresentado um exemplo de um catálogo de

dispositivos homologados.

Quadro 3.1. Exemplo de um catálogo de dispositivos homologados

CATÁLOGO DE DISPOSITIVOS HOMOLOGADOS

Aplicação XX 1.0v

Apple iPad

Apple iPhone

Samsung GT-P1000 Galaxy Tab

Samsung GT-I9000B Galaxy S Vibrant

Sony Ericsson LT15i Xperia Arc

Aplicação YY 1.0v

Apple iPad

Samsung GT-I9000B Galaxy S Vibrant

Samsung GT-i5500 Galaxy 5

Aplicação YY 2.0v

Apple iPad

Samsung GT-I9000B Galaxy S Vibrant

Samsung GT-i5500 Galaxy 5

Importante observar que, devido a nova versão da Aplicação YY, os mesmos modelos

de dispositivos da Versão 1.0v foram homologados, pois a nova versão apresenta

funcionalidades que podem não funcionar corretamente em determinados dispositivos.

Na Figura 3.9 é apresentado o fluxo de atividades que compõem a realização da tarefa.

97

Figura 3.9. Diagrama de atividades – Definir ambiente de teste

3.4.1.6. Estabelecer Plano de Teste

O plano de testes é um artefato que deve reunir todas as informações geradas a partir da

realização das tarefas do subprocesso Planejamento de Teste (Farrell-Vinay, 2008; Softex,

2011).

O plano de testes auxilia o analista de teste no que se refere à compreensão do

contexto em que o teste se enquadra, fornecendo as informações necessárias para iniciar as

tarefas do próximo subprocesso (Projeto e Execução do Teste). Quanto mais detalhado for o

plano de teste, mais eficientes serão as definições dos casos de teste e, portanto, levarão

menos tempo para serem elaborados.

Na Figura 3.10 é apresentado o fluxo de atividades que compõem a tarefa responsável

por estabelecer o plano de teste da abordagem TM-Aplic.

98

Figura 3.10. Diagrama de atividades – Estabelecer plano de teste

Alguns critérios podem ser estabelecidos para definir o término do subprocesso

Planejamento de Teste, por exemplo: as tarefas que compõe o plano devem ter sido

concluídas, o plano de teste deve atender aos padrões e às normas adotadas pela empresa e ser

avaliado por um processo de revisão, aprovação da versão corrente do plano de teste pelos

gestores responsáveis (Crespo et al., 2010b).

Para a abordagem TM-Aplic, o subprocesso Planejamento de Teste será concluído

somente ao término de todas as tarefas, pois mudanças significativas que ocorram ao longo do

teste indicam a necessidade de revisar as tarefas do planejamento e efetuar os ajustes

necessários.

Após a definição do plano de testes, a tarefa Planejar os Artefatos e Dados é invocada

para centralizar as informações documentadas e disponibilizar os artefatos necessários.

3.4.1.7. Planejar os Artefatos e Dados

Embora os Níveis 1 (um) (nível utilizado como base para a formulação da abordagem TM-

Aplic) e 2 (dois) de maturidade do modelo MPT.BR não estabeleçam diretrizes mais

específicas sobre a gestão dos artefatos de teste, a tarefa Planejar os Artefatos e Dados

(GPT12) ressalta a importância de gerenciar todas as informações documentadas ao longo das

atividades de teste no que se refere a coleta, armazenamento e distribuição (SOFTEX, 2011).

99

Essa característica deve ser ressaltada na abordagem TM-Aplic, pois as aplicações

móveis apresentam características similares entre si e, portanto, as informações registradas

nos artefatos gerados podem ser reusadas para o teste de outras aplicações. Por exemplo,

informações referentes a uma aplicação que foi testada em um modelo de dispositivo

específico contribuem para a transferência e reuso do conhecimento gerado e reavaliado nas

etapas da abordagem.

Além disso, Rodrigues, Pinheiro e Albuquerque (2010) ressaltam em seu trabalho, a

importância de um mecanismo para o armazenamento de artefatos visando apoiar as empresas

na divulgação de informações relacionadas com os artefatos gerados durante o teste, criando

uma cultura de teste e permitindo que algumas tarefas possam ser executadas por membros da

equipe que não tem experiência na área, no caso de alguma situação de carência técnica.

A primeira atividade da tarefa é concentrar os artefatos de testes gerados durante o

subprocesso Planejamento de Teste, armazená-los e comunicar o subprocesso Projeto e

Execução de Teste com as informações necessárias.

Após a execução das tarefas do subprocesso Projeto e Execução de Teste, os artefatos

gerados devem ser direcionados para a tarefa Planejar os Artefatos e Dados para que sejam

armazenados em um servidor, pois segundo a SOFTEX (2011), é fundamental que os

conceitos e procedimentos da gerência de configuração sejam aplicados.

Ao término da execução tarefas da abordagem TM-Aplic, as configurações deixadas

nos dispositivos utilizados ou em softwares podem influenciar no teste de outras aplicações,

portanto, é importante que as aplicações sejam testadas em dispositivos que apresentem

somente as configurações iniciais de fábrica, para que nenhum software ou configuração

externa possam influenciar nos testes.

Além disso, reuniões devem ser realizadas com a intenção de discutir os resultados da

execução das tarefas de teste, bem como as situações que não ocorreram como planejadas,

visando aprimorar os testes futuros. O gerente de testes pode apresentar um relatório final

com os resultados obtidos, por exemplo: cronograma, quantidade de casos de teste

identificados, quantidade de casos de teste executados, incidentes rejeitados, incidentes

adiados, incidentes corrigidos, conclusão final e melhorias observadas.

Na Figura 3.11 é apresentado o fluxo de atividades que descrevem a tarefa.

100

Figura 3.11. Diagrama de atividades – Planejar os artefatos e dados

3.4.2. Projeto e Execução de Teste

O objetivo do subprocesso Projeto e Execução de Teste é identificar, elaborar e executar casos

de teste, registrar a execução e as divergências entre os resultados atuais e esperados na forma

de incidentes, acompanhar e monitorar as devidas correções, com base no plano de teste

definido no subprocesso Planejamento de Teste (SOFTEX, 2011).

A primeira tarefa é realizada pelo Analista de Testes e consiste na identificação dos

casos de testes com base no Plano de Teste. Após os casos de testes serem identificados e

elaborados, o Testador inicia a tarefa de execução dos casos testes. Nesse momento, caso

algum defeito seja identificado, deve-se encaminhar um relatório de execução de teste para a

101

tarefa Reportar Incidentes, na qual o Analista de Teste gera o registro de incidentes,

encaminha para os responsáveis pelo desenvolvimento e acompanha até a sua correção (tarefa

Acompanhar Incidentes). Assim que a execução dos testes não detectar mais defeitos na

aplicação móvel, uma avaliação deve ser realizada para analisar se os objetivos do teste,

definidos no plano foram cumpridos. Essa avaliação deve ser efetuada pelo Analista de Teste.

Caso os objetivos não sejam cumpridos, deve-se retornar à tarefa Identificar Casos de

Teste, para que novos casos sejam elaborados pelo Analista de Testes, incluindo o Teste de

Regressão para garantir que as funcionalidades já existentes na aplicação não foram afetadas

negativamente. Assim, os artefatos devem ser enviados para a tarefa Planejar os Artefatos e

Dados, para que sejam devidamente arquivados. Além disso, o Gerente de Testes deve

supervisionar as tarefas, a fim de ajustar, se necessário, alguma característica do plano de

teste.

3.4.2.1. Identificar Casos de Teste

Segundo Myers (2004), um caso de teste deve apresentar pelo menos dois principais

componentes: i) a descrição dos dados de entrada para o programa; e ii) a descrição precisa da

saída correta do programa para a entrada. Além disso, o sucesso do caso de teste está

diretamente relacionado com a detecção de um defeito ainda não descoberto.

Identificar Casos de Teste é a primeira tarefa do subprocesso Projeto e Execução de

Testes e indica o que será verificado, quais as entradas, os procedimentos e resultados que

devem ser produzidos e como deve ser executado (SOFTEX, 2011).

A postura do responsável pela geração dos casos de testes (muitas vezes atribuída ao

Analista de Testes) é considerada como destrutiva, uma vez que ele deve buscar situações em

que o sistema possa reagir incorretamente às entradas. Entretanto, esta postura deve ser

considerada como positiva e ser utilizada para o desenvolvimento de software de melhor

qualidade (Crespo et al., 2010a).

O objetivo do caso de teste está diretamente relacionado com o nível de detalhes

apresentados no plano, pois quanto mais detalhado for o plano de testes, mais fácil é

determinar casos de testes que realmente desvendarão falhas na aplicação. Assim, a

identificação de falhas deve estar relacionada com os riscos que foram identificados durante a

análise da aplicação móvel. Para isso, deve-se fazer uma análise dos riscos identificados, da

estratégia de testes adotada e simular situações, com o intuito de garantir que os riscos

realmente não afetem de forma negativa o funcionamento da aplicação móvel.

102

Segundo Liu, Gao e Long (2010), a identificação de casos de testes para aplicações

móveis deve levar em consideração a limitação dos recursos dos dispositivos móveis, o que

acarreta em uma avaliação mais apurada de qual técnica de teste deve ser utilizada, pois

algumas técnicas apresentam um alto consumo de recursos e impactam de forma negativa na

execução normal da aplicação móvel. Por exemplo, as técnicas de teste caixa-branca que

requerem abordagens de análise estática e análise dinâmica para obter informações do código

fonte. A análise dinâmica necessita que a aplicação execute em tempo real consumindo muito

recurso do dispositivo e a análise estática está relacionada com as linguagens de programação

utilizadas para o desenvolvimento da aplicação.

Dessa forma, devido à grande variedade de dispositivos e sistemas operacionais, as

linguagens de programação diferem muito, dificultando o reuso dos casos de testes. Além

disso, as ferramentas que utilizam as técnicas de caixa-branca apresentam grandes

dificuldades em produzir casos de testes eficientes que utilizem o mínimo de recurso dos

dispositivos e que sejam flexíveis e reusáveis para outros contextos de aplicações móveis

(Liu, Gao e Long, 2010).

Sob esse aspecto, considera-se a técnica de teste caixa-preta para a geração de casos de

testes para aplicações móveis, na qual as informações de entrada e saída devem ser

consideradas. As entradas estão divididas em duas principais categorias: as fornecidas pelo

usuário por meio de uma interface gráfica (eventos de teclado e tela) e o contexto ambiental.

O contexto ambiental divide-se em: contexto físico e contexto social. O contexto físico é

obtido a partir das características físicas do dispositivo móvel, por exemplo: os receptores de

GPS, sensores de Bluetooth, de acelerômetro, magnéticos, umidade e de rede. O contexto

social está relacionado com as atividades realizadas pelo usuário no momento de operar a

aplicação móvel, por exemplo: alterações de humor. Assim, a aplicação móvel deve

considerar as variações de entrada, de modo a produzir as respectivas saídas que estão

diretamente relacionadas com a interface gráfica da aplicação e com a interação com o

usuário, por exemplo: exibição de imagens, vídeo, áudio, vibração e sinais luminosos (Liu,

Gao e Long, 2010).

O documento de caso de teste deve informar: o analista de testes responsável, o nome

da aplicação, o plano de testes correspondente, o objetivo do caso de testes, as condições de

entrada (usuário e/ou contexto ambiental) e os resultados esperados. Na Figura 3.12 é

apresentado o fluxo de atividades que compõem a realização da tarefa.

103

Figura 3.12. Diagrama de atividades – Identificar casos de teste

3.4.2.2. Executar Testes

Para cada caso de teste, o testador responsável deverá executá-lo, documentando as entradas e

os resultados, bem como comparar com os resultados esperados descritos no caso de teste

(SOFTEX, 2011).

O registro da execução do teste resulta em um artefato de teste denominado de

Relatório de Execução, e envolve a identificação e o detalhamento das informações

observadas durante os testes. Um incidente de teste é a manifestação de qualquer defeito no

software ou uma anomalia no funcionamento do ambiente operacional. Incidentes

encontrados durante a execução dos testes devem ser relatados em relatórios e encaminhados

para a tarefa Reportar Incidentes (Crespo et al., 2010a).

104

O relatório de execução do teste deve apresentar informações relacionadas com o

testador responsável pela execução, data e hora dos testes, duração da execução, caso de teste

executado, resultado da execução e o incidente identificado caso exista. Na Figura 3.13 é

apresentado o fluxo de atividades que compõem a realização da tarefa.

Figura 3.13. Diagrama de atividades – Executar teste

A tarefa é finalizada quando todos os casos de teste projetados tenham sido

executados, suas saídas avaliadas e todos os registros tenham sido feitos. Conforme

apresentado no diagrama da abordagem TM-Aplic (Figura 3.3), após a tarefa Executar Teste,

um comando de decisão (ver na Tabela 3.2) questiona a existência de defeitos. Se defeitos

foram detectados, os mesmos devem ser registrados e reportados pela tarefa Reportar

Incidentes e, em seguida, acompanhados até a sua correção pela tarefa Acompanhar

Incidentes. Caso defeitos não sejam detectados, outro questionamento é efetuado para analisar

se os casos de testes projetados foram suficientes para cobrir todos os requisitos de teste ou as

características definidas durante o planejamento e documentadas no plano de testes.

105

3.4.2.3. Reportar Incidentes

Um dos principais resultados do teste é a identificação dos incidentes. Entretanto, se os

incidentes detectados não são gerenciados, o esforço do teste é desperdiçado, uma vez que um

incidente é qualquer evento significativo, não planejado e observado durante a execução do

teste. Portanto, esta tarefa é responsável por reportar os incidentes observados durante a

execução do teste, para que os desenvolvedores realizem as devidas correções (SOFTEX,

2011).

Para cada incidente reportado, o Analista de Testes deve fornecer as condições

iniciais, resultados esperados, resultados atuais, incidente, data e hora, passos do

procedimento, frequência de ocorrência (sistemático, aleatório ou apenas uma vez), ambiente

de testes utilizado, tentativas de repetição, observador (refere-se a pessoas que estão

acompanhando o registro do incidente, por exemplo, um estagiário) e impacto do incidente.

A atividade que descreve os passos realizados que resultaram no incidente, deve

apresentar o máximo de detalhes possível, em ordem cronológica, das ações realizadas, além

de imagens para facilitar a compreensão e a reprodução do incidente. Quanto mais detalhes a

atividade apresentar, mais fácil será a sua reprodução e posterior correção.

A análise de impacto refere-se às consequências negativas na aplicação caso o

incidente ocorra. Por exemplo, o testador pode caracterizar um incidente que impede que um

cadastro seja finalizado e as informações inseridas sejam perdidas como um incidente de alto

impacto negativo.

Assim, de acordo com as características apresentadas sobre a tarefa Reportar

Incidentes, na Figura 3.14 é apresentado o fluxo de atividades que compõem a realização da

tarefa.

106

Figura 3.14. Diagrama de atividades – Reportar incidentes

3.4.2.4. Acompanhar Incidentes

O objetivo desta tarefa é garantir que todos os incidentes reportados sejam analisados e

acompanhados até a sua correção. Depois de registrado, o incidente deve passar por uma

análise detalhada pela equipe de correção (desenvolvedores) para que o impacto seja

analisado e uma prioridade atribuída. A prioridade pode variar entre: Rejeitar, Adiar e

Corrigir (SOFTEX, 2011).

O relatório de acompanhamento de incidentes deve ser elaborado pelo Analista de

Testes e deve apresentar, pelo menos, as informações relacionadas com o testador, descrição

do incidente, nível de prioridade, parecer do desenvolvedor e ação que deve ser realizada. Na

Figura 3.15 é apresentado o fluxo de atividades que compõem a realização da tarefa.

107

Figura 3.15. Diagrama de atividades – Acompanhar incidentes

Segundo SOFTEX (2011), de acordo com a descrição do incidente, o desenvolvedor

responsável deve classificar a prioridade (severidade) do mesmo entre baixa, média e alta, e

inserir o seu parecer a respeito do incidente. Após, as ações que devem ser tomadas para o

incidente são divididas em: rejeitar, adiar ou corrigir o incidente. Se a ação a ser tomada é a

rejeição do incidente, o incidente analisado não é um defeito, portanto não será corrigido. Se a

ação a ser tomada é adiar o incidente, o incidente não será corrigido no momento por entender

que o mesmo não é uma falha que vai prejudicar o funcionamento correto da aplicação,

portanto poderá ser corrigido posteriormente. Se a ação a ser tomada é corrigir o incidente, o

incidente é aceito e será corrigido. Após a composição do relatório de acompanhamento do

incidente, deve-se encaminhar o relatório para a tarefa de executar testes, para que o testador

responsável refaça os testes e, aplique o Teste de Regressão para garantir que a correção não

influenciou negativamente em outros módulos da aplicação.

Enfim, de acordo com Crespo et al. (2010c), o principal critério para o encerramento

do subprocesso Projeto e Execução de Teste é que todos os casos de teste previstos no plano

de teste tenham sido projetados e executados. No entanto, da mesma maneira que o

Planejamento de Testes, o Projeto e Execução de Testes também é um subprocesso

incremental, portanto, durante a realização das tarefas, novos itens ou funcionalidades podem

ser identificados, tornando necessária a geração de novos casos de teste.

108

3.5. Considerações Finais

A abordagem TM-Aplic abrange um conjunto de tarefas, artefatos e papéis, baseados no

Nível 1 (um) de maturidade do modelo MPT.BR, de forma a considerar os fatores inerentes

do ambiente móvel, tais como, contexto móvel, usuário de dispositivo móvel e aplicação

móvel. Além disso, fornece uma metodologia sistemática de execução das tarefas para

auxiliar na identificação de falhas antes da aplicação móvel ser liberada para os usuários

finais, contribuindo para a melhoria da qualidade do produto de software.

O cenário de uso da abordagem está apresentado na Figura 3.3., e conta com 2 (dois)

principais subprocessos (Planejamento de Teste e Projeto e Execução de Teste), 11 (onze)

tarefas (Analisar Produto de Teste, Estabelecer Objetivos do Teste, Definir Estratégia de

Teste, Definir Equipe de Teste, Definir Ambiente de Teste, Estabelecer Plano de Teste e

Planejar os Artefatos e Dados; Identificar Casos de Teste, Executar Teste, Reportar Incidentes

e Acompanhar Incidentes) e 3 (três) papéis (Gerente de Teste, Analista de Teste e Testador),

além dos artefatos resultantes de cada tarefa.

A fim de facilitar a compreensão da abordagem TM-Aplic, o capítulo a seguir

descreve um exemplo de aplicação da mesma, por meio de uma prova de conceito.

109

Exemplo de Aplicação da Abordagem

TM-Aplic

4.1. Considerações Iniciais

A prova de conceito apresentada neste capítulo é um tipo de estudo, realizado por meio da

descrição do funcionamento da abordagem TM-Aplic em um determinado exemplo, que pode

ser real ou não. A prova de conceito caracteriza-se pela falta de formalização durante a

realização do estudo, no qual o autor não utiliza os conceitos de experimentação, o que

inviabiliza obter conclusões sobre a real viabilidade da abordagem (Kitchenham et al., 2002).

Dessa forma, este capítulo apresenta um exemplo fictício de aplicação da abordagem

TM-Aplic apresentada no Capítulo 3, mas não serve para provar a viabilidade da mesma. A

viabilidade deve ser analisada por meio de um estudo experimental, realizado e apresentado

no Capítulo 5 desta dissertação.

4.2. Cenário

Para a prova de conceito da abordagem TM-Aplic considerou-se uma aplicação móvel que

registra o horário de trabalho do funcionário, na qual ele pode ter um controle diário das suas

horas trabalhadas, atrasos e faltas na empresa, além de possibilitar o confronto entre as

informações registradas e os relatórios fornecidos pela empresa.

4

Capítulo

110

A abordagem TM-Aplic deverá considerar um modelo de dispositivo móvel específico

que possui um teclado físico QWERTY deslizante. A aplicação foi desenvolvida para a

plataforma Android e utilizou-se o ambiente MOTODEV Studio for Android 3.0.0 que

fornece um conjunto de ferramentas para o desenvolvimento de aplicações. Utilizou-se a

Versão 12.0 do Android Development Toolkit13. O banco de dados utilizado foi o SQLite14,

que utiliza a Linguagem SQL (Structured Query Language) e faz parte da API da Plataforma

Android. O emulador utilizado a versão Android 2.1, conforme apresentada na Figura 4.1.

Figura 4.1. Emulador Android 2.1

As seções que seguem descrevem as tarefas definidas na abordagem TM-Aplic para o

cenário proposto.

4.3. Planejamento de Testes

Conforme abordado no Capítulo 3, o subprocesso Planejamento de Testes apresenta 7 (sete)

tarefas. São elas: i) Analisar Produto de Teste, ii) Estabelecer Objetivos do Teste, iii) Definir

Estratégia de Teste, iv) Definir Equipe de Teste, v) Definir Ambiente de Teste, vi) Estabelecer

Plano de Teste e vii) Planejar os Artefatos e Dados.

4.3.1. Analisar Produto de Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados à análise do produto para

compor o relatório de análise do produto. Desse modo o relatório deve apresentar o

identificador, o gerente de testes responsável, o nome, tipo e versão da aplicação, além da

descrição, os riscos e planos de mitigação. No Quadro 4.1 é apresentada a estrutura do

relatório de análise do produto com as principais informações.

13 http://developer.android.com/sdk/eclipse-adt.html 14 http://www.sqlite.org/

111

Quadro 4.1. Relatório de análise do produto

RELATÓRIO DE ANÁLISE DO PRODUTO

Identificador: PROD01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários - CoHo

Tipo da Aplicação: Aplicação de Negócios

Versão da Aplicação: 1.0v

Descrição da Aplicação (Requisitos): A aplicação tem por objetivo armazenar os horários

de entrada, saída, intervalos e horas extras do funcionário durante o dia de trabalho. Ou

seja, toda vez que o usuário da aplicação registrar o seu ponto na empresa, ele também vai

fazer o registro na aplicação (CoHo), para que ele tenha um controle da sua pontualidade e

possa confrontar os resultados com o relatório emitido pela empresa no fim de cada mês.

Após a inicialização do aplicativo, o usuário vai selecionar qual horário ele deseja registrar

e confirmar. Em seguida a data e hora deverão ser preenchidas automaticamente e um

campo de observação poderá ser preenchido e o usuário deve confirmar. Por fim, o usuário

receberá uma mensagem de confirmação do registro gravado. A aplicação também permite

consultas, alterações e exclusões dos registros. Abaixo segue a imagem das principais

interfaces disponibilizadas pelo aplicativo.

Risco(s) Plano(s) de Mitigação

1) A aplicação pode não funcionar

corretamente em modelos diferenciados

de dispositivos móveis;

Realizar testes em modelos de dispositivos

móveis que apresentem teclado físico

QWERTY deslizante;

2) Os serviços básicos do dispositivo

podem não funcionar corretamente após

a instalação da aplicação;

Analisar o funcionamento dos serviços de

chamadas e mensagens;

112

4.3.2. Estabelecer Objetivos do Teste

Nessa tarefa foram detalhados os aspectos técnicos relacionados aos objetivos do teste, no que

se refere a determinar o propósito da realização do teste da aplicação móvel. Para esse

contexto, dois principais objetivos foram considerados: i) definir critérios de aceitação da

aplicação móvel; e ii) definir critérios de qualidade. Para isso, foram detalhados os aspectos

técnicos de alguns critérios de aceitação e algumas características de qualidade. No Quadro

4.2 é apresentada a estrutura do relatório de objetivos do teste.

Quadro 4.2. Relatório de objetivos do teste

RELATÓRIO DE OBJETIVOS DO TESTE

Identificador: OBJE01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários – CoHo

Objetivos:

Definir Critérios de Aceitação:

o Usabilidade: a aplicação deve ajustar corretamente o formato de acordo com

a ativação do teclado físico, além de apresentar uma interface intuitiva e de

fácil entendimento e localização das funcionalidades.

o Desempenho: Como a aplicação não apresenta funcionalidades complexas e

nem exige algum tipo de conexão para funcionar, não é permitido qualquer

tipo de “congelamento” durante o manuseio.

Definir Critérios de Qualidade:

o Adaptabilidade/Compatibilidade: capacidade da aplicação móvel se

comportar de maneira estável em diferentes modelos de dispositivo;

o Conectividade (Rede): capacidade dos serviços básicos que utilizam rede

(chamadas e mensagens) funcionarem após a instalação e utilização da

aplicação móvel.

113

4.3.3. Definir a Estratégia de Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados a estratégia de testes para

aplicações de Controle de Horários – CoHo. A estratégia apresenta uma relação entre os

riscos e objetivos identificados, os tipos de testes, o local que será realizado o teste (emulador

e/ou dispositivo móvel) e o ambiente de teste (laboratório e/ou contexto móvel). No Quadro

4.3 é apresentada a estrutura do relatório da estratégia de testes.

Quadro 4.3. Relatório da estratégia de testes

RELATÓRIO DA ESTRATÉGIA DE TESTES

Identificador: ESTR01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários – CoHo

Riscos Critérios Tipos de Teste Local Ambiente

Risco 1 Adaptabilidade/

Compatibilidade

Teste de

Usabilidade

Dispositivo Móvel (modelo

GT-I5510 SAMSUNG com

teclado físico QWERTY

deslizante)

Laboratório

(ambiente

controlado)

Risco 2 Conectividade Teste de

Desempenho

Dispositivo Móvel (modelo

GT-I5510 SAMSUNG com

teclado físico QWERTY

deslizante)

Laboratório

(ambiente

controlado)

4.3.4. Definir Equipe de Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados a definição da equipe de

testes e registrado no relatório da equipe de testes. O Quadro 4.4 apresenta o relatório da

equipe de testes.

Quadro 4.4. Relatório da equipe de testes

RELATÓRIO DA EQUIPE DE TESTES

Identificador: EQUI01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários – CoHo

Analista de Testes: Ivo – Função: analisar plano de testes, projetar casos de testes, acompanhar o testador.

Testador: Geovane – executar casos de testes, reportar incidentes, acompanhar incidentes.

Especialista Específico: ( X ) Não ( ) Sim Qual (is):

Treinamento: ( X ) Não ( ) Sim Qual (is):

114

4.3.5. Definir Ambiente de Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados a definição do ambiente de

testes necessário para o processo, envolvendo características relacionadas a hardware,

software, rede, simuladores de testes. No Quadro 4.5 é apresentado o relatório do ambiente de

testes para aplicações móveis

Quadro 4.5. Relatório do ambiente de testes

RELATÓRIO DO AMBIENTE DE TESTES

Identificador: AMBI01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários – CoHo

Hardware: computador pessoal dos participantes.

Dispositivo Móvel: dispositivo GT-I5510 SAMSUNG com teclado QWERTY deslizante.

Software: MOTODEV Studio for Android 3.0 e skype.

Emulador: Android 2.1 – update 1

Requisitos para Testes em Campo: Não aplicável

4.3.6. Estabelecer Plano de Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados ao plano de teste para

aplicações móveis com informações obtidas a partir da execução das tarefas que compõem o

subprocesso Planejamento do Teste. No Quadro 4.6 é apresentado o plano de testes gerado.

Quadro 4.6. Plano de testes

PLANO DE TESTES

Identificador: PLAN01

Gerente de Teste: Marcelo

Nome da Aplicação: Controle de Horários – CoHo

Tipo da Aplicação: Aplicação de Negócios

Versão da Aplicação: 1.0v

Continua

115

PLANO DE TESTES

Descrição da Aplicação (Requisitos): A aplicação tem por objetivo armazenar os horários

de entrada, saída, intervalos e horas extras do funcionário durante o dia de trabalho. Ou

seja, toda vez que o usuário da aplicação registrar o seu ponto na empresa, ele também vai

fazer o registro na aplicação (CoHo), para que ele tenha um controle da sua pontualidade e

possa confrontar os resultados com o relatório emitido pela empresa no fim de cada mês.

Após a inicialização do aplicativo, o usuário vai selecionar qual horário ele deseja registrar

e confirmar. Em seguida a data e hora deverão ser preenchidas automaticamente e um

campo de observação poderá ser preenchido e o usuário deve confirmar. Por fim, o usuário

receberá uma mensagem de confirmação do registro gravado. A aplicação também permite

consultas, alterações e exclusões dos registros. Abaixo segue a imagem das principais

interfaces disponibilizadas pelo aplicativo.

Risco(s) Plano(s) de Mitigação

1) A aplicação pode não funcionar

corretamente em modelos diferenciados

de dispositivos móveis;

Realizar testes em modelos de dispositivos

móveis que apresentem teclado físico

QWERTY deslizante;

2) Os serviços básicos do dispositivo

podem não funcionar corretamente após

a instalação da aplicação;

Analisar o funcionamento dos serviços de

chamadas e mensagens;

Continua

116

PLANO DE TESTES

Objetivos:

Definir Critérios de Aceitação:

o Usabilidade: a aplicação deve ajustar corretamente o formato de acordo com

a ativação do teclado físico, além de apresentar uma interface intuitiva e de

fácil entendimento e localização das funcionalidades.

o Desempenho: Como a aplicação não apresenta funcionalidades complexas e

nem exige algum tipo de conexão para funcionar, não é permitido qualquer

tipo de “congelamento” durante o manuseio.

Definir Critérios de Qualidade:

o Adaptabilidade/Compatibilidade: capacidade da aplicação móvel se

comportar de maneira estável em diferentes modelos de dispositivo;

o Conectividade (Rede): capacidade dos serviços básicos que utilizam rede

(chamadas e mensagens) funcionarem após a instalação e utilização da

aplicação móvel.

Riscos Critérios Tipos de Teste Local Ambiente

Risco 1 Adaptabilidade/

Compatibilidade

Teste de

Usabilidade

Dispositivo Móvel (modelo

GT-I5510 SAMSUNG com

teclado físico QWERTY

deslizante)

Laboratório

(ambiente

controlado)

Risco 2 Conectividade Teste de

Desempenho

Dispositivo Móvel (modelo

GT-I5510 SAMSUNG com

teclado físico QWERTY

deslizante)

Laboratório

(ambiente

controlado)

Analista de Testes: Ivo – Função: analisar plano de testes, identificar casos de testes, acompanhar o testador, consolidar dados de testes.

Testador: Geovane – Função: executar casos de testes, reportar incidentes, acompanhar incidentes. Especialista Específico: ( X ) Não ( ) Sim Qual (is):

Treinamento: ( X ) Não ( ) Sim Qual (is):

Hardware: computador pessoal dos participantes.

Dispositivo Móvel: dispositivo GT-I5510 SAMSUNG com teclado QWERTY deslizante.

Software: MOTODEV Studio for Android 3.0 e Skype.

Emulador: Android 2.1 – update 1

Requisitos para Testes em Campo: Não aplicável

Cronograma: 25/02/2013 a 25/03/2013

117

4.3.7. Planejar os Artefatos e Dados

Nessa tarefa foram detalhados os aspectos técnicos relacionados ao resumo do teste que deve

ser realizado ao término da execução das tarefas de teste, a fim de analisar e discutir o

cumprimento do cronograma, quantidade de casos de testes identificados e executados,

quantidade de incidentes rejeitados, adiados, corrigidos e conclusão, com os membros da

equipe. O Quadro 4.7 apresenta as observações.

Quadro 4.7. Observações gerais do teste

OBSERVAÇÕES GERAIS DO TESTE

Identificador: ENCE01

Plano de Testes: PLAN01

Gerente de Teste: Marcelo

Data Início: 25/02/2013 Data Fim: 25/03/2013

Casos de Teste Identificados: 3 (três)

Casos de Teste Executados: 3 (três)

Incidentes Rejeitados: 1 (um)

Incidentes Adiados: 0 (zero)

Incidentes Corrigidos: 1 (um)

Conclusão: Com base em 2 (duas) principais áreas de risco: Risco 1 (a aplicação pode não

funcionar corretamente em modelos diferenciados de dispositivos móveis) e Risco 2 (os

serviços básicos do dispositivo podem não funcionar corretamente após a instalação da

aplicação), e nos objetivos principais do teste, como: garantir a aceitação da aplicação

móvel pelo cliente e obter a confiança sobre o nível de qualidade da aplicação, a abordagem

aplicada para a aplicação de Controle de Horários – CoHo definiu uma estratégia de testes,

a qual resultou na identificação de 3 (três) casos de teste. Após a execução dos casos de

testes, identificou-se 2 (dois) incidentes, no qual um foi rejeitado e o outro corrigido.

Melhorias Observadas: Observou-se a necessidade da geração de outros casos de testes

com a intenção de explorar novas funcionalidades da aplicação móvel.

118

4.4. Projeto e Execução de Testes

Conforme abordado no Capítulo 3 da presente dissertação, o subprocesso Projeto e Execução

de Testes apresenta 4 (quatro) tarefas. São elas: i) Identificar Casos de Teste, ii) Executar

Teste, iii) Reportar Incidentes e iv) Acompanhar Incidentes.

4.4.1. Identificar Casos de Teste

Nessa tarefa foram detalhados os aspectos técnicos relacionados a geração de casos de testes,

baseando-se no plano de testes apresentado. Vários casos de teste poderiam ser identificados,

porém, para via de explicação, 3 (três) casos de testes foram considerados. Os Quadros 4.8,

4.9 e 4.10 apresentam os casos de testes que serão executados pela tarefa Executar Teste.

Quadro 4.8. Caso de teste – CASO01

CASO DE TESTE

Identificador: CASO01

Analista de Teste: Ivo

Nome da Aplicação: Controle de Horários – CoHo

Plano de Testes: PLAN01

Objetivo: Registrar o horário na aplicação utilizando o teclado físico deslizante QWERTY

do modelo GT-I5510 SAMSUNG.

Condições Iniciais: A aplicação deve estar iniciada.

Entradas:

Usuário (interface gráfica): enviar informações por meio do teclado físico.

Contexto Ambiental: ativação do acelerômetro (contexto físico).

Resultado Esperado: A aplicação deve registrar o horário corretamente. Deve se adequar

ao sentido da tela quando o teclado físico for habilitado, para que o usuário consiga efetuar

o registro de horário. Uma mensagem deve informar o usuário se a transação foi efetuada

com sucesso.

119

Quadro 4.9. Caso de teste – CASO02

CASO DE TESTE

Identificador: CASO02

Analista de Teste: Ivo

Nome da Aplicação: Controle de Horários – CoHo

Plano de Testes: PLAN01

Objetivo: Efetuar e receber chamadas com a aplicação CoHo ativada.

Condições Iniciais: A aplicação CoHo deve estar iniciada.

Entradas

Usuário (interface gráfica): enviar informações para o dispositivo móvel para efetuar e

receber chamadas.

Resultado Esperado: A aplicação deve permitir a realização e o recebimento de chamadas

de voz.

Quadro 4.10. Caso de teste – CASO03

CASO DE TESTE

Identificador: CASO03

Analista de Teste: Ivo

Nome da Aplicação: Controle de Horários – CoHo

Plano de Testes: PLAN01

Objetivo: Enviar e receber mensagens de texto com a aplicação CoHo ativada.

Condições Iniciais: A aplicação CoHo deve estar iniciada.

Entradas

Usuário (interface gráfica): enviar informações para o dispositivo móvel para enviar e

receber mensagens.

Resultado Esperado: A aplicação deve permitir o envio e o recebimento de mensagens de

texto.

4.4.2. Executar Testes

Nessa tarefa foram detalhados os aspectos técnicos relacionados a execução dos casos de

testes. O objetivo da tarefa é registrar a execução e os incidentes identificados. No Quadro

4.11 é apresentado o relatório de execução do teste, o qual resultou em 1 (um) incidente

identificado e registrado no documento.

120

Quadro 4.11. Relatório de execução

RELATÓRIO DE EXECUÇÃO

Identificador: EXEC01

Testador: Geovane

Data/Hora e Duração da Execução: 26/02/2013 11h13min – 1h30min

Casos de Testes Executados: CASO01, CASO02, CASO03

Resultado da Execução: Todas as execuções ocorreram conforme instruções estabelecidas

no caso de teste. Os casos de teste CASO02 e CASO03 não apresentaram incidentes.

Incidente Identificado: Para o caso de teste CASO01, no momento da ativação do teclado

físico, percebeu-se certa demora (4 segundos) para a tela se ajustar ao sentido correto. Além

disso, após o ajuste, a aplicação se comportou de maneira confusa, dificultando o

entendimento da localização das funcionalidades da aplicação, por exemplo, a localização

dos botões Ok e Cancelar. Dessa forma, 2 (dois) incidentes foram identificados.

4.4.3. Reportar Incidentes

Nessa tarefa foram detalhados os aspectos técnicos relacionados ao registro de incidentes. O

registro de incidente deve conter todas as informações observadas pelo testador para auxiliar o

desenvolvedor durante as correções. Os Quadros 4.12 e 4.13 apresentam os registros dos

incidentes que devem ser reportados para a tarefa próxima tarefa.

Quadro 4.12. Registro de incidente – INCI01

REGISTRO DE INCIDENTE

Identificador: INCI01

Analista de Teste: Ivo

Relatório de Execução: EXEC01

Condições Iniciais: A aplicação deve estar iniciada.

Resultados Esperados: Espera-se que seja possível utilizar a aplicação de forma correta e

efetuar o registro de horários utilizando o modelo de dispositivo que possua um teclado

físico QWERTY deslizante.

Resultados Atuais: Após a ativação do teclado físico, a aplicação demora em ajustar ao

sentido correto da tela.

Incidente: A aplicação móvel demora em ajustar o layout da tela quando o teclado físico é

solicitado.

Data/Hora: 26/02/2013 13h30min

Continua

121

REGISTRO DE INCIDENTE

Passos do Procedimento: Iniciou-se a aplicação com o teclado físico desativado. Logo

após, solicitou-se a ativação do teclado físico QWERTY deslizante, para auxiliar na

digitação. No momento da ativação do teclado, houve certa demora para a aplicação se

justar ao novo sentido da tela (aproximadamente 4 segundos), conforme apresenta a

imagem abaixo.

Frequência de Ocorrência: ( ) Sistemático (X) Aleatório ( ) Apenas uma vez

Ambiente: O teste foi efetuado em laboratório (ambiente controlado), no qual o testador

estava em pé com o dispositivo móvel GT-I5510 SAMSUNG em mãos.

Tentativas de Repetição: O procedimento foi repetido aproximadamente 5 (cinco) vezes.

Observadores: 1 (um) estagiário acompanhou o registro do incidente.

Impacto: O incidente identificado impacta diretamente na aceitação da aplicação pelo

usuário final, pois vai contra os critérios de aceitação relacionados com a Usabilidade e

Interface.

Quadro 4.13. Registro de incidente – INCI02

REGISTRO DE INCIDENTE

Identificador: INCI02

Analista de Teste: Ivo

Relatório de Execução: EXEC01

Condições Iniciais: A aplicação deve estar iniciada.

Resultados Esperados: Espera-se que seja possível utilizar a aplicação de forma correta e

efetuar o registro de horários utilizando o modelo de dispositivo que possua um teclado

físico QWERTY deslizante.

Continua

122

REGISTRO DE INCIDENTE

Resultados Atuais: Após a ativação do teclado físico, a aplicação se comporta de maneira

confusa, dificultando o entendimento da localização das funcionalidades da aplicação, por

exemplo, a localização dos botões Ok e Cancelar.

Incidente: A aplicação móvel não obedece ao layout de tela apresentado pelo modelo do

dispositivo utilizado

Data/Hora: 26/02/2013 14h00min

Passos do Procedimento: Quando o teclado físico é solicitado, a aplicação não se ajusta ao

layout da tela, dificultando a navegação, pois o ajuste da tela “esconde” a localização dos

botões Ok e Cancelar, conforme apresenta a imagem abaixo.

Frequência de Ocorrência: (X) Sistemático ( ) Aleatório ( ) Apenas uma vez

Ambiente: O teste foi efetuado em laboratório (ambiente controlado), no qual o testador

estava em pé com o dispositivo móvel GT-I5510 SAMSUNG em mãos.

Tentativas de Repetição: O procedimento foi repetido aproximadamente 5 (cinco) vezes.

Observadores: 1 (um) estagiário acompanhou o registro do incidente.

Impacto: O incidente identificado impacta diretamente na aceitação da aplicação pelo

usuário final, pois vai contra os critérios de aceitação relacionados com a Usabilidade e

Interface.

123

4.4.4. Acompanhar Incidentes

Nessa tarefa foram detalhados os aspectos técnicos relacionados ao acompanhamento dos

incidentes reportados, a fim de registrar todas as informações sobre as decisões a respeito de

um determinado incidente. Dessa forma, nos Quadros 4.14 e 4.15 são apresentados os

relatórios de acompanhamento de incidentes.

Quadro 4.14. Relatório de acompanhamento de incidentes – ACOM01

RELATÓRIO DE ACOMPANHAMENTO DE INCIDENTES

Identificador: ACOM01

Analista de Teste: Ivo

Incidente: INCI01

Descrição: A aplicação móvel demora em ajustar o layout da tela quando o teclado físico é

solicitado.

Prioridade: ( ) Baixa ( X ) Média ( ) Alta

Parecer do Desenvolvedor: O incidente reportado não se trata de um problema

relacionado diretamente com a aplicação móvel, e sim, com o hardware do modelo do

dispositivo. No entanto, o incidente impacta diretamente nos critérios de aceitação

relacionados com a Interface e Usabilidade da aplicação.

Ação: ( X ) Rejeitar ( ) Adiar ( ) Corrigir

Quadro 4.15. Relatório de acompanhamento de incidentes – ACOM02

RELATÓRIO DE ACOMPANHAMENTO DE INCIDENTES

Identificador: ACOM02

Analista de Teste: Ivo

Incidente: INCI01

Descrição: Após a ativação do teclado físico, a aplicação se comporta de maneira confusa,

dificultando a localização das funcionalidades da aplicação, por exemplo, a localização dos

botões Ok e Cancelar.

Prioridade: ( ) Baixa ( X ) Média ( ) Alta

Parecer do Desenvolvedor: O incidente reportado deve ser corrigido, revendo os métodos

responsáveis pela disposição dos componentes na tela quando o teclado físico é ativado. O

incidente impacta diretamente nos critérios de aceitação relacionados com a Interface e

Usabilidade da aplicação.

Ação: ( ) Rejeitar ( ) Adiar ( X ) Corrigir

124

4.5. Considerações Finais

A prova de conceito apresentada demonstra como a abordagem TM-Aplic apresentada no

Capítulo 3, da presente dissertação, pode ser instanciada, não tendo como objetivo extrair

conclusões sobre a real viabilidade e funcionalidade da mesma. As limitações e dificuldades

encontradas durante a realização da prova de conceito foram:

Limitação do produto, pois foi utilizada uma aplicação móvel de complexidade

mínima para a exemplificação da abordagem TM-Aplic;

Limitação da quantidade de casos de testes, pois seria necessário um prazo maior para

análise de mais casos; e

Dificuldade em encontrar profissionais especialistas em testes de aplicações móveis

para acompanhar a prova de conceito.

No entanto, esta prova de conceito não tem o intuito de validar a abordagem proposta,

mas sim elucidar o seu funcionamento. O próximo capítulo apresenta o estudo experimental

de viabilidade da abordagem TM-Aplic.

125

Estudo Experimental de Viabilidade da

Abordagem TM-Aplic

5.1. Considerações Iniciais

Conforme apresentado na metodologia de desenvolvimento caracterizada no Capítulo 1, os

princípios da Engenharia de Software Experimental (Basili, 2007) foram utilizados para

conduzir o estudo experimental de viabilidade da abordagem TM-Aplic proposta no Capítulo

3 da presente dissertação.

Diante da lacuna entre a comunidade científica e a indústria, novas tecnologias são

adotadas sem qualquer prova convincente de que realmente são eficazes para o contexto. A

comunidade científica, por sua vez, possui maneiras específicas de avaliar a qualidade dos

processos e produtos quando submetidos a novas abordagens, fortalecendo ainda mais a

distância entre academia e indústria (Zelkowitz et al., 2003).

Dessa forma, o principal objetivo do estudo experimental é investigar a abordagem

TM-Aplic com relação à sua viabilidade para ser utilizada em empresas que desenvolvem

aplicações móveis, além de construir um corpo de conhecimento que aborda a plausibilidade

da continuidade do estudo.

5

Capítulo

126

Assim, o estudo experimental foi caracterizado como um estudo quasi experimental in

virtuo, pois é composto por modelos numéricos, manipulados por um conjunto de

participantes disponíveis selecionados de forma não aleatória (Travassos e Barros, 2003).

O capítulo está composto pelas seguintes seções: definição, planejamento, execução,

análise e interpretação dos resultados, avaliação de validade do estudo, além das lições

aprendidas com o estudo experimental na Seção de considerações finais.

5.2. Definição do Estudo Experimental

A definição do estudo experimental utiliza uma notação baseada em Goal/Question/Metric

(GQM), pois a mesma fornece uma abordagem sistemática para definir as metas do estudo

experimental (Basili e Rombach, 1988). A notação consiste na elaboração dos objetivos (G),

formulação das questões (Q) e definição das métricas (M). Dessa forma, o objetivo do estudo

experimental é apresentado a seguir:

Analisar a abordagem TM-Aplic

Com o propósito de avaliar sua viabilidade

Referente à capacidade de ser utilizada como uma abordagem sistemática de testes

para aplicações móveis

Do ponto de vista de empresas que desenvolvem software para dispositivos móveis

No contexto de profissionais da área de Tecnologia da Informação de empresas de

pequeno porte que atuam com aplicações móveis e teste de software.

O objetivo apresentado é alcançado quando respostas podem ser dadas às questões (Q)

a seguir. Para isso, métricas (M) foram associadas às questões.

Q1: A tarefa Analisar Produto de Teste presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel)?

M1: Número de indicações dos participantes quanto à concordância com a tarefa.

Q2: A tarefa Estabelecer Objetivos do Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

M2: Número de indicações dos participantes quanto à concordância com a tarefa.

127

Q3: A tarefa Definir Estratégia de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

M3: Número de indicações dos participantes quanto à concordância com a tarefa.

Q4: A tarefa Definir Equipe de Teste presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel)?

M4: Número de indicações dos participantes quanto à concordância com a tarefa.

Q5: A tarefa Definir Ambiente de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

M5: Número de indicações dos participantes quanto à concordância com a tarefa.

Q6: A tarefa Estabelecer Plano de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

M6: Número de indicações dos participantes quanto à concordância com a tarefa.

Q7: A tarefa Planejar os Artefatos e Dados presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

M7: Número de indicações dos participantes quanto à concordância com a tarefa.

Q8: A tarefa Identificar Casos de Teste presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel)?

M8: Número de indicações dos participantes quanto à concordância com a tarefa.

Q9: A tarefa Executar Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel)?

M9: Número de indicações dos participantes quanto à concordância com a tarefa.

Q10: A tarefa Reportar Incidentes presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel)?

M10: Número de indicações dos participantes quanto à concordância com a tarefa.

128

Q11: A tarefa Acompanhar Incidentes presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel)?

M11: Número de indicações dos participantes quanto à concordância com a tarefa.

Q12: Os artefatos gerados nas tarefas presentes na abordagem são suficientes para

atender as necessidades das aplicações móveis (fatores do ambiente móvel)?

M12: Número de indicações dos participantes quanto à concordância com os artefatos.

Q13: A padronização das tarefas e artefatos, definidos na abordagem TM-Aplic, pode

contribuir para um significativo ganho na qualidade do produto final?

M13: Número de indicações dos participantes quanto à concordância.

5.3. Planejamento do Estudo Experimental

Esta Seção descreve o plano do estudo experimental, composta pelos seguintes elementos:

contexto global, contexto local, treinamento, projeto piloto, participantes, instrumentação,

variáveis dependentes, variáveis independentes, análise qualitativa, capacidade aleatória,

classificação em bloco, mecanismos de análise, validade interna, validade externa e validade

de conclusão.

5.3.1. Contexto Global

As indústrias de desenvolvimento de aplicações móveis enfrentam grandes desafios

relacionados ao fornecimento de aplicações que sejam de real valor para as pessoas e

empresas, no que se refere ao comportamento correto, sem falhas, sem perda de dados ou

serviços, que não interfiram em outras aplicações e serviços já existentes no dispositivo, além

dos fatores inerentes do ambiente móvel (Mizouni et al., 2009; Muccini, Di Francesco e

Esposito, 2012; She, Sivapalan e Warren, 2009).

No entanto, as ferramentas e técnicas que têm sido estudadas para auxiliar os

ambientes de desenvolvimento de software tradicionais (desktop), não traduzem as

necessidades das aplicações móveis, ocasionando inúmeros problemas, principalmente

relacionados com a usabilidade, uma das principais razões da insatisfação do usuário

(Mizouni et al., 2009).

129

Sob tal aspecto, a abordagem TM-Aplic foi proposta (Capítulo 3), com a intenção de

estabelecer uma metodologia sistemática de testes que combine boas práticas de

planejamento, projeto e execução de testes com as necessidades e particularidades das

aplicações móveis, em termos de tarefas, artefatos e papéis, de maneira que contribua para a

qualidade do produto final.

5.3.2. Contexto Local

Este estudo tem como objetivo analisar a viabilidade da abordagem TM-Aplic proposta no

Capítulo 3 desta dissertação. Para tanto, a abordagem foi avaliada por profissionais da área,

com o objetivo de verificar se a metodologia sistemática de testes é passível de apoiar na

melhoria da qualidade do produto final, considerando os fatores inerentes do ambiente móvel.

5.3.3. Treinamento

Nenhum treinamento foi realizado para este estudo, apenas uma breve apresentação sobre o

contexto do experimento.

5.3.4. Projeto Piloto

Antes da real execução do estudo experimental, um estudo piloto foi realizado com o intuito

de avaliar a instrumentação que será utilizada no estudo. Para isso, um participante foi

utilizado, sendo atribuídos a ele os mesmos instrumentos do estudo experimental. Os dados

obtidos pelo estudo piloto não foram utilizados para compor o estudo.

5.3.5. Participantes

Os participantes do estudo devem estar atuando na área da Tecnologia da Informação, e

possuir conhecimentos mínimos sobre:

Aplicação Móvel – especificamente sobre as características que influenciam na

qualidade das aplicações, além dos fatores relacionados com o contexto móvel e o

usuário de dispositivo móvel; e

Teste de Software – especificamente sobre as áreas de processo que envolve o teste

de software, como planejamento, projeto e execução.

O estudo leva em consideração o ambiente no qual o participante está inserido que, no

caso, é o ambiente industrial.

130

5.3.6. Instrumentação

Todos os participantes receberão o seguinte conjunto de documentos:

Uma cópia do termo de adesão do estudo experimental;

Uma cópia do questionário de caracterização, no qual o participante indicará sua

formação acadêmica e seu nível de experiência com aplicações móveis e o teste de

software;

Uma cópia do memorial descritivo; e

Uma cópia do questionário sobre a viabilidade da abordagem TM-Aplic.

5.3.7. Variáveis Dependentes

As variáveis dependentes do estudo experimental são:

A tarefa Analisar Produto de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Estabelecer Objetivos do Teste presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel);

A tarefa Definir Estratégia de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Definir Equipe de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Definir Ambiente de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Estabelecer Plano de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Planejar os Artefatos e Dados presente na abordagem atende as necessidades

das aplicações móveis (fatores do ambiente móvel);

A tarefa Identificar Casos de Teste presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Executar Teste presente na abordagem atende as necessidades das aplicações

móveis (fatores do ambiente móvel);

A tarefa Reportar Incidentes presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

A tarefa Acompanhar Incidentes presente na abordagem atende as necessidades das

aplicações móveis (fatores do ambiente móvel);

131

Os artefatos sugeridos nas tarefas presentes na abordagem são suficientes para atender

as necessidades das aplicações móveis (fatores do ambiente móvel); e

A padronização das tarefas e artefatos, definidos na abordagem TM-Aplic, pode

contribuir para um significativo ganho na qualidade do produto final.

Uma escala no intervalo de 0 (zero) a 3 (três) estabelece os níveis de concordância do

participante. A fim de evitar respostas não conformes geradas por incertezas,

desconhecimento ou interpretação ambígua, foi acrescentada a escala SR (sem resposta) que

descarta o item a título de análise descritiva para obter o valor mais representativo, conforme

apresentado na Tabela 5.1.

Tabela 5.1. Níveis de concordância das variáveis dependentes

Variável/Valor [0] [1] [2] [3] [SR]

Concordância Discordo

Totalmente Discordo

Parcialmente Concordo

Parcialmente Concordo

Totalmente Sem

Resposta

5.3.8. Variáveis Independentes

As variáveis independentes do estudo experimental são:

A experiência com aplicações móveis; e

A experiência com teste de software.

Uma escala no intervalo de 0 (zero) a 3 (três) estabelece os níveis de experiência do

participante. A fim de evitar respostas não conformes geradas por incertezas,

desconhecimento ou interpretação ambígua, foi acrescentada a escala SR (sem resposta) que

descarta o item a título de análise descritiva para obter o valor mais representativo, conforme

apresentado na Tabela 5.2.

Tabela 5.2. Níveis de concordância das variáveis independentes

Variável/Valor [0] [1] [2] [3] [SR]

Perfil Nenhuma

Experiência Experiência

Básica Experiência Moderada

Experiência Avançada

Sem Resposta

132

5.3.9. Análise Qualitativa

A análise qualitativa tem o objetivo de avaliar os resultados obtidos neste estudo, de acordo

com os dados a partir do manifesto de profissionais envolvidos com aplicações móveis e teste

de software.

5.3.10. Capacidade Aleatória

Devido à limitação da quantidade que compõe o universo de participantes, a seleção não será

de forma aleatória.

5.3.11. Classificação em Bloco

Não há necessidade de dividir os participantes em blocos, pois o estudo avaliará apenas os

dados colhidos a partir da opinião de profissionais que tenham experiência com aplicações

móveis e teste de software. Contudo, durante a análise dos dados os resultados poderão ser

classificados e organizados em blocos.

5.3.12. Mecanismos de Análise

O estudo experimental proposto analisa, com base na opinião de profissionais da área da

Tecnologia da Informação e que possuem conhecimento em aplicações móveis e teste de

software, a abordagem TM-Aplic proposta (Capítulo 3), com o intuito de ampliar o

conhecimento referente a melhoria da qualidade das aplicações móveis. Dessa forma, os

possíveis mecanismos de análise são:

Identificação do perfil dos participantes; e

Apuração de forma descritiva a representatividade das medidas obtidas pela escala de

Likert15 com o intuito de obter o entendimento dos participantes sobre o tema e com

isso, avaliar a viabilidade da abordagem.

5.3.13. Validade Interna

Com o intuito de garantir a validade interna deste estudo, foi incluído no termo de adesão, o

total sigilo das informações relevantes e a troca de ideias entre os participantes, além disso, os

participantes deverão realizar o estudo de forma isolada.

15 É um tipo de escala de resposta utilizada em questionários de pesquisas de opinião.

133

5.3.14. Validade Externa

A validade externa do estudo experimental tem como objetivo medir a capacidade de refletir o

mesmo comportamento em outros grupos de participantes profissionais da indústria, além

daqueles em que o estudo foi aplicado. Diante disso, a validade externa deste estudo é

considerada suficiente, pois os participantes atuam diretamente com o desenvolvimento e/ou

testes de aplicações móveis.

5.3.15. Validade de Conclusão

Por se tratar de um estudo experimental que utilizará como base a opinião de profissionais

envolvidos diretamente com o desenvolvimento e/ou testes de aplicações móveis, acredita-se

que a validade do estudo esteja garantida, uma vez que a análise dos dados poderá ser

realizada por meio de métodos estatísticos generalizando os resultados obtidos.

5.4. Execução do Estudo Experimental

Esta Seção descreve a execução do estudo experimental, composta pelos seguintes elementos:

seleção dos participantes, instrumentação, procedimentos de participação e execução.

5.4.1. Seleção dos Participantes

Para este estudo, foram selecionados 27 (vinte e sete) profissionais de Tecnologia da

Informação, envolvidos diretamente com teste de software e/ou aplicações móveis. Os

participantes selecionados estão de acordo com as restrições apresentadas no planejamento

deste estudo.

5.4.2. Instrumentação

Para a execução deste estudo experimental, foram entregues a cada participante todos os

documentos que formam a instrumentação desta validação, todos eles relacionados no

Apêndice A. As principais tarefas de cada participante foram:

Responder a 3 (três) questões relacionadas com a caracterização do participante;

Analisar e entender o memorial descritivo; e

Responder a 14 (quatorze) questões relacionadas com a viabilidade da abordagem

TM-Aplic.

134

5.4.3. Procedimentos do Participante

Um único procedimento de participação foi adotado para cada participante do estudo. Os itens

a seguir apresentam, em ordem cronológica, cada procedimento:

1. O participante comparece ao local em que o estudo será realizado;

2. O experimentador ministra a apresentação e esclarece possíveis dúvidas sobre o

experimento;

3. O experimentador entrega ao participante o Termo de Adesão ao estudo experimental,

o Questionário de Caracterização e o Questionário sobre a Viabilidade da Abordagem

TM-Aplic;

4. O participante lê, esclarece possíveis dúvidas e assina o Termo de Adesão ao estudo

experimental;

5. O participante lê, esclarece possíveis dúvidas e responde o Questionário de

Caracterização do Participante;

6. O participante lê e esclarece possíveis dúvidas sobre o Memorial Descritivo;

7. O participante lê, esclarece possíveis dúvidas e responde o Questionário sobre a

Viabilidade da Abordagem TM-Aplic; e

8. O experimentador recolhe os questionários e associa um identificador (ID) ao

participante.

5.4.4. Execução

Para cada participante, 3 (três) critérios foram utilizados para a classificação:

Formação Acadêmica:

Superior Incompleto (SI), Superior Completo (SC), Pós-Graduação Lato Sensu

Incompleta (PLI), Pós-Graduação Lato Sensu Completa (PLC), Pós-Graduação Stricto

Sensu Incompleta (PSI), Pós-Graduação Stricto Sensu Completa (PSC)

Experiência com Aplicação Móvel:

Nenhuma (N), Básica (B), Moderada (M), Avançada (A), Sem Resposta (SR)

Experiência com Teste de Software:

Nenhuma (N), Básica (B), Moderada (M), Avançada (A), Sem Resposta (SR)

135

Ao todo 27 (vinte e sete) pessoas participaram do estudo experimental, sendo a

maioria com Pós-Graduação Lato Sensu Completa (PLC). Ou seja, 1 (uma) com ensino

Superior Incompleto (SI), 5 (cinco) com ensino Superior Completo (SC), 3 (três) com Pós-

Graduação Lato Sensu Incompleta (PLI), 11 (onze) com Pós-Graduação Lato Sensu Completa

(PLC), 4 (quatro) com Pós-Graduação Stricto Sensu Incompleta (PSI) e 3 (três) com Pós-

Graduação Stricto Sensu Completa (PSC).

Em relação a experiência com aplicações móveis, 11 (onze) pessoas apresentam

experiência básica (B), 10 (dez) experiência moderada (M) e 6 (seis) experiência avançada

(A). Em relação a experiência com teste de software, 2 (duas) pessoas apresentam nenhuma

experiência (N), 7 (sete) experiência básica, 11 (onze) experiência moderada (M) e 7 (sete)

experiência avançada (A). Assim, na Tabela 5.3 são apresentadas as repostas coletadas e

tabuladas sobre o perfil dos participantes.

Tabela 5.3. Respostas coletadas sobre o perfil dos participantes

Perfil

Questões Nenhuma

(N)

Básica

(B)

Moderada

(M)

Avançada

(A)

1 (Experiência com Aplicação

Móvel)

0 11 10 6

2 (Experiência com Teste de

Software)

2 7 11 7

Total 2 18 21 13

De forma geral, os participantes apresentam experiência básica com aplicação móvel e

experiência moderada com teste de software. Os participantes que apresentam nenhuma

experiência em teste de software tiveram as respostas desconsideradas, conforme abordado na

Seção 5.5.1 (Validação dos Dados).

Além da formação acadêmica e das 2 (duas) questões relacionadas com o perfil, cada

participante respondeu 13 (treze) questões relacionadas com as tarefas da abordagem proposta

e uma questão dissertativa que o usuário poderia expressar a opinião sobre a abordagem TM-

Aplic. A última questão serviu para fins de conclusão do estudo experimental. Na Tabela 5.4

são apresentadas as repostas coletadas e tabuladas sobre a viabilidade da abordagem.

136

Tabela 5.4. Respostas coletadas sobre a viabilidade da abordagem TM-Aplic

Viabilidade

Questões Discordo

Totalmente

Discordo

Parcialmente

Concordo

Parcialmente

Concordo

Totalmente

3

(Analisar Produto de Teste) 0 0 5 20

4

(Estabelecer Objetivos do

Teste)

0 1 6 18

5

(Definir Estratégia de Teste) 0 1 5 19

6

(Definir Equipe de Teste) 0 2 5 18

7

(Definir Ambiente de Teste) 0 1 6 18

8

(Estabelecer Plano de Teste) 0 0 6 19

9

(Planejar os Artefatos e Dados) 0 0 6 19

10

(Identificar Casos de Teste) 0 0 6 19

11

(Executar Teste) 0 1 2 22

12

(Reportar Incidentes) 0 1 5 19

13

(Acompanhar Incidentes) 0 0 9 16

14

(Artefatos) 0 1 7 17

15

(Qualidade) 0 0 2 23

Total 0 8 70 247

Ao final, 15 (quinze) respostas foram coletadas e tabuladas. De acordo com a Tabela

5.4, é possível perceber que a maioria dos participantes concorda totalmente com as questões

relacionadas com a viabilidade da abordagem TM-Aplic.

137

5.5. Análise e Interpretação dos Resultados do Estudo

Experimental

A análise e interpretação dos resultados divide-se em 2 (duas) principais etapas: a validação

dos dados coletados e a estatística descritiva e análise. A seguir essas etapas são descritas.

5.5.1. Validação dos Dados

Com a intenção de eliminar as respostas não conformes geradas por dúvidas ou

desconhecimento, foi incluído o item SR (Sem Resposta) nas escalas, que descarta o item a

título de estatística descritiva para obter o valor mais representativo, ou seja, a moda. Além

disso, caso o participante não apresente o mínimo de conhecimento nas áreas desejadas

(aplicação móvel e teste de software), as respostas também devem ser descartadas, pois trata-

se de um outlier16.

Dessa forma, 2 (dois) participantes (ver Tabela 5.3) foram considerados outliers, pois

não apresentam conhecimentos mínimos sobre teste de software e, portanto, foram excluídos

da estatística descritiva.

5.5.2. Estatística Descritiva e Análise

A apresentação e tabulação dos dados coletados durante a realização do experimento visam

representar as informações relevantes sobre o contexto do trabalho. Dessa forma, para

destacar os valores coletados, utilizam-se as medidas de tendência central, representadas pelos

cálculos da mediana e moda. Se o número de observações for par, a mediana estará na média

dos dois valores centrais. Se o número for ímpar, a mediana será o valor central. A moda é o

valor da observação que ocorre com mais frequência na amostragem (Montgomery e Runger,

2009). Assim, na Tabela 5.5 é apresentado o cálculo da mediana e moda dos dados coletados.

Tabela 5.5. Cálculo da mediana e moda das respostas coletadas

Questões Perfil Viabilidade 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Mediana 2 2 3 3 3 3 3 3 2 3 3 3 3 3 3

Moda 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3

16 Resultado atípico que apresenta um grande afastamento dos demais valores. São ameaças em pesquisas e estudos experimentais.

138

Na Figura 5.1 é apresentado o gráfico com todas as perguntas que os participantes

responderam de acordo com a mediana e a moda. Quanto mais interno no gráfico, menor o

conhecimento (questões 1 e 2) e menor a concordância (questões 3 a 15).

Figura 5.1. Análise das respostas em relação a mediana e a moda

Dessa forma, é possível observar uma variação entre a mediana e moda em relação ao

conhecimento em aplicações móveis e na tarefa planejar os artefatos e dados.

Após a tabulação dos dados, alguns gráficos foram gerados para facilitar a

visualização das informações. O primeiro gráfico é apresentado pela Figura 5.2 e tem por

objetivo demonstrar as respostas dos participantes em relação ao nível de conhecimento sobre

aplicações móveis e teste de software. Nas Figuras 5.3 e 5.4 são apresentados os gráficos com

a análise das respostas.

Figura 5.2. Respostas dos participantes

Figura 5.3. Análise das respostas dos

participantes em relação ao nível de

conhecimento em aplicação

Pode-se observar que 40% dos participantes apresentam experiência avançada com

aplicações móveis, 40% experiência mo

participantes apresentam experiência avançada com teste de software, 53% experiência

moderada e 33% experiência básica.

0

0,5

1

1,5

2

2,5

3

3,5

Par

tici

pan

te 2Aplicações Móveis

Teste de Software

0 - Nenhuma Experiência1 - Experiência Básica2 - Experiência Moderada3 - Experiência Avançada

0%

40%

40%

20%

Aplicação Móvel

participantes em relação ao nível de conhecimento em

móvel e teste de software

Análise das respostas dos

participantes em relação ao nível de

conhecimento em aplicação móvel

Figura 5.4. Análise das respostas dos

participantes em relação ao nível de

conhecimento em teste de software

se observar que 40% dos participantes apresentam experiência avançada com

xperiência moderada e 20% experiência básica e,

participantes apresentam experiência avançada com teste de software, 53% experiência

moderada e 33% experiência básica.

Par

tici

pan

te 2

Par

tici

pan

te 3

Par

tici

pan

te 4

Par

tici

pan

te 5

Par

tici

pan

te 6

Par

tici

pan

te 7

Par

tici

pan

te 8

Par

tici

pan

te 9

Par

tici

pan

te 1

0

Par

tici

pan

te 1

1P

arti

cip

ante

12

Par

tici

pan

te 1

4

Par

tici

pan

te 1

5P

arti

cip

ante

16

Par

tici

pan

te 1

7P

arti

cip

ante

18

Par

tici

pan

te 1

9P

arti

cip

ante

20

Par

tici

pan

te 2

1

Par

tici

pan

te 2

2

Aplicação Móvel

Nenhuma Experiência

Experiência Básica

Experiência Moderada

Experiência Avançada

0%

33%

53%

14%

Teste de Software

139

de conhecimento em aplicação

Análise das respostas dos

participantes em relação ao nível de

conhecimento em teste de software

se observar que 40% dos participantes apresentam experiência avançada com

derada e 20% experiência básica e, 14% dos

participantes apresentam experiência avançada com teste de software, 53% experiência

Par

tici

pan

te 2

2

Par

tici

pan

te 2

3P

arti

cip

ante

24

Par

tici

pan

te 2

5P

arti

cip

ante

26

Par

tici

pan

te 2

7

Teste de Software

Nenhuma Experiência

Experiência Básica

Experiência Moderada

Experiência Avançada

Na Figura 5.5 é apresenta

relação à tarefa Analisar Produto de Teste

análise das respostas. Os participantes apresentam pouc

(vinte) participantes concordam totalmente e 5 (cinco) concord

Figura 5.5. Respostas dos participantes

Figura 5.6. Análise das respostas em relação a tarefa analisar produto de teste

Pode-se observar que 80% dos participantes concordam totalmente com a tarefa e 20%

concordam parcialmente.

80%

Analisar Produto de Teste

apresentado o gráfico que representa as repostas dos partici

relação à tarefa Analisar Produto de Teste, e na Figura 5.6 é apresentado

s participantes apresentam pouca variação nas respostas, sendo que 20

(vinte) participantes concordam totalmente e 5 (cinco) concordam parcialmente.

dos participantes em relação a tarefa analisar produto de teste

lise das respostas em relação a tarefa analisar produto de teste

se observar que 80% dos participantes concordam totalmente com a tarefa e 20%

0% 0%

20%

80%

Analisar Produto de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

140

gráfico que representa as repostas dos participantes em

o gráfico com a

a variação nas respostas, sendo que 20

am parcialmente.

a tarefa analisar produto de teste

lise das respostas em relação a tarefa analisar produto de teste

se observar que 80% dos participantes concordam totalmente com a tarefa e 20%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.7 é apresenta

relação a tarefa Estabelecer O

análise das respostas.

Figura 5.7. Respostas dos participantes

Figura 5.8. Análise das respostas em relação a ta

Pode-se observar que 72% dos participantes concordam totalmente com a tarefa, 24%

concordam parcialmente e 4% discordam parcialmente.

72%

Estabelecer Objetivos do Teste

apresentado o gráfico que representa as repostas dos participantes em

tarefa Estabelecer Objetivos do Teste, e na Figura 5.8 apresentado

dos participantes em relação a tarefa estabelecer objetivos do teste

Análise das respostas em relação a tarefa estabelecer objetivos do teste

se observar que 72% dos participantes concordam totalmente com a tarefa, 24%

concordam parcialmente e 4% discordam parcialmente.

0% 4%

24%

Estabelecer Objetivos do Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

141

gráfico que representa as repostas dos participantes em

do o gráfico com a

a tarefa estabelecer objetivos do teste

refa estabelecer objetivos do teste

se observar que 72% dos participantes concordam totalmente com a tarefa, 24%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.9 é apresenta

relação a tarefa Definir Estratégia de T

análise das respostas.

Figura 5.9. Respostas dos participantes

Figura 5.10. Análise das respostas em relação a tarefa definir estratégia de teste

Pode-se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

concordam parcialmente e 4% discordam parcialmente.

76%

Definir Estratégia de Teste

apresentado o gráfico que representa as repostas dos participantes

Definir Estratégia de Teste, e na Figura 5.10 é apresentado

dos participantes em relação a tarefa definir estratégia de teste

Análise das respostas em relação a tarefa definir estratégia de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

concordam parcialmente e 4% discordam parcialmente.

0% 4%

20%

Definir Estratégia de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

142

gráfico que representa as repostas dos participantes em

o gráfico com a

a tarefa definir estratégia de teste

Análise das respostas em relação a tarefa definir estratégia de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.11 é apresenta

relação a tarefa Definir Equipe de T

análise das respostas.

Figura 5.11. Respostas dos participantes

Figura 5.12. Análise das respostas em relação a tarefa definir equipe de teste

Pode-se perceber que 72% dos participantes concordam totalmente com a tarefa, 20%

concordam parcialmente e 8% discordam parcialmente.

72%

Definir Equipe de Teste

resentado o gráfico que representa as repostas dos participantes em

Equipe de Teste, e na Figura 5.12 é apresentado

dos participantes em relação a tarefa definir equipe de teste

Análise das respostas em relação a tarefa definir equipe de teste

se perceber que 72% dos participantes concordam totalmente com a tarefa, 20%

mente e 8% discordam parcialmente.

0% 8%

20%

Definir Equipe de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

143

gráfico que representa as repostas dos participantes em

o gráfico com a

a tarefa definir equipe de teste

Análise das respostas em relação a tarefa definir equipe de teste

se perceber que 72% dos participantes concordam totalmente com a tarefa, 20%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.13 é apresenta

relação a tarefa Definir Ambiente de T

análise das respostas.

Figura 5.13. Respostas dos participantes

Figura 5.14. Análise das respostas em relação a tarefa definir ambiente de teste

Pode-se perceber que 72% dos participa

parcialmente e 4% discordam parcialmente.

72%

Definir Ambiente de Teste

apresentado o gráfico que representa as repostas dos participantes em

Ambiente de Teste, e na Figura 5.14 é apresentado

dos participantes em relação a tarefa definir ambiente de teste

Análise das respostas em relação a tarefa definir ambiente de teste

se perceber que 72% dos participantes concordam totalmente, 24% concordam

parcialmente e 4% discordam parcialmente.

0% 4%

24%

Definir Ambiente de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

144

gráfico que representa as repostas dos participantes em

o gráfico com a

ambiente de teste

Análise das respostas em relação a tarefa definir ambiente de teste

ntes concordam totalmente, 24% concordam

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.15 é apresenta

relação a tarefa Estabelecer Plano de T

análise das respostas.

Figura 5.15. Respostas dos participantes

Figura 5.16. Análise das respostas em relação a tarefa estabelecer pla

Pode-se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

concordam parcialmente.

76%

Estabelecer Plano de Teste

apresentado o gráfico que representa as repostas dos participantes em

Plano de Teste, e na Figura 5.16 é apresentado

dos participantes em relação a tarefa estabelecer plano de teste

Análise das respostas em relação a tarefa estabelecer plano de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

0% 0%

24%

Estabelecer Plano de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

145

gráfico que representa as repostas dos participantes em

o gráfico com a

a tarefa estabelecer plano de teste

no de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.17 é apresenta

relação tarefa Planejar os Artefatos e Dados

análise das respostas.

Figura 5.17. Respostas dos participantes

Figura 5.18. Análise das resp

Pode-se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

concordam parcialmente.

76%

Planejar os Artefatos e Dados

apresentado o gráfico que representa as repostas dos participantes em

Planejar os Artefatos e Dados, e na Figura 5.18 é apresentado

dos participantes em relação a tarefa planejar os artefatos e dados

Análise das respostas em relação a tarefa planejar os artefatos e dados

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

0% 0%

24%

Planejar os Artefatos e Dados

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

146

gráfico que representa as repostas dos participantes em

do o gráfico com a

a tarefa planejar os artefatos e dados

ostas em relação a tarefa planejar os artefatos e dados

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.19 é apresenta

em relação a tarefa Identificar

análise das respostas.

Figura 5.19. Respostas dos participantes

Figura 5.20. Análise das respostas em relação a tarefa identificar casos de teste

Pode-se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

concordam parcialmente.

76%

Identificar Casos de Teste

apresentado um gráfico que representa as repostas dos participantes

entificar Casos de Teste, e na Figura 5.20 é apresentado

dos participantes em relação a tarefa identificar casos de teste

Análise das respostas em relação a tarefa identificar casos de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

0% 0%

24%

Identificar Casos de Teste

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

147

um gráfico que representa as repostas dos participantes

do o gráfico com a

a tarefa identificar casos de teste

Análise das respostas em relação a tarefa identificar casos de teste

se perceber que 76% dos participantes concordam totalmente com a tarefa e 24%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.21 é apresenta

relação a tarefa Executar Testes, e

respostas.

Figura 5.21. Respostas dos participantes

Figura 5.22. Análise das respostas em relação a tarefa executar testes

Pode-se perceber que 88% dos participantes concordam totalmente com a tarefa, 8%

concordam parcialmente e 4% discordam parcialmente.

88%

apresentado o gráfico que representa as repostas dos participantes em

estes, e na Figura 5.22 é apresentado o gráfico com a análise das

Respostas dos participantes em relação a tarefa executar testes

Análise das respostas em relação a tarefa executar testes

se perceber que 88% dos participantes concordam totalmente com a tarefa, 8%

concordam parcialmente e 4% discordam parcialmente.

0% 4%8%

88%

Executar Testes

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

148

dos participantes em

o gráfico com a análise das

a tarefa executar testes

Análise das respostas em relação a tarefa executar testes

se perceber que 88% dos participantes concordam totalmente com a tarefa, 8%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.23 é aprese

em relação a tarefa Reportar

análise das respostas.

Figura 5.23. Respostas

Figura 5.24. Análise das respostas em relação a tarefa reportar incidentes

Pode-se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

concordam parcialmente e 4% dis

76%

apresentado um gráfico que representa as repostas dos participantes

eportar Incidentes, e na Figura 5.24 é apresentado o gráfico com a

espostas dos participantes em relação a tarefa reportar incidentes

Análise das respostas em relação a tarefa reportar incidentes

se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

concordam parcialmente e 4% discordam parcialmente.

0% 4%

20%

Reportar Incidentes

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

149

um gráfico que representa as repostas dos participantes

o gráfico com a

a tarefa reportar incidentes

Análise das respostas em relação a tarefa reportar incidentes

se perceber que 76% dos participantes concordam totalmente com a tarefa, 20%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.25 é apresenta

em relação a tarefa Acompanhar

análise das respostas.

Figura 5.25. Respostas dos participantes

Figura 5.26. Análise das respostas em relação a tarefa acompanhar incidentes

Pode-se perceber que 64% dos participantes concordam totalmente

concordam parcialmente.

64%

Acompanhar Incidentes

apresentado um gráfico que representa as repostas dos participantes

companhar Incidentes, e na Figura 5.26 é apresentado

dos participantes em relação a tarefa acompanhar incidentes

Análise das respostas em relação a tarefa acompanhar incidentes

se perceber que 64% dos participantes concordam totalmente com a tarefa e 36%

0% 0%

36%

Acompanhar Incidentes

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

150

um gráfico que representa as repostas dos participantes

o gráfico com a

a tarefa acompanhar incidentes

Análise das respostas em relação a tarefa acompanhar incidentes

com a tarefa e 36%

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.27 é apresenta

em relação aos artefatos gerados pela abordagem

gráfico com a análise das respostas

Figura 5.27. Respostas dos participantes

Figura 5.28. Análise das respostas em relação aos artefatos presentes na abordagem

Pode-se perceber que 68% dos participantes concordam totalmente que os artefatos

gerados pelas tarefas presentes na abordagem

necessidades das aplicações móveis, 28% concordam parcialmente e 4% discordam

parcialmente.

68%

apresentado um gráfico que representa as repostas dos participantes

em relação aos artefatos gerados pela abordagem TM-Aplic, e na Figura 5.28

gráfico com a análise das respostas.

dos participantes em relação aos artefatos presentes na abordagem

Análise das respostas em relação aos artefatos presentes na abordagem

r que 68% dos participantes concordam totalmente que os artefatos

tarefas presentes na abordagem TM-Aplic são suficientes para atender as

necessidades das aplicações móveis, 28% concordam parcialmente e 4% discordam

0% 4%

28%

Artefatos Gerados

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

151

um gráfico que representa as repostas dos participantes

Figura 5.28 é apresentado o

os artefatos presentes na abordagem

Análise das respostas em relação aos artefatos presentes na abordagem

r que 68% dos participantes concordam totalmente que os artefatos

são suficientes para atender as

necessidades das aplicações móveis, 28% concordam parcialmente e 4% discordam

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

Na Figura 5.29 é apresenta

em relação a contribuição da abordagem

exceção de 2 (dois) participantes (participante 5 e 27), os outros concordam totalmente que a

abordagem pode contribuir para melhorar a qualidade das aplicações móveis

é apresentado o gráfico com a análise das respostas.

Figura 5.29. Respostas dos participantes

Figura 5.30. Análise das respostas em relação a qualidade do produto

Pode-se perceber que 92% dos participantes concordam totalmente que as tarefas e os

artefatos podem contribuir para a qualidade do produto final e 8% concordam pa

92%

apresentado um gráfico que representa as repostas dos participantes

em relação a contribuição da abordagem TM-Aplic em apoiar a qualidade do produto

exceção de 2 (dois) participantes (participante 5 e 27), os outros concordam totalmente que a

contribuir para melhorar a qualidade das aplicações móveis

o gráfico com a análise das respostas.

Respostas dos participantes em relação a qualidade do produt

Análise das respostas em relação a qualidade do produto

se perceber que 92% dos participantes concordam totalmente que as tarefas e os

artefatos podem contribuir para a qualidade do produto final e 8% concordam pa

0% 0%

8%

92%

Qualidade do Produto

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

152

um gráfico que representa as repostas dos participantes

iar a qualidade do produto. Com

exceção de 2 (dois) participantes (participante 5 e 27), os outros concordam totalmente que a

contribuir para melhorar a qualidade das aplicações móveis. Na Figura 5.30

em relação a qualidade do produto

Análise das respostas em relação a qualidade do produto

se perceber que 92% dos participantes concordam totalmente que as tarefas e os

artefatos podem contribuir para a qualidade do produto final e 8% concordam parcialmente.

Discordo Totalmente

Discordo Parcialmente

Concordo Parcialmente

Concordo Totalmente

153

Por meio da medida de tendência central denominada de moda estatística, conclui-se

que a abordagem TM-Aplic é viável, no que se refere a apoiar a qualidade das aplicações

móveis, auxiliando na identificação de falhas antes da liberação do software para o usuário

final. Contudo, torna-se necessário a aplicação de novos experimentos para mensurar, por

meio de empresas desenvolvedoras de aplicações móveis, a viabilidade da abordagem em

termos de esforço, tempo e custo, por exemplo.

5.6. Avaliação de Validade do Estudo Experimental

A avaliação de validade deste estudo experimental é apresentada por meio das seguintes

ameaças: à validade de conclusão, à validade de construção, à validade interna e à validade

externa, conforme discutidas abaixo:

Ameaça à validade de conclusão: refere-se à capacidade do estudo experimental em

gerar alguma conclusão (Wohlin et al., 2000). Dessa forma, não houve dificuldades em

relação à conclusão do estudo, pois os dados foram coletados de profissionais que atuam em

áreas relacionadas com as aplicações móveis e teste de software. Além disso, houve a

validação dos dados com a intenção de identificar possíveis outliers, e a aplicação da

estatística descritiva e análise para apurar a conclusão do estudo.

As métricas utilizadas para a análise de cada questão estipulada na definição do estudo

experimental são de fácil entendimento, reduzindo a influência de possíveis enganos no

entendimento e conclusão dos resultados.

Ameaça à validade de construção: refere-se à capacidade do estudo experimental em

relacionar a instrumentação com os participantes do estudo e a teoria que esta sendo provada,

que é a viabilidade da abordagem TM-Aplic (Wohlin et al., 2000).

Dessa forma, entende-se que a validade de construção do estudo foi alcançada, pois

todos os participantes do estudo estão envolvidos diretamente com atividades relacionadas

com aplicações móveis e teste de software. Ou seja, possui conhecimento na área, refletindo

em uma avaliação mais apurada a respeito da viabilidade da abordagem. A validade de

construção poderia ser ameaçada se os participantes não tivessem conhecimento específico

em aplicações móveis ou teste de software.

154

Ameaça à validade interna: refere-se à capacidade do estudo experimental em

fornecer subsídios para que um novo estudo repita o comportamento do estudo atual,

considerando a seleção dos participantes, a divisão das classes, a aplicação dos tratamentos e

os aspectos sociais (Wohlin et al., 2000).

O estudo experimental contou com 27 (vinte e sete) participantes que apresentavam

pouca variação com relação às habilidades. Além disso, todos os participantes realizaram as

tarefas definidas na mesma ordem e sem consultas externas, com a intenção de não haver

troca de informação entre os participantes e, consequentemente, serem influenciados por

opiniões alheias.

Em relação à fadiga dos participantes, em média, o experimento durou 30 minutos

para cada participante. Assim, a fadiga não foi considerada relevante. Além disso, o memorial

descritivo, com tabelas e figuras, contribui para reduzir tal efeito.

Uma vez entendido o memorial descritivo (Apêndice A), somado à experiência dos

participantes com aplicações móveis e teste de software, considera-se que suas respostas são

válidas.

Ameaça à validade externa: refere-se às limitações em generalizar os resultados do

experimento (Wohlin et al., 2000).

Obter participantes qualificados foi uma das grandes dificuldades do estudo, pois

como se utilizou somente profissionais que estivessem envolvidos com aplicações móveis e

teste de software, a dificuldade em manter contato com as empresas para que os funcionários

fossem liberados para participar do estudo foi alta.

Além disso, a validade externa pode ser comprometida, pois o experimento foi

realizado abordando somente a análise qualitativa dos dados e, isso pode ameaçar a

generalização dos resultados relacionados à viabilidade da abordagem.

155

5.7. Considerações Finais

A literatura existente ressalta a necessidade de novas abordagens de Engenharia de Software a

fim de apoiar a qualidade das aplicações móveis disponibilizadas aos usuários finais e, sob

esse aspecto, métodos experimentais são necessários para provar as novas abordagens.

O estudo foi realizado por profissionais da área da Tecnologia da Informação que

atuam diretamente com aplicações móveis e teste de software, com a intenção de aproximar,

por meio de uma transferência de conhecimentos, a indústria e a academia.

Nesse sentido, a realização deste estudo experimental forneceu indícios da viabilidade

da abordagem TM-Aplic proposta nesta dissertação. No entanto, devido à ausência de

trabalhos relacionados com aplicações móveis e teste de software, pode-se entender que todo

trabalho é relevante, e pode ser aproveitado e aprimorado pela indústria, como é possível

observar pelos resultados do experimento.

Novos experimentos podem ser efetuados com a intenção de buscar profissionais mais

qualificados para a participação, além da necessidade de realização de experimentos

relacionados a uma análise quantitativa, principalmente no que se refere a termos de esforço,

tempo e custo.

A condução do estudo de viabilidade possibilitou levantar, junto aos participantes, os

seguintes pontos:

Esclarecer a integração com ferramentas de gestão de projetos;

Incluir TDD (Test Driven Development), testes unitários automáticos e uso de

ferramentas como o Sonar17 para avaliar a qualidade do software;

Geração de casos/cenários de teste pela equipe de desenvolvimento, e o

reaproveitamento e aprimoramento dos mesmos pela equipe de teste; e

Incluir o papel do arquiteto de testes para auxiliar na automatização dos testes, no que

se refere a entender um problema específico e criar uma solução adequada (geralmente

com a ajuda de uma ferramenta), além de apoiar a equipe a evoluir tecnicamente e

auxiliar na melhoria do processo de teste.

17 http://www.sonarqube.org/

156

Conclusões

6.1. Propósito da Pesquisa

Desenvolver aplicações móveis que apresentem um comportamento correto, sem falhas, sem

perda de dados, sem interferir negativamente em outras aplicações e serviços, além de

funcionar corretamente nos mais variados modelos de dispositivos e atender os quesitos

relacionados à mobilidade do usuário, são alguns dos desafios que diferenciam as aplicações

móveis de softwares tradicionais no que se refere a qualidade do produto. Essas

particularidades estão distribuídas de forma a constituir o ambiente móvel, composto por 3

(três) principais fatores: contexto móvel, usuário de dispositivo móvel e aplicação móvel

(Ballard, 2007; Mizouni et al., 2009; She, Sivapalan e Warren, 2009).

Diante desses desafios, considera-se necessário o desenvolvimento de novas

abordagens de engenharia de software, a fim de considerar as particularidades presentes nas

aplicações móveis, desvendando e corrigindo falhas antes da liberação do produto final para o

usuário (Kim, Choi e Wong, 2009; Muccini, Di Francesco e Esposito, 2012).

Assim, com base na lacuna identificada a partir da análise dos trabalhos relacionados

apresentada no Capítulo 2, da presente dissertação, foi desenvolvida a abordagem TM-Aplic

em termos de tarefas, papéis e artefatos, por meio das áreas de processo de planejamento,

projeto e execução de testes.

6

Capítulo

157

6.2. Contribuições

Esta pesquisa contribui com uma área que, apesar da sua ascensão exponencial, ainda é

carente de trabalhos científicos. Isso objetivou a proposta da abordagem TM-Aplic,

disponibilizando material acessível para subsidiar os envolvidos com a qualidade das

aplicações móveis. Dessa forma, como contribuições desta dissertação, destacam-se:

Auxiliar na condução do teste de software, pois oferece a todos os envolvidos uma

nomenclatura comum, além de permitir que a mesma seja analisada e, como resultado

dessa análise, possa sofrer evoluções sendo passível de melhoria contínua;

Oferecer suporte ao teste de aplicações móveis, por meio das áreas de processo de

planejamento, projeto e execução, de acordo com as diretrizes estabelecidas pelo

modelo de maturidade MPT.BR;

Abordar os fatores inerentes do ambiente móvel, com o intuito de atingir as

particularidades das aplicações móveis;

Oferecer uma ampla análise dos passos construtivos para a elaboração de um controle

de qualidade em aplicações móveis, bem como resguardando as avaliações dos

dispositivos móveis e seus componentes;

Apresentar um roteiro de organização da elaboração de testes ao longo do processo

adotado;

Apresentar uma avaliação de viabilidade da abordagem TM-Aplic por meio de um

estudo experimental controlado com base na Engenharia de Software Experimental.

Os resultados obtidos no estudo experimental são utilizados para aprimorar a

abordagem melhorando a viabilidade da mesma; e

Apresentar várias bibliografias correlatas à área de qualidade e testes.

6.3. Dificuldades e Limitações

Dentre as dificuldades e limitações encontradas durante o estudo experimental e o

desenvolvimento da abordagem proposta, estão:

Escassez de trabalhos científicos sobre a área abordada;

Acesso às empresas do âmbito regional para a realização do experimento;

Colaboração dos líderes das empresas para avaliar o resultado da pesquisa; e

Escassez de profissionais especialistas em aplicações móveis e teste de software para

participar do estudo experimental.

158

6.4. Trabalhos Futuros

Visando a melhoria e expansão da abordagem TM-Aplic, algumas perspectivas de trabalhos

futuros foram identificadas, as quais estão além do escopo desta dissertação:

Definir o nível de treinamento necessário para que os responsáveis sejam capazes de

cumprir com êxito as tarefas apresentadas na abordagem proposta;

Considerar as metodologias ágeis como parte da abordagem proposta, por exemplo, a

utilização de TDD (Test Driven Development);

Definir ferramentas automatizadas, pois devido à quantidade de combinações que

influenciam o teste de aplicações móveis (por exemplo: diferentes dispositivos,

navegadores, sistemas operacionais, memória, processadores), a realização de forma

manual torna o teste demorado e caro. A automação de teste pode ser usada para

reduzir o tempo e os custos associados com os testes, além de ser utilizada para

aumentar a produtividade da equipe, no que se refere a diminuir esforço e tempo de

mercado para o produto;

Apresentar diretrizes para possibilitar a integração da abordagem com ferramentas de

gestão;

Mensurar a viabilidade da abordagem TM-Aplic, por meio da utilização por empresas

que desenvolvem e testam aplicações móveis, em termos de esforço, tempo e custo;

Aplicar a abordagem considerando os demais níveis de maturidade do modelo

MPT.BR; e

Definir planos de testes relacionados às características de dispositivos móveis

abordando o Teste Estrutural e Funcional.

159

Referências

ABNT. NBR ISO/IEC 9126-1 Engenharia de Software – Qualidade de Produto Parte 1:

Modelo de Qualidade, Rio de Janeiro, ABNT, 2003.

ANDRADE, S. C.; TAIT, T. F. C.; HUZITA, E. H. M.; BRUZAROSCO, D. C.;

CARMIZINI, M. An Approach to Support the Software Project Management for Mobile

Devices. In: XXXIX Latin American Computing Conference (CLEI 2013), Venezuela, 2013.

BALLARD, B. Designing the Mobile User Experience. Little Springs Design, Inc., USA:

Wiley, 2007.

BASILI, V. R. The Role of Controlled Experiments in Software Engineering Research. In:

Empirical Software Engineering Issues: Critical Assessment and Future Directions, LNCS

4336, V. Basili et al., (Eds.), Springer-Verlag, p. 33-37, 2007.

BASILI, V. R.; ROMBACH, H. D. The TAME Project: Towards Improvement-Oriented

Software Environments. Transactions on Software Engineering (TSE). IEEE, v. 14, n. 6, p.

758-773, 1988.

BIZAGI. Disponível em: < http://www.bizagi.com>. Acesso em: 2 set. 2013.

BO, J.; XIANG, L.; XIAOPENG, G. MobileTest: A Tool Supporting Automatic Black Box

Test for Software on Smart Mobile Devices. In: 2nd International Workshop on Automation

of Software Test (AST'07). IEEE, p. 8-8, 2007.

BOURQUE, P.; DUPUIS, R.; ABRAN, A.; MOORE, J. W.; TRIPP, L. The Guide to the

Software Engineering Body of Knowledge. Software. IEEE, v. 16, n. 6, p. 35-44, 1999.

160

BORNER, L.; ILLES-SEIFERT, T.; PAECH, B. The Testing Process - A Decision Based

Approach. In: 1st International Conference on Software Engineering Advances (ICSEA).

IEEE, p. 41, 2007.

BROEKMAN, B.; NOTENBOOM, E. Testing Embedded Software. Addison-Wesley, 2003.

CAPGEMINI; SOGETI; HEWLETT-PACKARD. World Quality Report. Fourth Edition,

2012. Disponível em: <http://www.tmap.net/en/news/world-quality-report-2012-13>. Acesso

em: 23 out. 2012.

CHEN, G.; KOTZ, D. A Survey of Context-Aware Mobile Computing Research. Technical

Report TR2000-381, Dept. of Computer Science, Dartmouth College, 2000.

CRESPO, A. N.; JINO, M.; ARGOLLO, M.; BUENO, P.; BARROS, C. P. Teste de Software:

Motivação e Conceitos Básicos. Estrutura Tecnológica de Teste de Software do SPB

(Software Público Brasileiro). Centro de Tecnologia da Informação Renato Archer –

CTI/MCT, 2009.

CRESPO, A. N.; JINO, M.; ARGOLLO, M.; BUENO, P.; BARROS, C. P. Modelo de

Processo Genérico de Teste de Software. Estrutura Tecnológica de Teste de Software do SPB

(Software Público Brasileiro). Centro de Tecnologia da Informação Renato Archer –

CTI/MCT, 2010a.

CRESPO, A. N.; JINO, M.; ARGOLLO, M.; BUENO, P.; BARROS, C. P. Guia para Planejar

o Teste de Software. Estrutura Tecnológica de Teste de Software do SPB (Software Público

Brasileiro). Centro de Tecnologia da Informação Renato Archer – CTI/MCT, 2010b.

CRESPO, A. N.; JINO, M.; ARGOLLO, M.; BUENO, P.; BARROS, C. P. Guia para Projetar

o Teste de Software. Estrutura Tecnológica de Teste de Software do SPB (Software Público

Brasileiro). Centro de Tecnologia da Informação Renato Archer – CTI/MCT, 2010c.

CMMI Product Team. CMMI for Development, Version 1.2. Technical Report, Software

Engineering Institute, 2006.

161

DANTAS, V. L. L. Requisitos para Testes de Aplicações Móveis. Dissertação (Mestrado em

Ciência da Computação) – Departamento de Computação. Universidade Federal do Ceará,

Fortaleza. 2009.

DANTAS, V. L. L.; MARINHO, F. G.; COSTA, A. L.; ANDRADE, R. M. C. Testing

Requirements for Mobile Applications. In: 24th International Symposium on Computer and

Information Sciences (ISCIS). IEEE, p. 555-560, 2009.

DIAS NETO, A. C. Uma Infra-estrutura Computacional para Apoiar o Planejamento e

Controle de Testes de Software. Departamento de Engenharia de Sistemas e Ciência da

Computação. Universidade Federal do Rio de Janeiro, COPPE, 2006.

DIAS NETO, A. C., TRAVASSOS, G. H. Maraká: Infra-Estrutura Computacional para

Apoiar o Planejamento e Controle dos Testes de Software, In: 5º Simpósio Brasileiro de

Qualidade de Software (SBQS), Vila Velha, ES, 2006.

ERICSON, T.; SUBOTIC, A.; URSING, S. TIM: A Test Improvement Model. Software

Testing Verification and Reliability, v. 7, n. 4, p. 229-246, 1997.

FALSAFI, A. Improving Voice Quality in International Mobile-to-Mobile Calls. In: 19th

International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC).

IEEE, p. 1-5, 2008.

FARRELL-VINAY, P. Manage Software Testing. Auerbach Publications, 2008.

FURTADO, A. P. C. C.; GOMES, M. A. W.; ANDRADE, E. C.; JUNIOR, I. H. F. MPT.BR:

A Brazilian Maturity Model for Testing. In: 12th International Conference on Quality

Software (QSIC). IEEE, p. 220-229, 2012.

FLING, B. Mobile Design and Development: Practical Concepts and Techniques for Creating

Mobile Sites and Web Apps. O'Reilly Media, Incorporated, 2009.

FRANKE, D.; WEISE, C. Providing a Software Quality Framework for Testing of Mobile

Applications. In: 4th International Conference on Software Testing, Verification and

Validation (ICST). IEEE, p. 431- 434, 2011.

162

GUERRA, A. C.; COLOMBO, R. M. T. Tecnologia da Informação: Qualidade de Produto de

Software. Brasília: PBQP Software - Programa Brasileiro de Qualidade e Produtividade,

2009.

GRAHAM, D.; VAN VEENENDAAL, E. Foundations of Software Testing: ISTQB

Certification. Cengage Learning Emea, 2008.

HABIB, S. M.; JACOB, C.; OLOVSSON, T. A Practical Analysis of the Robustness and

Stability of the Network Stack in Smartphones. In: 11th International Conference on

Computer and Information Technology (ICCIT). IEEE, p. 393-398, 2008.

HUMPHREY, W. S. Managing the Software Process. Reading, MA: Addison-Wesley, 1989.

ICKIN, S.; WAC, K.; FIEDLER, M.; JANOWSKI, L.; HONG, J. H.; DEY, A. K. Factors

Influencing Quality of Experience of Commonly Used Mobile Applications. Communications

Magazine, IEEE, v. 50, n. 4, p. 48-56, 2012.

JACOBS, J.; VAN MOLL, J.; STOKES, T. The Process of Test Process Improvement,

XOOTIC Magazine, v. 8, n. 2, p. 23-29, 2000.

JAIN, A. K.; SHANBHAG, D. Addressing Security and Privacy Risks in Mobile

Applications. IT Professional Magazine, IEEE, p. 28-33, 2012.

JEONG, Y.; LEE, J.; SHIN, G. Development Process of Mobile Application SW Based on

Agile Methodology. In: 10th International Conference on Advanced Communication

Technology (ICACT). IEEE, p. 362-366, 2008.

JUN-FENG, Y.; SHI, Y.; JU-BO, L.; DAN, X.; XIANG-YANG, J. Reflective Architecture

Based Software Testing Management Model. In: 1st International Conference on

Management of Innovation and Technology. IEEE, p. 821-825, 2006.

JUNG, E. A Test Process Improvement Model for Embedded Software Developments. In: 9th

International Conference on Quality Software (QSIC'09). IEEE, p. 432-437, 2009.

JURISTO, N.; MORENO, A. Basics of Software Engineering Experimentation. Springer

Publishing Company, Incorporated, 2010.

163

JURISTO, N.; MORENO, A. M.; VEGAS, S. Reviewing 25 Years of Testing Technique

Experiments. Empirical Software Engineering, v. 9, n. 1, p. 7-44, 2004.

JURISTO, N.; VEGAS, S. The Role of Non-Exact Replications in Software Engineering

Experiments. Empirical Software Engineering, v. 16, n. 3, p. 295-324, 2011.

KASURINEN, J. Elaborating Software Test Processes and Strategies. In: 3rd International

Conference on Software Testing, Verification and Validation (ICST). IEEE, p. 355-358, 2010.

KASURINEN, J.; TAIPALE, O.; SMOLANDER, K. Analysis of Problems in Testing

Practices. In: Asia-Pacific Software Engineering Conference, (APSEC'09). IEEE, p. 309-315,

2009.

KIM, C. K.; MOON, Y.; FIFE, E.; LEE, S. Content Analysis of Mobile Applications from the

Top 100 Global Brands. In: 10th International Conference on Mobile Business (ICMB).

IEEE, p. 340-344, 2011.

KIM, H.; CHOI, B.; WONG, W. Performance Testing of Mobile Applications at the Unit Test

Level. In: 3rd International Conference on Secure Software Integration and Reliability

Improvement (SSIRI). IEEE, p. 171-180, 2009.

KITCHENHAM, B. A.; PFLEEGER, S. L.; PICKARD, L. M.; JONES, P. W.; HOAGLIN, D.

C.; EMAM, K. E.; ROSENBERG, J. Preliminary Guidelines for Empirical Research in

Software Engineering. IEEE Trans. Softw. Eng., v. 28, n. 8, p. 721-734, 2002.

KIVI, A. Measuring Mobile User Behavior and Service Usage: Methods, Measurement

Points, and Future Outlook. In: 6th Proceedings of the Global Mobility Roundtable (GMR), p.

1-2, Los Angeles, USA, 2007.

KOOMEN, T.; POL M. Test Process Improvement: A Practical Step-by-Step Guide to

Structured Testing. Addison-Wesley Professional, 1999.

LARSSON, D.; BERTILSSON, H.; FELDT, R. Challenges and Solutions in Test Staff

Relocations Within a Software Consultancy Company. In: 1st International Conference on

Software Testing, Verification, and Validation. IEEE, p. 423-431, 2008.

164

LEE, V.; SCHNEIDER, H.; SCHELL, R. Aplicações Móveis: Arquitetura, Projeto e

Desenvolvimento. Tradução: Amaury Bentes e Deborah Rudiger. São Paulo. Pearson

Education do Brasil, 2005.

LI, F.; MA, W.; CHAO, A. Architecture Centric Approach to Enhance Software Testing

Management. In: 8th International Conference on Intelligent Systems Design and

Applications (ISDA'08). IEEE, p. 654-659, 2008.

LIU, Z.; GAO, X.; LONG, X. Adaptive Random Testing of Mobile Application. In: 2nd

International Conference on Computer Engineering and Technology (ICCET). IEEE, v. 2, p.

297-301, 2010.

MACHADO, C. B.; FREITAS, H. Planejamento de Iniciativas de Adoção de Tecnologias

Móveis. Revista GEPROS, ano 4, n. 1, p. 101-115, jan/mar., 2009. Disponível em

<http://www.ea.ufrgs.br/professores/hfreitas/files/artigos/2009/2009_gepros_cbm_hf_planeja

m_tecn_moveis.pdf>. Acesso em: 01 mar. 2012.

MAHMOUD, Q. H.; POPOWICZ, P. Toward a Framework for the Discovery and

Acquisition of Mobile Applications. In: 9th International Conference on Mobile Business and

9th Global Mobility Roundtable (ICMB-GMR). IEEE, p. 58-65, 2010.

MAO, C.; ZHANG, J. Workflow-based Testing Process Management of Software Project.

In: International Conference on Wireless Communications, Networking and Mobile

Computing (WiCom). IEEE, p. 4950-4953, 2007.

METTE, A.; HASS, J. Testing Processes. In: International Conference on Software Testing,

Verification and Validation (ICST). IEEE, p. 321-327, 2008.

MONTEIRO, R. W.; SIZO, A.; VINICIUS, T.; GUIMARÀES, L. F.; MARTINS, C. R. L.;

SALES, E.; REIS, C. A. L. Uma Experiência de Implantação de Processo de Testes - Caso

PRODEPA. In: IX Simpósio Brasileiro de Qualidade de Software (SBQS), 2010.

MONTGOMERY, D. C.; RUNGER, G. C. Estatística Aplicada e Probabilidade para

Engenheiros. 4 ed. Norwell, MA, USA: LTC, 2009.

165

MIZOUNI, R.; SERHANI, A.; DSSOULI, R.; BENHARREF, A. Challenges in “Mobilizing”

Desktop applications: a New Methodology for Requirements Engineering. In: International

Conference on Innovations in Information Technology, (IIT'09). IEEE, p. 225-229, 2009.

MUCCINI, H.; DI FRANCESCO, A.; ESPOSITO, P. Software Testing of Mobile

Applications: Challenges and Future Research Directions. In: 7th International Workshop on

Automation of Software Test (AST). IEEE, p. 29-35, 2012.

MYERS, G. J. The Art of Software Testing. Ed. John Wiley & Sons, Inc., Hoboken, New

Jersey, 2004.

NAYEBI, F.; DESHARNAIS, J. M.; ABRAN, A. The State of the Art of Mobile Application

Usability Evaluation. In: 25th Canadian Conference on Electrical & Computer Engineering

(CCECE). IEEE, p. 1-4, 2012.

OWASP. Open Web Application Security Project - Mobile Security Project. Disponível em:

<https://www.owasp.org/index.php/OWASP_Mobile_Security_Project>. Acesso em: 08 ago.

2012.

PALIT, R.; ARYA, R.; NAIK, K.; SINGH, A. Selection and Execution of User Level Test

Cases for Energy Cost Evaluation of Smartphones. In: 6th International Workshop on

Automation of Software Test (ACM), p. 84-90, 2011.

POCATILU, P. Testing Java ME Applications. Revista Informática Econômica, vol. 12, n. 3,

p. 147-150, 2008.

PRESSMAN, R. S. Engenharia de Software – Uma Abordagem Profissional, 7 ed., McGraw-

Hill, 2011.

QIAN, Q.; YINHUI, C.; FENG, Q.; XUESONG, Q. Workflow-Based Process Management

of Network Management Testing. In: 3rd International Symposium on Intelligent Information

Technology Application Workshops, (IITAW'09). IEEE, p. 265-268, 2009.

RADATZ, J.; GERACI, A.; KATKI, F. IEEE Standard Glossary of Software Engineering

Terminology. IEEE Std, v. 610121990, p. 121, 1990.

166

RIOS, E. Modelos de Melhoria de Processos de Teste de Software. Disponível em:

<http://www.iteste.com.br/LinkClick.aspx?fileticket=HqZPUqoWOjM%3d&tabid=1&mid=1

007>. Acesso em: 09 mar. 2013.

RIOS, E.; CRISTALLI, R.; MOREIRA FILHO, T. R. Gerenciando Projetos de Teste de

Software, Imagem Art Studio, Rio de Janeiro, 2011.

RODRIGUES, A.; PINHEIRO, P. R.; ALBUQUERQUE, A. The Definition of a Testing

Process to Small-Sized Companies: The Brazilian Scenario. In: 7th International Conference

on the Quality of Information and Communications Technology (QUATIC). IEEE, 2010.

RUIZ, I. J. M.; NAGAPPAN, M.; ADAMS, B.; HASSAN, A. E. Understanding Reuse in the

Android Market. In: 20th International Conference on Program Comprehension (ICPC).

IEEE, p. 113-122, 2012.

SANZ, A.; GARCIA, J.; SALDANA, J.; AMESCUA, A. A Proposal of a Process Model to

Create a Test Factory. In: Workshop on Software Quality (WOSQ). IEEE, p. 65-70, 2009.

SATYANARAYANAN, M. Fundamental Challenges in Mobile Computing. In: 15th Annual

ACM Symposium on Principles of Distributed Computing. ACM, p. 1-7, 1996.

SHE, S.; SIVAPALAN, S.; WARREN, I. Hermes: A Tool for Testing Mobile Device

Applications. In: Australasian Software Engineering Conference (ASWEC). IEEE, p. 121-

130, 2009.

STEUER, F.; ELKOTOB, M.; ALBAYRAK, S.; STEINBACH, A. Testbed for Mobile

Network Operator Scenarios. In: 2nd International Conference on Testbeds and Research

Infrastructures for the Development of Networks and Communities (TRIDENTCOM). IEEE,

p. 256-265, 2006.

SOFTEX, “MPT.BR – Melhoria do Processo de Teste Brasileiro”, Guia Geral, V2.0., Recife,

Softex, 2011.

SOFTEX, “MPS.BR – Melhoria de Processo de Software Brasileiro”, Guia Geral, V1.2., Rio

de Janeiro, Softex, 2007.

167

THOMPSON, H. S. XML Schema Part 1: Structures Second Edition. W3C Recommendation

28 October 2004. Disponível em: <http://www.w3.org/TR/xmlschema-1/>

TIAN J. Software Quality Engineering: Testing, Quality Assurance and Quantifiable

Improvement. Wiley, 2005.

TRAVASSOS, G. H.; BARROS, M. Contributions of in Virtuo and in Silico Experiments for

the Future of Empirical Studies in Software Engineering. In: 2nd International Workshop The

Future of Empirical Studies in Software Engineering, v. 2, p. 117–130, Roman Castles, Italy.

ISBN 3-8167-6418-5, 2003.

VÄLIMÄKI, T. Test Automation in Symbian Smartphone Development. Presentation.

SysOpen Digia Plc, 2006. Disponível em:

<http://www.tol.oulu.fi/projects/wg4/minutes/Test_Automation_Symbian1.ppt>. Acesso em:

08 mai. 2013.

VAN VEENENDAAL, E. Test Maturity Model integration (TMMi), version 1.0. TMMi

Foundation (www.tmmi.org), 2008.

VERKASALO, H. Analysis of Smartphone User Behavior. In: 9th International Conference

on Mobile Business and 9th Global Mobility Roundtable (ICMB-GMR). IEEE, p. 258-263,

2010.

WEBER, K. C.; ROCHA, A. R.; ALVES, A.; AYALA, A. M.; GONÇALVES, A.; PARET,

B.; SALVIANO, C.; MACHADO, C. F.; SCALET, D.; PETIT, D.; ARAÚJO, E.;

BARROSO, M. G.; OLIVEIRA, K.; OLIVEIRA, L. C. A.; AMARAL, M. P.; CAMPELO, R.

E. C.; MACIEL, T. Modelo de Referência para Melhoria de Processo de Software: uma

abordagem brasileira. In: XXX Conferência Latino-Americana de Informática (CLEI2004), v.

30, 2004.

WEISS, S. Handheld Usability. John Wiley & Sons, 2003.

WOHLIN, C.; RUNESON, P.; HUST, M.; OHLSSON, M. C.; REGNELL, B.; WESSLUN,

A. Experimentation in Software Engineering: An Introduction. Norwell, MA, USA: Kluwer

Academic Publishers, 2000.

168

ZHANG, D.; ADIPAT, B. Challenges, Methodologies, and Issues in the Usability Testing of

Mobile Applications. International Journal of Human-Computer Interaction, v. 18, n. 3, p.

293-308, 2005.

ZEIDLER, C.; KITTL, C.; PETROVIC, O. An Integrated Product Development Process for

Mobile Software. In: International Journal of Mobile Communications, v. 6, n. 3, p. 345-356,

2008.

ZELKOWITZ, M. V.; WALLACE, D. R.; BINKLEY, D. W. Experimental Validation of

New Software Technology. Lecture Notes on Empirical Software Engineering, v. 12, n. 1, p.

229-263, 2003.

169

Estudo Experimental de Viabilidade da

Abordagem TM-Aplic: Instrumentação

A.1. Considerações Iniciais

Este apêndice apresenta os principais documentos utilizados no estudo experimental de

viabilidade da abordagem TM-Aplic (Capítulo 3). Tais documentos são apresentados

obedecendo à seguinte ordem:

1. Termo de Adesão ao Estudo Experimental;

2. Questionário de Caracterização do Participante;

3. Memorial Descritivo;

4. Questionário sobre a Viabilidade da Abordagem TM-Aplic;

A

Apêndice

170

Termo de Adesão ao Estudo Experimental

“Estudo Experimental de Viabilidade da Abordagem TM-Aplic”

Declaro estar ciente de participar de um estudo experimental, denominado Estudo

Experimental de Viabilidade da Abordagem TM-Aplic, a ser coordenado pelo aluno de

mestrado Marcelo Anderson Carmizini (UEM) e pelas professoras Dra. Elisa Hatsue

Moriya Huzita (UEM) e Dra. Tania Fatima Calvi Tait (UEM). Neste estudo responderei

questionários declarando minha formação, minha experiência com aplicações móveis e teste

de software e sobre a viabilidade da abordagem. Declaro estar ciente de que os resultados

coletados a meu respeito (perfil) serão divulgados como parte do estudo de forma anônima.

Declaro, também, estar ciente de que as informações obtidas/produzidas neste estudo podem

ser divulgadas/publicadas única e exclusivamente pelo coordenador deste estudo. Finalmente,

estou ciente de que não receberei nenhum benefício/pagamento pela participação neste

estudo, além do conhecimento adquirido contribuindo com a minha formação profissional.

* O campo ID do Participante não precisa ser preenchido, pois é exclusivo do coordenador

do experimento.

Nome do Participante ID do

Participante Assinatura Local e Data

_________________

_____________________

Cidade, Estado – País

____/____/______ Data

Hora de Início

__ __:__ __

171

Questionário de Caracterização do Participante

“Estudo Experimental de Viabilidade da Abordagem TM-Aplic”

ID do Participante

Nas perguntas a seguir, quando duas ou mais alternativas forem válidas, marque a alternativa

que mais se aplica ao seu caso.

1. Qual o seu nível de formação?

[ ] Superior Incompleto

[ ] Superior Completo

[ ] Pós-Graduação Incompleto – lato sensu (Especialização)

[ ] Pós-Graduação Completo – lato sensu (Especialização)

[ ] Pós-Graduação Incompleto – stricto sensu (Mestrado, Doutorado)

[ ] Pós-Graduação Completo – stricto sensu (Mestrado, Doutorado)

2. Qual a sua experiência com aplicações móveis em relação aos fatores que

caracterizam o ambiente móvel: i) contexto móvel (limitações dos modelos de

dispositivos), ii) usuário de dispositivo móvel (mobilidade) e iii) peculiaridades das

aplicações (características particulares de qualidade, por exemplo, compatibilidade

entre diferentes hardwares e sistemas operacionais, conectividade, segurança e entre

outros)?

[ ] Nenhuma experiência.

Desconheço os fatores que envolvem as aplicações móveis.

[ ] Minha experiência é básica.

Já li, de forma superficial, algo a respeito sobre aplicações móveis, mas não conheço os

fatores envolvidos.

[ ] Minha experiência é moderada.

Eu conheço alguns fatores apenas no que se refere ao fator peculiaridades das aplicações,

pois desenvolvo aplicações móveis para uso pessoal.

172

[ ] Minha experiência é avançada.

Eu conheço todos os fatores do ambiente móvel e sei como eles podem impactar na

qualidade das aplicações móveis, pois participo ativamente de projetos de desenvolvimento

de aplicações comerciais.

[ ] Sem Resposta.

3. Qual a sua experiência com o teste de software em relação às áreas de processo

relacionadas ao planejamento, projeto e execução dos testes?

[ ] Nenhuma experiência.

Desconheço o teste de software e suas áreas de processo.

[ ] Minha experiência é básica.

Já li, de forma superficial, algo a respeito sobre o teste de software (técnicas, tipos, fases),

mas não conheço as áreas de processo.

[ ] Minha experiência é moderada.

Eu conheço a área de processo relacionada à execução dos testes, pois aplico testes de

unidade nas aplicações (softwares) que desenvolvo, mas não conheço as outras áreas de

processo.

[ ] Minha experiência é avançada.

Eu conheço as áreas de processo de teste de software, pois já atuei em projetos que

abordavam o teste de software como um processo.

[ ] Sem Resposta.

Assinatura do Participante Local e Data

___________________________

_____________________

Cidade, Estado – País

____/____/______ Data

173

Memorial Descritivo

“Estudo Experimental de Viabilidade da Abordagem TM-Aplic”

Em comparação com softwares tradicionais, as aplicações móveis apresentam características

de qualidade relacionadas principalmente aos fatores que constituem o ambiente móvel e,

portanto, impactam diretamente na maneira de desenvolver e testar as aplicações.

Os 3 (três) principais fatores de impacto são: i) contexto móvel (limitações dos

modelos de dispositivos), ii) usuário de dispositivo móvel (mobilidade) e iii) aplicação

móvel (características particulares de qualidade, por exemplo: compatibilidade entre

diferentes hardwares e sistemas operacionais, conectividade, segurança e entre outros). Assim

sendo, diante da preocupação com a qualidade das aplicações móveis, torna-se um desafio

fornecer aplicações que satisfaçam as reais necessidades dos usuários, além de serem corretas,

seguras e confiáveis. Além disso, embora as aplicações móveis sejam desenvolvidas em

plataformas e linguagens já existentes, os desenvolvedores não apresentam grande

familiaridade com as particularidades das aplicações, tornando os softwares propensos as

falhas.

Dessa forma, a abordagem de testes para aplicações móveis é proposta, chamada de

TM-Aplic, visa estabelecer uma metodologia sistemática de testes que combine boas práticas

de planejamento, projeto e execução de testes com as necessidades e particularidades das

aplicações móveis, em termos de tarefas, artefatos e papéis, de maneira que contribua para a

qualidade do produto final.

A descrição gráfica do diagrama da abordagem foi realizada por meio da notação para

a modelagem de processos de negócios BPMN (Business Process Modeling Notation),

mantida pelo Object Management Group (OMG), por entender ser uma notação de fácil

entendimento do percurso das tarefas apresentadas.

Os componentes (subprocessos, tarefas, papéis e artefatos) apresentados na abordagem

estão fundamentados pelo Nível 1 (um) de maturidade do modelo MPT.BR (Melhoria do

Processo de Teste Brasileiro), pois o modelo fornece uma série de diretrizes que, quando

implementadas de maneira coletiva, apoia as atividades de teste de software independente do

porte da empresa.

Na Figura A.1 é apresentado o diagrama da abordagem TM-Aplic, e na Tabela A.1 são

apresentados os objetos utilizados para compor o diagrama.

174

Figura A.1. Diagrama da abordagem TM-Aplic

Tabela A.1. Objetos utilizados para compor o diagrama

Figura Objeto Figura Objeto

Evento de Início Associação

Evento de Início com Mensagem

Tarefa

Evento de Término

Objeto de Dados (artefatos)

Evento de Término com Mensagem

Anotação de Texto

Decisões Pool

Fluxo de Sequência Fluxo de Mensagem

175

As Tabelas a seguir apresentam as principais características de cada tarefa da

abordagem TM-Aplic.

Tabela A.2. Tarefa: analisar produto de teste

Analisar Produto de Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório de Análise do Produto

Descrição

Identificar as principais áreas de risco da aplicação móvel. Alguns riscos

identificados e que serve de base para qualquer aplicação móvel: i) a aplicação pode

não funcionar em determinados modelos de dispositivos móveis; ii) a aplicação

pode ser rejeitada pelos usuários; iii) a aplicação pode falhar em ambientes externos

devido à mobilidade; e iv) a aplicação pode prejudicar o funcionamento correto dos

serviços e/ou aplicações existente no dispositivo móvel. Para cada risco, planos de

mitigação devem ser identificados.

Tabela A.3. Tarefa: estabelecer objetivos do teste

Estabelecer Objetivos do Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório de Objetivos do Teste

Descrição

Determinar o propósito da realização do teste da aplicação móvel. Entre os

vários objetivos identificados, 2 (dois) merecem destaque: i) definir critérios

de aceitação da aplicação móvel pelo usuário final, por exemplo, usabilidade,

desempenho, bateria, funções do dispositivo, custo de dados para conexões e

aplicações, rotina do usuário, estilo de vida do usuário; e ii) definir

características de qualidade que a aplicação deve contemplar, por exemplo,

autonomia, conectividade (rede), limitação de recursos, touch screen e entre

outras.

176

Tabela A.4. Tarefa: definir estratégia de teste

Definir Estratégia de Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório da Estratégia de Teste

Descrição

Identificar como o teste será conduzido com base na análise do produto e nos

objetivos do teste. Algumas características devem ser analisadas para

compor a estratégia de testes para aplicações móveis, por exemplo: definir os

critérios de qualidade, definir os tipos de testes, definir o local do teste

(emulador e/ou no dispositivo móvel), definir o ambiente do teste

(laboratório - ambiente controlado e/ou contexto móvel - ambiente externo).

Após analisada as características, deve-se associá-las com os riscos, para que

seja possível definir a melhor estratégia, a fim de evitar a ocorrência ou

reduzir os efeitos do risco.

Tabela A.5. Tarefa: definir equipe de teste

Definir Equipe de Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório da Equipe de Teste

Descrição

Compor a equipe de teste e atribuir papéis. Para a abordagem TM-Aplic,

além do gerente de testes responsável pelas atividades do planejamento,

outros 2 (dois) papéis foram selecionados: analista de testes (responsável por

identificar os casos de teste, reportar e acompanhar incidentes) e testador

(responsável por executar testes). É comum a necessidade de especialistas

em funções específicas das aplicações móveis, por exemplo, conectividade,

chamadas, mensagens, identificação pessoal do usuário (PIN), aplicações,

áudio/vídeo, multimídia e entre outros; o que pode acarretar em uma

carência técnica, devido a falta de profissionais especializados nas áreas

citadas.

177

Tabela A.6. Tarefa: definir ambiente de teste

Definir Ambiente de Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório do Ambiente de Teste

Descrição

Identificar o ambiente necessário para os testes da aplicação móvel, o qual

deve ser caracterizado como um ambiente dinâmico. Além dos modelos de

dispositivos móveis necessários para o teste (por exemplo, um modelo

específico de dispositivo), a estrutura do ambiente dinâmico deve favorecer a

liberdade no uso do dispositivo móvel, pois é essencial que a pessoa que

estiver operando a aplicação sinta-se à vontade para segurar o aparelho e

usá-lo da maneira que mais o agrada, resultando em dados mais reais para as

análises do teste. Além disso, pode-se desenvolver um documento que

apresente as características dos dispositivos homologados, a fim de controlar,

com maior precisão, os modelos que passaram pelo teste. As características

podem estar relacionadas com a marca, modelo, sistema operacional, se

possui teclado físico ou não e entre outros. Esses dispositivos devem estar

relacionados com a versão da aplicação móvel.

Tabela A.7. Tarefa: estabelecer plano de teste

Estabelecer Plano de Teste

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Plano de Teste

Descrição Identificar uma estrutura formal para organizar e consolidar todas as

informações produzidas pelas tarefas (anteriores) do planejamento de testes.

178

Tabela A.8. Tarefa: planejar os artefatos e dados

Planejar os Artefatos e Dados

Subprocesso Planejamento de Teste

Responsável Gerente de Teste

Artefato Relatório de Informações Gerais

Descrição

Gerenciar todas as informações documentadas ao longo das tarefas de teste,

no que se refere à coleta, armazenamento e distribuição de artefatos. As

aplicações móveis apresentam características similares entre si e, portanto, as

informações registradas nos artefatos podem ser reaproveitadas para o teste

de outras aplicações. Essa prática pode apoiar as empresas na divulgação de

informações relacionadas com os artefatos gerados durante o teste, criando

uma cultura de teste para permitir que algumas tarefas possam ser executadas

por membros da equipe que não tem experiência na área, no caso de alguma

situação de carência técnica. Com o auxílio do analista de testes, o gerente

deve restaurar as configurações utilizadas nos dispositivos, além de

apresentar as informações gerais na reunião final, por exemplo, casos de

teste identificados, executados, incidentes, cronogramas e entre outros.

Tabela A.9. Tarefa: identificar casos de teste

Identificar Casos de Teste

Subprocesso Projeto e Execução de Teste

Responsável Analista de Testes

Artefato Caso de Teste

Descrição

Com base no Relatório de Análise do produto, identificar situações em que a

aplicação móvel possa reagir incorretamente às possíveis entradas. Por

entender que as técnicas de caixa-branca consomem muito recursos dos

dispositivos, impactando na execução normal da aplicação, considera-se a

técnica de teste caixa-preta para a geração de casos de teste, na qual as

informações de entrada e saída devem ser consideradas. As entradas estão

divididas em duas principais categorias: as fornecidas pelo usuário por meio

de uma interface gráfica (eventos de teclado e toque) e o contexto ambiental.

O contexto ambiental divide-se em: contexto físico e contexto social. O

contexto físico é obtido a partir das características físicas do dispositivo

móvel, por exemplo: os receptores de GPS, sensores de Bluetooth, sensores

de acelerômetro, sensores magnéticos, sensores de umidade e sensores de

rede. O contexto social está relacionado com as atividades realizadas pelo

usuário no momento de operar a aplicação móvel, por exemplo: estar em

uma reunião, comportamento do usuário (humor). Dessa forma, a aplicação

móvel deve considerar as variações de entrada, de modo a produzir as saídas

adequadas. As saídas podem ser apresentadas de várias formas, como:

exibição de imagens, vídeo, áudio, vibração, sinais de LED.

179

Tabela A.10. Tarefa: executar testes

Executar Testes

Subprocesso Projeto e Execução de Teste

Responsável Testador

Artefato Relatório de Execução

Descrição

Executar os casos de teste elaborados, além de envolver a identificação e o

detalhamento dos incidentes observados durante os testes. Um incidente de

teste é a manifestação de qualquer defeito no software ou uma anomalia no

funcionamento do ambiente operacional. Após a execução do teste, deve-se

fazer uma avaliação para determinar se a execução foi suficiente, pois caso

contrário, novos casos de testes deverão ser projetados. Caso incidentes

sejam identificados, deve-se encaminhar o relatório de execução para a tarefa

de reportar incidentes, caso contrário, as tarefas de teste são finalizadas.

Tabela A.11. Tarefa: reportar incidentes

Reportar Incidentes

Subprocesso Projeto e Execução de Teste

Responsável Analista de Teste

Artefato Registro de Incidentes

Descrição

Registrar os incidentes encontrados durante a execução do teste, o qual deve

apresentar as informações observadas pelo testador, a fim de auxiliar o

desenvolvedor durante as correções.

Tabela A.12. Tarefa: acompanhar incidentes

Acompanhar Incidentes

Subprocesso Projeto e Execução de Teste

Responsável Analista de Teste

Artefato Relatório de Acompanhamento

Descrição Acompanhar o incidente até a sua correção pelo desenvolvedor responsável.

Após a correção, os casos de testes deverão ser executados novamente.

180

Questionário sobre a Viabilidade da Abordagem TM-Aplic

“Estudo Experimental de Viabilidade da Abordagem TM-Aplic”

ID do Participante

Para as questões 1 a 13, responda de acordo com a legenda apresentada na tabela

abaixo:

Variável/Valor [0] [1] [2] [3] [SR]

Concordância Discordo

Totalmente Discordo

Parcialmente Concordo

Parcialmente Concordo

Totalmente Sem

Resposta

1. Em sua opinião, a tarefa Analisar Produto de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

2. Em sua opinião, a tarefa Estabelecer Objetivos do Teste presente na abordagem

atende as necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

3. Em sua opinião, a tarefa Definir Estratégia de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

4. Em sua opinião, a tarefa Definir Equipe de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

181

5. Em sua opinião, a tarefa Definir Ambiente de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

6. Em sua opinião, a tarefa Estabelecer Plano de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

7. Em sua opinião, a tarefa Planejar os Artefatos e Dados presente na abordagem

atende as necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

8. Em sua opinião, a tarefa Identificar Casos de Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

9. Em sua opinião, a tarefa Executar Teste presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

10. Em sua opinião, a tarefa Reportar Incidentes presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

182

11. Em sua opinião, a tarefa Acompanhar Incidentes presente na abordagem atende as

necessidades das aplicações móveis (fatores do ambiente móvel)?

Concordância

[0] [1] [2] [3] SR

12. Em sua opinião, os artefatos gerados nas tarefas presentes na abordagem são

suficientes para atender as necessidades das aplicações móveis (fatores do ambiente

móvel)?

Concordância

[0] [1] [2] [3] SR

13. Em sua opinião, a padronização das tarefas e artefatos, definidos na abordagem

TM-Aplic, pode contribuir para um significativo ganho na qualidade do produto

final?

Concordância

[0] [1] [2] [3] SR

14. Você visualiza tarefas e/ou artefatos adicionais que devem ser contemplados pela

abordagem? Se sim, quais?

( ) Sim ( ) Não

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

___________________________________________________________________________

Hora de Término

__ __:__ __

Obrigado pela sua colaboração!

183

Templates para os Artefatos

B.1. Considerações Iniciais

Este apêndice apresenta os templates para os artefatos gerados pelas tarefas da abordagem

TM-Aplic proposta no Capítulo 3, além dos respectivos arquivos no formato XSD (XML

Schema Definition).

O arquivo XSD tem por objetivo descrever a estrutura e restringir o conteúdo de um

documento XML (eXtensible Markup Language). Os componentes utilizados são definidos

em termos das suas propriedades, e cada propriedade define os valores que são possíveis. Para

um melhor entendimento, pode-se fazer uma analogia com a definição de esquema de um

grafo direcionado rotulado, no qual a raiz é um esquema, todos os vértices são componentes

do esquema e cada aresta rotulada é uma propriedade (Thompson, 2004).

O objetivo dos arquivos XSD para a abordagem TM-Aplic é a possível integração com

alguma ferramenta de apoio, pois os artefatos gerados devem ser validados para que

apresentem as informações abordadas nesse trabalho.

B

Apêndice

184

B.2. Relatório de Análise do Produto

O template para o Relatório de Análise do Produto é apresentado no Quadro B.1 e o arquivo

de validação na Figura B.1.

Quadro B.1. Template para o relatório de análise do produto

RELATÓRIO DE ANÁLISE DO PRODUTO

Identificador:

Gerente de Teste:

Nome da Aplicação:

Tipo da Aplicação:

Versão da Aplicação:

Descrição da Aplicação:

Risco(s) Plano(s) de Mitigação

Figura B.1. Arquivo de validação para o relatório de análise do produto

185

B.3. Relatório de Objetivos do Teste

O template para o Relatório de Objetivos do Teste é apresentado no Quadro B.2 e o arquivo

de validação na Figura B.2.

Quadro B.2. Template para o relatório de objetivos do teste

RELATÓRIO DE OBJETIVOS DO TESTE

Identificador:

Gerente de Teste:

Nome da Aplicação:

Objetivo(s):

Figura B.2. Arquivo de validação para o relatório de objetivos do teste

186

B.4. Relatório da Estratégia de Teste

O template para o Relatório da Estratégia de Teste é apresentado no Quadro B.3 e o arquivo

de validação na Figura B.3.

Quadro B.3. Template para o relatório da estratégia de testes

RELATÓRIO DA ESTRATÉGIA DE TESTES

Identificador:

Gerente de Teste:

Nome da Aplicação:

Riscos Critérios Tipos de Teste Local Ambiente

Figura B.3. Arquivo de validação para o relatório da estratégia de testes

187

B.5. Relatório da Equipe de Teste

O template para o Relatório da Equipe de Teste é apresentado no Quadro B.4 e o arquivo de

validação na Figura B.4.

Quadro B.4. Template para o relatório da equipe de testes

RELATÓRIO DA EQUIPE DE TESTES

Identificador:

Gerente de Teste:

Nome da Aplicação:

Analista de Testes:

Testador:

Especialista: ( ) Não ( ) Sim - Qual (is):

Treinamento: ( ) Não ( ) Sim - Qual (is):

Figura B.4. Arquivo de validação para o relatório da equipe de teste

188

B.6. Relatório do Ambiente de Teste

O template para o Relatório do Ambiente de Teste é apresentado no Quadro B.5 e o arquivo

de validação na Figura B.5.

Quadro B.5. Template para o relatório do ambiente de testes

RELATÓRIO DO AMBIENTE DE TESTES

Identificador:

Gerente de Teste:

Nome da Aplicação:

Hardware:

Modelo Dispositivo Móvel:

Software:

Emulador:

Requisitos para Testes em Campo:

Figura B.5. Arquivo de validação para o relatório do ambiente de testes

189

B.7. Estabelecer Plano de Teste

O template para o Plano de Teste é apresentado no Quadro B.6. Como o Plano de Teste é a

união das tarefas anteriores realizadas pelo planejamento, o arquivo de validação será

omitido, por entender que os componentes utilizados no arquivo ficarão idênticos aos

arquivos de validação anteriores. Para a construção do arquivo de validação para o artefato

plano de testes, basta unir os arquivos das tarefas anteriores.

Quadro B.6. Template para o plano de teste

PLANO DE TESTES

Identificador:

Gerente de Teste:

Nome da Aplicação:

Tipo da Aplicação:

Versão da Aplicação:

Descrição da Aplicação:

Risco(s) Plano(s) de Mitigação

Objetivos:

Riscos Critérios Tipos de Teste Local Ambiente

Analista de Testes:

Testador:

Especialista: ( ) Não ( ) Sim - Qual (is):

Treinamento: ( ) Não ( ) Sim - Qual (is):

Hardware:

Dispositivo Móvel:

Software:

Emulador:

Requisitos para Testes em Campo:

Cronograma:

190

B.8. Planejar os Artefatos e Dados

O template do relatório de Observações Gerais do Teste resultante da tarefa Planejar os

Artefatos e Dados é apresentado no Quadro B.7 e o arquivo de validação na Figura B.6.

Quadro B.7. Template para as observações gerais do teste

OBSERVAÇÕES GERAIS DO TESTE

Identificador:

Plano de Testes:

Gerente de Teste:

Data Início: Data Fim:

Casos de Teste Identificados:

Casos de Teste Executados:

Incidentes Rejeitados:

Incidentes Adiados:

Incidentes Corrigidos:

Conclusão:

Melhorias Observadas:

191

Figura B.6. Arquivo de validação para o relatório de observações gerais do teste

192

B.9. Identificar Caso de Teste

O template para os Casos de Teste é apresentado no Quadro B.8 e o arquivo de validação na

Figura B.7.

Quadro B.8. Template para os casos de teste

CASO DE TESTE

Identificador:

Analista de Teste:

Nome da Aplicação:

Plano de Testes:

Objetivo:

Condições Iniciais:

Entradas:

Usuário (interface gráfica):

Contexto Ambiental:

Resultado Esperado:

Figura B.7. Arquivo de validação para o caso de teste

193

B.10. Executar Teste

O template para o Relatório de Execução é apresentado no Quadro B.9 e o arquivo de

validação na Figura B.8.

Quadro B.9. Template para o relatório de execução do teste

RELATÓRIO DE EXECUÇÃO

Identificador:

Testador:

Data/Hora:

Duração da Execução:

Casos de Testes Executados:

Resultado da Execução:

Incidente Identificado:

Figura B.8. Arquivo de validação para o relatório de execução do teste

194

B.11. Reportar Incidentes

O template para o Registro de Incidentes é apresentado no Quadro B.10 e o arquivo de

validação na Figura B.9.

Quadro B.10. Template para o registro de incidente

REGISTRO DE INCIDENTE

Identificador:

Analista de Teste:

Relatório de Execução:

Condições Iniciais:

Resultados Esperados:

Resultados Atuais:

Incidente:

Data/Hora:

Passos do Procedimento:

Frequência de Ocorrência: ( ) Sistemático ( ) Aleatório ( ) Apenas uma vez

Ambiente:

Tentativas de Repetição:

Observadores:

Impacto:

195

Figura B.9. Arquivo de validação para o registro de incidente

196

B.12. Acompanhar Incidentes

O template para o Relatório de Acompanhamento de Incidentes é apresentado no Quadro

B.11 e o arquivo de validação na Figura B.10.

Quadro B.11. Template para o relatório de acompanhamento de incidentes

RELATÓRIO DE ACOMPANHAMENTO DE INCIDENTES

Identificador:

Analista de Teste:

Incidente:

Descrição:

Prioridade: ( ) Baixa ( ) Média ( ) Alta

Parecer do Desenvolvedor:

Ação: ( ) Rejeitar ( ) Adiar ( ) Corrigir

Figura B.10. Arquivo de validação para o relatorio de acompanhamento de incidente