Você está na página 1de 161

SELEO DE ABORDAGENS DE TESTE PARA APLICAES WEB

Silvia Lopes Santa Isabel

Dissertao

de

Mestrado

apresentada

ao

Programa de Ps-Graduao em Engenharia de


Sistemas

Computao,

COPPE,

da

Universidade Federal do Rio de Janeiro, como


parte dos requisitos necessrios obteno do
ttulo de Mestre em Engenharia de Sistemas e
Computao.

Orientador: Guilherme Horta Travassos

Rio de Janeiro
Julho de 2011

SELEO DE ABORDAGENS DE TESTE PARA APLICAES WEB

Silvia Lopes Santa Isabel

DISSERTAO SUBMETIDA AO CORPO DOCENTE DO INSTITUTO ALBERTO LUIZ


COIMBRA DE PS-GRADUAO E PESQUISA DE ENGENHARIA (COPPE) DA
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISITOS
NECESSRIOS PARA A OBTENO DO GRAU DE MESTRE EM CINCIAS EM
ENGENHARIA DE SISTEMAS E COMPUTAO.

Examinada por:

________________________________________________
Prof. Guilherme Horta Travassos, D.Sc.

________________________________________________
Profa. Cludia Maria Lima Werner, D.Sc.

________________________________________________
Profa. Silvia Regina Vergilio, D.Sc.

RIO DE JANEIRO, RJ BRASIL


JULHO DE 2011

Santa Isabel, Silvia Lopes


Seleo de Abordagens de Teste para Aplicaes Web/
Silvia Lopes Santa Isabel. Rio de Janeiro: UFRJ/COPPE,
2011.
XIII, 147 p.: il.; 29,7 cm.
Orientador: Guilherme Horta Travassos.
Dissertao (Mestrado) UFRJ/COPPE/Programa de
Engenharia de Sistemas e Computao, 2011.
Referncias Bibliogrficas: p. 108-114.
1. Teste de Software. Abordagens de Teste para
Aplicaes Web. 3. Seleo de Tecnologias de Software. 4.
Engenharia

de

Software

Experimental.

I.

Travassos,

Guilherme Horta II. Universidade Federal do Rio de Janeiro,


COPPE,

Programa

de

Engenharia

Computao. III. Ttulo.

iii

de

Sistemas

Aos meus pais, minha irm e ao meu amor.

iv

Agradecimentos
Agradecer bom e necessrio. Dedico o meu reconhecimento inicial ao apoio e
solidariedade das pessoas que sempre estiveram ao meu lado. A todos aqueles que
me inspiraram e estimularam para que eu pudesse alcanar esse objetivo.
Em especial, agradeo a aqueles que mais amo e que mais me fazem sentir
amada: minha Me, Rosimar, meu Pai, Marinu, minha Irm, Simone e meu namorado
Marcos. Eu simplesmente no teria conseguido sem a pacincia, compreenso e
incentivo de vocs. Agradeo tambm a toda a minha famlia e aos meus amigos
queridos, dos quais subtra parte do nosso tempo de convvio, mas em favor de uma
boa causa. Alm deles, somo meu reconhecimento:
Ao meu gerente e amigo Marcus Estrella pela liberao, apoio e incentivo.
Ao meu Orientador, Guilherme Travassos, pela oportunidade e pela orientao
durante todo este perodo.
Aos Companheiros da COPPE, especialmente aqueles que ingressaram nessa
jornada junto comigo, Rafael, Wallace e aos mineirinhos Marcelo e Natlia.
A todo o grupo de Engenharia de Software Experimental, especialmente Arilo,
Jobson e Rodrigo, a ajuda de vocs foi fundamental para a realizao deste trabalho.
Ao aluno Thiago pelo apoio na publicao do survey.
Taisa, sempre atenciosa e prestativa.
s professoras Claudia Werner e Silvia Verglio por participarem de minha
banca de defesa de mestrado.

Resumo da Dissertao apresentada COPPE/UFRJ como parte dos requisitos


necessrios para a obteno do grau de Mestre em Cincias (M.Sc.)

SELEO DE ABORDAGENS DE TESTE PARA APLICAES WEB

Silvia Lopes Santa Isabel

Julho/2011

Orientador: Guilherme Horta Travassos

Programa: Engenharia de Sistemas e Computao

Este trabalho apresenta uma instncia especializada do procedimento Porantim,


denominada Porantim-WAT, para apoiar a seleo de tcnicas de teste para projetos
de software Web, organizada com apoio de uma metodologia baseada em evidncia,
que utiliza um repositrio de conhecimento com as informaes que caracterizam as
abordagens de teste para aplicaes Web (WAT) e um mecanismo que avalia o grau
de adequao entre as abordagens e as caractersticas de um projeto de software
Web. Neste sentido, alm de uma reviso informal da literatura que permitiu identificar
os principais conceitos associados s aplicaes Web, apresentada a proposta e
avaliao de uma estrutura de caracterizao de abordagens de teste para aplicaes
Web organizada a partir dos resultados obtidos atravs de uma quasi-reviso
sistemtica e avaliada por um survey realizado com pesquisadores da rea. Ao final,
apresentada a adaptao de uma infra-estrutura computacional para apoiar o
procedimento de seleo proposto.

vi

Abstract of Dissertation presented to COPPE/UFRJ as a partial fulfillment of the


requirements for the degree of Master of Science (M.Sc.)

SELECTION OF TESTING APPROACHES FOR WEB APPLICATION

Silvia Lopes Santa Isabel

July/2011

Advisor: Guilherme Horta Travassos

Department: Computer Science and Systems Engineering

This work presents a proposal extending an approach developed to support the


selection of web application testing (WAT) approaches, named Porantim-WAT. It has
been developed by following an evidence-based scientific methodology, which uses a
body of knowledge providing a set of information concerned with Web application
testing approaches and a mechanism supporting the evaluation of the adequacy level
between the WAT approaches and Web software project characteristics. Besides an
informal review of the literature which identified the WAT approaches main concepts, it
was also presented the proposal and evaluation of a testing characterization structure
for WAT approaches organized based on the results of a quasi-systematic review. Such
characterization strucuture was assessed through a survey performed with researchers.
Using this knowledge set, a computational infrastructure was tailored to support the
proposed selection approach. A proof of concept into the context of an industrial web
application is then presented.

vii

NDICE

CAPTULO 1 - INTRODUO ....................................................................................... 1


1.1 Motivao ................................................................................................................ 1
1.2 Objetivo da Dissertao........................................................................................... 2
1.3 Metodologia de Pesquisa ........................................................................................ 3
1.4 Organizao da Dissertao ................................................................................... 5
CAPTULO 2 - ABORDAGENS DE TESTE PARA APLICAES WEB........................ 8
2.1 Evoluo Histrica das Aplicaes Web ................................................................. 8
2.2 Definio.................................................................................................................. 8
2.3 Categorias de aplicaes Web .............................................................................. 10
2.4 Diferenas entre aplicaes convencionais e aplicaes Web ............................. 11
2.5 Engenharia das Aplicaes Web........................................................................... 12
2.6 Processo de Teste das Aplicaes Web ............................................................... 15
2.6.1 Nveis de Teste........................................................................................ 15
2.6.2 Tcnicas de Teste e Critrio de Cobertura .............................................. 16
2.6.3 Caractersticas de Qualidade .................................................................. 18
2.7 Quasi Reviso Sistemtica.................................................................................... 23
2.7.1 Introduo................................................................................................ 23
2.7.2 Planejamento da Reviso........................................................................ 24
2.7.2.1 Questo de Pesquisa .............................................................................. 24
2.7.2.2 PICO ........................................................................................................ 25
2.7.2.3 Palavras Chaves...................................................................................... 26
2.7.2.4 Definio das mquinas de busca........................................................... 26
2.7.2.5 Expresso de Busca................................................................................ 27
2.7.2.6 Critrios de Incluso e Excluso de Artigos ............................................ 27
2.7.2.7 Procedimentos de seleo ...................................................................... 28
2.7.2.8 Questes Secundrias ............................................................................ 29
2.7.2.9 Extrao de Informaes......................................................................... 32
2.7.3 Execuo da Reviso .............................................................................. 32
2.7.3.1 Ameaas Validade................................................................................ 38
2.7.4 Anlises dos Resultados ......................................................................... 38
2.8 Consideraes Finais do Captulo......................................................................... 45
CAPTULO 3 - ESTRUTURA PARA A CARACTERIZAO DE ABORDAGENS DE
TESTE DE APLICAES WEB .............................................................. 46

viii

3.1 Introduo.............................................................................................................. 46
3.2 Trabalhos Relacionados ........................................................................................ 47
3.2.1 Corpo de Conhecimento de tcnicas de teste de software (V&B2005)... 47
3.2.2 Corpo de Conhecimento de abordagens para MBT (DIAS NETO 2009) 48
3.3 Definio de um corpo de conhecimento para abordagens WAT ......................... 50
3.4 Survey de avaliao da estrutura .......................................................................... 53
3.4.1 Objetivo.................................................................................................... 53
3.4.2 Questes de Pesquisa............................................................................. 53
3.4.3 Execuo ................................................................................................. 58
3.4.4 Anlise dos Resultados ........................................................................... 60
3.5 Consideraes Finais do Captulo......................................................................... 68
CAPTULO 4 - PORANTIM-WAT - PROCEDIMENTO PARA APOIAR A SELEO DE
ABORDAGENS DE TESTE PARA PROJETOS DE SOFTWARE WEB . 70
4.1 Introduo.............................................................................................................. 70
4.2 Porantim: Procedimento de apoio para seleo de tecnologias............................ 71
4.2.1 Viso Geral .............................................................................................. 71
4.3 Porantim-WAT: Adaptao de Procedimento para apoiar a seleo de abordagens
de teste para projetos Web........................................................................................... 73
4.3.1 Adaptao da etapa Caracterizar Projeto ............................................. 76
4.3.2 Adaptao da etapa Calcular o Grau de Adequao ............................ 78
4.3.3 Adaptao da etapa Indicar Abordagens WAT mais Adequadas ......... 82
4.3.4 Adaptao da etapa Selecionar Abordagens WAT para Projeto de
Software Web ......................................................................................... 82
4.3.5 Adaptao da etapa Analisar a Combinao das Abordagens WAT .... 82
4.3.6 Exemplo ................................................................................................... 83
4.4 Marak: Infraestrutura computacional para apoiar o procedimento Porantim-WAT..
............................................................................................................................ 87
4.4.1 Viso Geral e Evoluo ........................................................................... 87
4.4.2 Funcionalidades Adaptadas .................................................................... 89
4.4.2.1 Configurao do Corpo de Conhecimento............................................... 89
4.4.2.2 Configurao dos Parmetros adotados por Porantim-WAT................... 92
4.4.2.3 Execuo do Procedimento de Seleo das Abordagens WAT.............. 93
4.4.3 Exemplo ................................................................................................... 97
4.4.3.1 Caracterizao do Projeto ....................................................................... 97
4.4.3.2 Aplicao Porantim-WAT......................................................................... 99
4.5 Consideraes Finais do Captulo....................................................................... 101
CAPTULO 5 - CONCLUSO..................................................................................... 103

ix

5.1 Consideraes Finais .......................................................................................... 103


5.2 Contribuies....................................................................................................... 104
5.3 Limitaes............................................................................................................ 105
5.4 Perspectivas Futuras ........................................................................................... 106
REFERNCIAS BIBLIOGRFICAS ........................................................................... 108
APNDICES ............................................................................................................... 115
APNDICE A LISTA DE ARTIGOS IDENTIFICADOS NA REVISO
SISTEMTICA.............................................................................................................115
APNDICE B EVOLUO DA INFRA-ESTRUTURA COMPUTACIONAL
MARAK............................ ........................................................................................ 129
APNDICE C GLOSSRIO..................................................................................... 136

NDICE DE FIGURAS

Figura 1.1. Metodologia de Pesquisa adotada (SPNOLA et al., 2008).........................03


Figura 1.2. Metodologia de Pesquisa Fase de Concepo (SPNOLA et al., 2008)...04
Figura 2.1. Categorias de Aplicaes Web (Adaptado de KAPPEL, 2004)...................11
Figura 2.2. Caractersticas e Subcaractersticas de Qualidade (NBR ISO/IEC 9126-1,
2003)......................................................................................................................19
Figura 2.3. Classificao dos Artigos Selecionados por Ano de Publicao.................38
Figura 3.1. Tela inicial do Survey...................................................................................54
Figura 3.2. Tela de caracterizao do participante........................................................54
Figura 3.3. Tela de identificao de pertinncia.............................................................56
Figura 3.4. Tela de identificao de relevncia..............................................................57
Figura 3.5. Tela de agradecimento................................................................................58
Figura 3.6. Frmula para clculo do nvel de confiana (Adaptado de HAMBURG,
1980).......................................................................................................................58
Figura 3.7. Nvel de confiana da primeira execuo do survey....................................59
Figura 3.8. Nvel de confiana aps segunda execuo do survey...............................59
Figura 3.9. Frmula para caracterizar os participantes do survey.................................60
Figura 3.10. Representao Grfica do ndice de Importncia dos Atributos................63
Figura 3.11. Representao Grfica do Nvel de Relevncia dos Atributos..................65
Figura 4.1. Viso Geral da Abordagem Porantim (DIAS NETO 2009)..........................71
Figura 4.2. Frmula para clculo de distncia entre vetores (DIAS NETO 2009).........72
Figura 4.3. Viso Geral Procedimento Porantim-WAT..................................................74
Figura 4.4. Evoluo da Arquitetura de Marak............................................................88
Figura 4.5. Tela de Configurao da Infra-Estrutura Marak........................................90
Figura 4.6. Tela de Gerenciamento do Corpo de Conhecimento..................................90
Figura 4.7. Configurao dos campos de caracterizao das abordagens WAT no
JabRef....................................................................................................................91
Figura 4.8. Passos para importao de abordagens utilizando arquivo bibtex..............92
Figura 4.9. Tela de Configurao dos pesos dos Atributos de Caracterizao de
abordagens WAT e seus pesos.............................................................................93
Figura 4.10. Tela de Escolha do Procedimento para Seleo de Tcnicas de Teste em
Marak...................................................................................................................94
Figura 4.11. Formulrio de caracterizao de projeto software Web............................95
Figura 4.12. Abordagens WAT selecionadas para refinamento da seleo..................95
Figura 4.13. Refinamento da seleo Caracterizao adicional do projeto de teste..96

xi

Figura 4.14. Novo grau de adequao entre as abordagens.........................................96


Figura 4.15. Resultado do Refinamento e Anlise da combinao das abordagens
WAT........................................................................................................................97
Figura 4.16. Caracterizao inicial do projeto SIGIC.....................................................99
Figura 4.17. Abordagens WAT mais adequadas ao projeto SIGIC.............................100
Figura 4.18. Caracterizao adicional do projeto SIGIC..............................................101
Figura 4.19. Novo grau de adequao entre as abordagens WAT e o projeto SIGIC.101
Figura 4.20. Resultado do procedimento de seleo para o projeto SIGIC.................102

xii

NDICE DE TABELAS
Tabela 2.1. Mapeamento das Caractersticas de Qualidade.........................................22
Tabela 2.2. Classificao dos Artigos Excludos............................................................34
Tabela 2.3. Classificao dos Artigos Selecionados por Ano de Publicao.................35
Tabela 2.4. Anlise das abordagens pelo uso de ferramentas......................................39
Tabela 2.5. Anlise das abordagens por Categoria da Aplicao..................................40
Tabela 2.6. Anlise das abordagens por Caracterstica de Qualidade Coberta............41
Tabela 2.7. Anlise das abordagens por Nvel de Teste...............................................42
Tabela 2.8. Anlise das abordagens por Tcnica de Teste...........................................43
Tabela 2.9. Anlise das abordagens por Tipo de Anlise de Teste...............................44
Tabela 2.10. Anlise das abordagens por Tipo de Estudo.............................................45
Tabela 3.1. Atributos utilizados no Esquema de Caracterizao de Tcnicas de Teste
(VEGAS e BASILI, 2005) .......................................................................................47
Tabela 3.2. Atributos utilizados para caracterizar uma TTBM (DIAS NETO, 2009). .....49
Tabela 3.3. Estrutura inicial para caracterizar as abordagens de teste para aplicaes
Web. ......................................................................................................................50
Tabela 3.4. Caracterizao dos participantes do survey ..............................................60
Tabela 3.5. ndice de Importncia dos atributos............................................................62
Tabela 3.6. Nvel de relevncia dos atributos ...............................................................64
Tabela 3.7. Estrutura final para caracterizar abordagens WAT.....................................67
Tabela 3.8. Exemplo: A model based testing technique to test Web applications using
StateCharts............................................................................................................68
Tabela 4.1. Atributos de Caracterizao de Projeto de Software (DIAS NETO, 2009)..76
Tabela 4.2. Atributos de Caracterizao de Projeto de Software Web..........................77
Tabela 4.3. Atributos utilizados como critrio de desempate na Caracterizao de
Projeto de Software Web................................................................................................78
Tabela 4.4. Relacionamento entre Atributos de Caracterizao de Projeto Web e
abordagens WAT............................................................................................................79
Tabela 4.5. Atributos de Caracterizao de Projeto de Software e seus pesos............80
Tabela 4.6. Exemplo de caracterizao de projeto e abordagens WAT (Cenrio 1).....83
Tabela 4.7. Exemplo de caracterizao de projeto e abordagens WAT (Cenrio 2).....85
Tabela 4.8. Regras de Mapeamento e Preenchimento do Jabref.................................91
Tabela 4.9. Caracterizao do Projeto SIGIC...............................................................98

xiii

CAPTULO 1 - INTRODUO

Neste captulo apresentada a motivao para desenvolvimento deste


trabalho (seo 1.1), os objetivos da pesquisa (seo 1.2), a metodologia
utilizada (seo 1.4) e a organizao do texto (seo 1.5).

1.1 Motivao
Inicialmente concebida como uma forma de publicao de hipertextos
estticos, a Web est se tornando cada vez mais complexa. As aplicaes construdas
sobre a Internet, utilizando tecnologias de padro aberto trazem novos desafios aos
pesquisadores, como o comportamento dinmico, representaes heterogneas e
novo controle de fluxo de dados (QI, 2005).
Este ambiente, com novas funcionalidades e limitaes fazem da atividade de
teste de software baseado na Web uma tarefa desafiadora (MUSTAFA, 2007). Em
(MANSOUR, 2007), destacado que as tcnicas tradicionais de testes no so
adequadas para aplicaes baseadas na Web, uma vez que elas no consideram
todas as caractersticas destas aplicaes, tais como a sua natureza multi-camada,
estrutura baseada em hiperlink, e dirigida a evento.
A rpida evoluo tecnolgica proporciona novos desafios e faz aumentar a
demanda por tcnicas e ferramentas que tratem a questo da construo e garantia
da qualidade das aplicaes Web. Por exemplo, em um estudo secundrio realizado
inicialmente por CONTE et. al. (2005) e atualizado por MASSOLAR (2008), foi
identificado um conjunto de metodologias para apoiar a construo das aplicaes
Web. Entretanto, a simples utilizao de um destes mtodos no garante a qualidade
da aplicao.
Dentre as atividades de garantia da qualidade, teste de software aparecem
como uma importante e motivante rea de investigao. Um levantamento inicial sobre
possveis trabalhos nesta rea revela que vrias publicaes focam na definio de
novas estratgias de teste.
Desta forma, visando melhor compreender as caractersticas das aplicaes
Web e quais abordagens de teste de software estariam disponveis na literatura
tcnica para serem selecionadas para os projetos de software, acreditamos que uma
importante questo de pesquisa a ser respondida :

Q: Que abordagens de testes para aplicaes Web ou para aplicaes que


utilizam a Web tm sido propostas e quais suas principais caractersticas?

A reviso realizada revelou uma quantidade expressiva de publicaes com


propostas de novas abordagens de teste para aplicaes Web. Portanto, como se
depreende, existe disponibilidade de tecnologias de software, especificamente testes
de software, que podem ser selecionadas para estas aplicaes.
A existncia de diferentes mtodos e categorias de aplicaes envolvendo a
Web implicam em caractersticas diferenciadas, que aliadas diversidade das
tecnologias de software disponveis, aumentam a dificuldade de escolha de tcnicas
de garantia da qualidade adequadas a um projeto de software Web em particular.
Neste contexto, VEGAS e BASILI (2005) descreveram um mecanismo para
apoiar a seleo de tcnicas de teste em geral, baseado em um esquema de
caracterizao, onde um catlogo de tcnicas de teste de software instanciado para
um projeto em particular.
No entanto, o uso do referido esquema de caracterizao em projetos de
software Web pode levar a identificao de tcnicas de teste no necessariamente
adequadas, tendo em vista a generalidade dos atributos utilizados no esquema de
caracterizao frente s caractersticas especficas dos projetos de aplicaes Web.
Situao semelhante foi observada por DIAS NETO (2009) em relao ao uso
do esquema de caracterizao para apoiar a seleo de tcnicas de teste baseado em
modelos para projetos de software.
Desta forma, considerando a diversidade de tcnicas de teste disponvel na
literatura tcnica e as caractersticas dos projetos de aplicao Web, a seleo de
tcnicas de teste para aplicaes Web necessita de investigao adicional e a
organizao de um corpo de conhecimento inicial sobre estas tcnicas de teste em
particular torna-se importante para aprimorar o procedimento de caracterizao e
seleo destas tcnicas para projetos de software Web.

1.2 Objetivo da Dissertao


O objetivo desta dissertao apresentar um procedimento para apoiar a
seleo de tcnicas de teste para projetos de software Web, denominado PorantimWAT, organizada com apoio de uma metodologia baseada em evidncia, que utiliza
um repositrio de conhecimento com as informaes que caracterizam as abordagens
de teste para aplicaes Web (WAT) e um mecanismo que avalia o grau de
adequao entre abordagens e as caractersticas de um projeto de software Web.

Para atingir este objetivo, foi necessrio identificar e caracterizar as


abordagens de testes para aplicaes Web publicadas na literatura tcnica, e partir
desses resultados, definir a estrutura de um corpo de conhecimento para tais
abordagens, desenvolvida a partir da adaptao da estrutura definida por VEGAS e
BASILI (2005) e DIAS NETO (2009). Adicionalmente, esta pesquisa apresenta a
adaptao de uma infra-estrutura computacional para apoiar o procedimento de
seleo proposto.

1.3 Metodologia de Pesquisa


A metodologia de pesquisa utilizada para a realizao deste trabalho foi
orientada pela abordagem baseada em evidncias proposta por SPNOLA et al.
(2008), que evoluiu a metodologia originalmente proposta por SHULL et al. (2001) e
estendida por MAFRA et al.(2006). A metodologia composta por duas etapas:
concepo e avaliao da abordagem proposta, conforme descrito na Figura 1.1. e
possui grande cunho experimental, provendo diversos estudos para verificar a
efetividade de uma tecnologia de software antes que ela seja introduzida na indstria.

Figura 1.1. Metodologia de Pesquisa adotada (SPNOLA et al., 2008).

Para a realizao deste trabalho foram executadas as atividades da etapa de


concepo, na qual SPNOLA et al. (2008) descreve a forma como os estudos
secundrios devem ser executados, e inclui a realizao de estudos primrios para

avaliar o conhecimento obtido atravs dos estudos secundrios. As atividades esto


descritas na Figura 1.2 e detalhadas abaixo:

Figura 1.2. Metodologia de Pesquisa Fase de Concepo (SPNOLA et al., 2008).

Atividade 1) Reviso inicial da literatura: o objetivo identificar os conceitos


bsicos para apoiar a definio de um protocolo de reviso sistemtica da literatura
mais preciso e abrangente. Neste trabalho foi realizada uma reviso da literatura
sobre aplicaes Web, identificando seus conceitos e definies, evoluo
histrica, categorias de aplicaes e as principais diferenas apresentadas em
relao s aplicaes convencionais. Esta pesquisa incluiu a busca de atributos
relevantes para a caracterizao de abordagens de teste para aplicaes Web.

Atividade 2) Reviso sistemtica: Nesta atividade, o protocolo da reviso


sistemtica elaborado e executado. Baseado nos resultados obtidos a partir da
anlise dos artigos identificados, os pesquisadores envolvidos definem se
necessrio refinar o estudo executado. Caso positivo, este passo repetido. Caso
contrrio, decide-se se o conjunto de conhecimento obtido deve ser avaliado
atravs de um survey (executar atividade 3) ou no (ir para a atividade 4);
Neste trabalho foi realizada uma quasi-reviso sistemtica em Agosto de 2009,
cujos resultados foram refinados atravs de uma re-execuo realizada em

Outubro de 2010. O objetivo foi identificar e caracterizar as abordagens publicadas


na literatura tcnica que apiam a atividade de teste em aplicaes Web. Os
resultados destes estudos so apresentados no Captulo.

Atividade 3) Survey: Um survey planejado e executado para avaliar o corpo de


conhecimento organizado atravs da reviso sistemtica executada na atividade 2.
Ao final desta etapa tem-se um corpo de conhecimento a ser estruturado.
Neste trabalho foram realizadas duas execues do survey, com o objetivo de
avaliar os atributos das abordagens WAT(obtidos a partir da execuo da atividade
2 desta metodologia) com o propsito de caracteriz-los quanto a sua importncia
e relevncia no procedimento de seleo de abordagens WAT para projetos de
software Web.
A primeira execuo foi realizada em Setembro de 2010 e a segunda em Janeiro
de 2011. Os resultados destes estudos so apresentados no Captulo 3.

Atividade 4) Corpo de Conhecimento: Aps as atividades anteriores, o corpo de


conhecimento consolidado e organizado e pode ser utilizado no apoio
concepo de uma nova tecnologia (atividade 5).
Nesta etapa foi consolidada a definio da estrutura e contedo do corpo de
conhecimento de abordagens de teste para aplicaes Web, desenvolvido a partir
dos resultados das revises executadas (atividade 2) e da avaliao de
especialistas (atividade 3). O corpo de conhecimento das abordagens WAT
apresentado no Captulo 3 deste trabalho.

Atividade 5) Proposta inicial da tecnologia: A ltima atividade a concepo de


uma nova tecnologia apoiada pelo corpo de conhecimento desenvolvido.
Neste trabalho foi definido um procedimento de seleo de tcnicas de teste para
aplicaes Web; bem como a identificao dos requisitos visando adaptao da
infra-estrutura computacional Marak, proposta em (DIAS NETO 2009), para
apoiar a seleo de tcnicas de teste baseadas em modelos.
Os resultados desta etapa so apresentados no Captulo 4.

1.4 Organizao da Dissertao


Esta dissertao est organizada em cinco captulos. O presente captulo
apresentou a motivao para desenvolvimento deste trabalho, os objetivos da
pesquisa, a metodologia utilizada e a organizao do texto.

Captulo 2 Abordagens de Teste para aplicaes Web apresenta uma


breve descrio sobre a origem e evoluo histrica das aplicaes Web, bem como
algumas definies e categorias encontradas na literatura. Sero apontadas as
diferenas entre os sistemas convencionais e as aplicaes Web e processo de teste
na Engenharia Web. Alm disso, sero apresentados o planejamento, execuo e
anlise de resultados de uma quasi-reviso sistemtica realizada com o objetivo de
caracterizar as abordagens de teste para aplicaes Web disponveis da literatura
tcnica.
Captulo 3 Estrutura para a caracterizao de abordagens de teste para
aplicaes Web. Este captulo apresenta a proposta e avaliao de uma estrutura de
caracterizao de abordagens de teste para projetos de software Web organizada a
partir dos resultados obtidos atravs de uma quasi-reviso sistemtica da literatura e
avaliada atravs de um survey realizado com pesquisadores da rea. Sero
apresentados detalhes do planejamento, execuo e anlise de resultados do survey
que avaliou a estrutura proposta.
Captulo 4 Porantim-WAT Procedimento para apoiar a seleo de
abordagens de teste para projetos de software Web apresenta o procedimento
que prov apoio seleo de abordagens de teste para projetos de software Web,
denominado Porantim-WAT. Trata-se de uma instncia especializada de Porantim, e
da mesma forma, ser fundamentada nos mesmos elementos: um corpo de
conhecimento sobre abordagens WAT, desenvolvido nesta pesquisa e descrito no
Captulo 3, e um mecanismo que avalia o grau de adequao entre as abordagens de
teste e as caractersticas de um projeto de software Web.
O procedimento consiste em capturar as informaes sobre o projeto de
software Web no qual as abordagens WAT devem ser aplicadas. A partir das
informaes do projeto, o procedimento consulta o corpo de conhecimento das
abordagens WAT indica aquelas mais adequadas ao projeto.
Adicionalmente,

apresentada

adaptao

de

uma

infra-estrutura

computacional para apoiar a execuo das atividades que compem o mecanismo de


seleo de abordagens de teste para projetos Web. A utilizao dessa infra-estrutura
foi demonstrada a partir da sua aplicao em um projeto de software Web denominado
SIGIC, a fim de observar a viabilidade de seu uso no apoio seleo de tcnicas de
teste.
Por fim, o quinto captulo, Concluso, apresenta as consideraes finais deste
trabalho, bem como as contribuies da dissertao, suas limitaes e perspectivas
futuras. Adicionalmente, este trabalho apresenta trs apndices:

Apndice A Lista de Artigos Identificados na Quasi Reviso


Sistemtica.

Este apndice apresenta a lista completa dos artigos identificados ao longo das
execues do protocolo da reviso realizadas neste trabalho, identificando os artigos
selecionados para escopo desta pesquisa e aqueles que foram descartados, sendo
possvel verificar o critrio que motivou a excluso de cada publicao e a etapa da
reviso na qual a publicao foi excluda.
Os trabalhos so identificados pelo o ano da publicao, os autores e o ttulo.
Nos casos das publicaes excludas apresentado tambm o motivo da excluso.

Apndice B Evoluo da Infra-Estrutura Computacional Marak

Este apndice descreve os requisitos funcionais e no funcionais de adaptao


da infra-estrutura Marak para suportar o procedimento de seleo de abordagens de
teste para projetos Web. Sero descritos os ajustes realizados no banco de dados,
necessrios para armazenar o corpo de conhecimento das abordagens de tese para
aplicaes Web, bem como os ajustes realizados no cdigo fonte com a criao de um
novo componente que automatiza o procedimento Porantim-WAT.

Apndice C Glossrio

Ao longo da realizao da reviso da literatura e da quasi reviso sistemtica


para identificar e caracterizar as abordagens de testes para aplicaes Web, foi
identificada uma grande variedade de tecnologias empregadas nesta rea de
pesquisa. Este apndice apresenta um glossrio bilnge com o objetivo de reunir, de
forma breve e objetiva, os significados dos variados termos, expresses e palavras
utilizadas para referenciar as tecnologias empregadas nas aplicaes Web. Trata-se
de uma coletnea de expresses com a respectiva explicao de conceitos dos
termos encontrados descritos em ingls e em portugus.

CAPTULO 2 - ABORDAGENS DE TESTE PARA


APLICAES WEB

Neste captulo apresentada uma breve descrio sobre a origem e evoluo


histrica das aplicaes Web (seo 2.1), bem como algumas definies (seo 2.2) e
categorias encontradas na literatura (seo 2.3). So apontadas as diferenas entre os
sistemas convencionais e as aplicaes Web (seo 2.4) e processo de teste na
Engenharia Web (sees 2.5 e 2.6). Alm disso, so apresentados o planejamento,
execuo e anlise de resultados de uma quasi-reviso sistemtica realizada com o
objetivo de caracterizar as abordagens de teste para aplicaes Web disponveis da
literatura tcnica (seo 2.7).

2.1 Evoluo Histrica das Aplicaes Web


A Web foi originalmente concebida como um ambiente capaz de compartilhar
informaes no formato de hipertexto entre indivduos geograficamente dispersos
apoiados pela utilizao de um browser. A arquitetura utilizada era cliente-servidor
duas camadas, com restries quanto flexibilidade e escalabilidade e normalmente
apoiava aplicaes simples e com limitaes de funcionalidade (OFFUT, 2002).
NIELSEN (apud ANDREWS et. al., 2005) afirma que em 1995, 100% das
aplicaes Web eram compostas por interfaces estticas, em 1998 esse nmero
reduziu para quase 90%, e que no ano 2000 representavam apenas cerca de 50% das
aplicaes Web.
Ao longo dos anos a Web sofreu sucessivas evolues e modificaes,
apoiando aplicaes de pequena e larga escala, desenvolvidas por equipes
multidisciplinares com habilidades diversas e com o emprego de novas e variadas
tecnologias (MENDES et al., 2006). A configurao foi estendida do modelo clienteservidor duas camadas para multi-camadas (DELAMARO et al., 2007), que aliadas
rpida evoluo tecnolgica proporciona novos desafios para as tcnicas utilizadas no
desenvolvimento de software.

2.2 Definio
Na literatura tcnica encontramos diversos termos empregados ao se tentar
denominar aplicaes Web, dentre eles: Web site, sistemas Web, aplicaes de
Internet, aplicaes baseadas na Web (MENDES et al., 2006). O objetivo desta seo

discorrer sobre algumas definies encontradas na literatura tcnica e apresentar o


conceito a ser utilizado ao longo deste trabalho.
Em (KAPPEL, 2004), encontramos a seguinte definio para aplicaes Web:
Uma aplicao Web um sistema de software baseado em tecnologias e padres do
World Wide Web Consortium (W3C) que prov recursos especficos de Web, como
contedo e servios atravs de uma interface de usurio, o Web browser. Para XU et
al. (2004) as aplicaes Web so aplicaes hipermdia, distribudas, multi-plataforma,
interativa, dinmicas, heterogneas e autnomas.
Embora muitos autores considerem a utilizao do browser na definio de
aplicaes Web, esta definio no ser completamente adotada no contexto deste
trabalho visto que na medida em que ela inclui a utilizao de um browser como
instrumento de interface com usurio ela exclui dessa definio as aplicaes que
utilizam a infra-estrutura Web com emprego de outros componentes para
apresentao e explorao da informao. Dentre outros exemplos, podemos citar as
aplicaes baseadas em workflow, servios Web, sistemas colaborativos e aplicaes
envolvendo caractersticas de ubiqidade.
Segundo CHRISTODOULOU et al. (apud MENDES et. al., 2006), a Web tem
sido utilizada para prover trs tipos de aplicaes: Aplicaes Hipermdia Web,
Aplicaes de Software Web e Aplicaes Web. Aplicaes Hipermdia Web so
aplicaes no convencionais caracterizadas pela publicao de informaes atravs
da Web utilizando ns, links, ncoras e estruturas de acesso. Aplicaes de Software
Web so aplicaes de software convencionais que dependem da Web ou do uso da
sua infra-estrutura. As aplicaes Web so definidas como aplicaes distribudas na
Web combinando caractersticas das Aplicaes Hipermdia e Aplicaes de Software
Web.
Em (DI LUCCA e FASOLINO, 2006), mencionado que as aplicaes Web
podem ser consideradas como um sistema distribudo, com arquitetura cliente-servidor
multicamadas, incluindo as seguintes caractersticas: grande nmero de usurios com
acesso concorrente; execuo em ambientes heterogneos compostos por diferentes
hardwares, conexes de rede, sistemas operacionais, servidores Web e navegadores
diferentes; natureza heterognea devido variedade de componentes e tecnologias
empregadas no seu desenvolvimento (diferentes linguagens, modelos, etc.); e
habilidade de gerao de componentes dinmicos, em tempo de execuo, de acordo
com a entrada dos usurios ou status do servidor. TARHINI et al. (2008) definem um
aplicativo da Web como aquele que pode ser acessado atravs de um navegador da
Web e que contm cdigo do lado do cliente e cdigo do lado do servidor.

MASSOLAR (2011) apresenta a definio adotada nesse trabalho, elaborada a


partir de uma adaptao de (KAPPEL et al. 2004): Uma aplicao Web um sistema
de software baseado em tecnologias e padres do World Wide Web Consortium
(W3C) que prov recursos especficos de Web, como contedo e servios, atravs de
um cliente Web. Complementa ainda que as aplicaes Web representam sistemas
de software complexos, orientados a processos ou a dados, e que integram a
explorao no-linear da informao com a capacidade de execuo de processos de
forma distribuda.

2.3 Categorias de aplicaes Web


Frente s vrias definies de aplicaes Web encontradas, importante
categorizar

tais

aplicaes

para

melhor

compreender

suas

caractersticas,

peculiaridades e similaridades. Na literatura encontramos duas categorizaes de


aplicaes Web apresentadas a seguir.
GINIGE e MURUGESAN (2001) apresentam sete categorias de aplicaes
baseadas na Web: (1) Aplicaes Informacionais, tais como jornais on-line, catlogos
de produtos, newsletters, classificados on-line, livros eletrnicos; (2) Aplicaes
Interativas, tais como formulrios de registro, jogos on-line; (3) Transacionais:
shopping eletrnico, internet banking; (4) Workflow; (5) Ambientes de trabalho
colaborativo; (6) Comunidades e mercados on-line, como, por exemplo, leiles on-line;
e (7) Portais Web.
Em 2004, KAPPEL apresenta uma nova categorizao, acompanhando a
evoluo histrica das aplicaes Web (Figura 2.1). As categorias so apresentadas a
partir de um referencial histrico e por nveis de complexidade, onde as categorias
mais novas apresentam um maior nvel de complexidade. A primeira categoria
apresentada a centrada em documentos. Ela remete s origens das aplicaes Web,
visto que representam aplicaes hipermdia estticas. A segunda categoria a
Interativa representada por pginas Web que possibilitam uma pequena interao com
o usurio.
Seguindo a linha de evoluo temporal, a terceira categoria a transacional.
Mais complexas que as anteriores, elas so apoiadas por sistemas de banco de dados
e apresentam maior interatividade com o usurio. A prxima categoria a baseada em
workflow, seguidas pelas categorias de aplicaes colaborativas (groupwares) e
orientadas a portal. As categorias mais recentes e conseqentemente consideradas
mais complexas so as aplicaes ubquas e as aplicaes baseadas no
conhecimento.

10

Figura 2.1. Categorias de Aplicaes Web (Adaptado de KAPPEL, 2004)

2.4 Diferenas entre aplicaes convencionais e aplicaes


Web
As aplicaes Web e aplicaes convencionais diferem em vrios aspectos,
dentre eles, GINIGE et al. (2001) citam que, comparados com a engenharia de
sistemas tradicional, o desenvolvimento de aplicaes Web destaca-se pelo rpido
crescimento de requisitos, contedo e funcionalidade, e pelas constantes alteraes
sofridas durante o ciclo de vida. O desenvolvimento de sistemas baseado em Web
uma atividade contnua e sem releases especficas como ocorre no desenvolvimento
de software convencional.
MENDES et al. (2006) discutem as principais diferenas entre desenvolvimento
de software convencional e Web, e discorrem sobre as diversas reas que apresentam
divergncias no desenvolvimento de tais aplicaes. Destacam que as principais
diferenas

envolvem

as

pessoas

envolvidas

no

desenvolvimento

(equipe

multidisciplinar), as caractersticas intrnsecas das aplicaes Web (tecnologias

11

empregadas, disciplinas envolvidas, arquitetura diferenciada) e o pblico para o qual


as aplicaes foram desenvolvidas (geralmente as aplicaes convencionais so
desenvolvidas para um grupo bem definido e conhecido enquanto que as aplicaes
Web para um grupo de usurios extenso e desconhecido).
XU et al. (2006) descrevem que originalmente as aplicaes Web consistiam
principalmente da apresentao de textos estticos, mas atualmente a maioria delas
incorpora elementos interativos e dinmicos. Estes elementos aumentaram as
funcionalidades das Aplicaes Web, mas tambm elevou o seu nvel de
complexidade. Com o mesmo entendimento, DI LUCCA e FASOLINO (2006)
destacam que as aplicaes Web so dinmicas e acrescenta que as anlises
estticas no so precisas para este tipo de aplicao. Ele ressalta que habilidade de
gerao de componentes dinmicos, em tempo de execuo, de acordo com a
entrada dos usurios uma das caractersticas das aplicaes Web que podem
inviabilizar o emprego de mtodos tradicionais de teste neste tipo de aplicao.
Apesar das diversas percepes e caracterizaes das aplicaes Web existe
o entendimento comum de que tais aplicaes apresentam um alto grau de
complexidade e o questionamento sobre a aplicabilidade e adequao dos mtodos
convencionais de engenharia de software no desenvolvimento de Aplicaes Web.
Nesse

contexto,

sugiram

novas

preocupaes

cerca

do

processo

de

desenvolvimento e garantia de qualidade.

2.5 Engenharia das Aplicaes Web


Inicialmente, a maior parte das aplicaes Web foi desenvolvida sem um
modelo de processo formal. Os requisitos no eram capturados e a arquitetura e do
projeto detalhado do sistema no eram considerados (PRESSMAN, 2000). Os
sistemas rapidamente passavam da fase de implementao para entrega, sem serem
avaliados atravs da atividade de teste. Usualmente, nenhuma documentao era
produzida para descrever a organizao interna da aplicao. Este tipo de prtica foi
motivado pelas caractersticas da primeira gerao dos sites Web.
A entrega dos sistemas baseados na Web desenvolvidos com mtodos ad hoc
ou no considerando os princpios de engenharia de software era justificada pelo
tamanho dessas aplicaes, tipicamente pequenas, com pequena expectativa de vida
e pelas dificuldades de capturar as necessidades do usurio. Alm disso, a primeira
gerao de sites Web era um pouco mais do que simples materiais de propaganda
disposio do pblico, sem muita relevncia para os negcios.

12

Rapidamente as empresas perceberam que a Web no era apenas um canal


para promover a sua imagem, mas poderia ser explorada como um meio de prestao
de servio. Ao mesmo tempo, diversas tecnologias foram desenvolvidas para suportar
a produo da crescente complexidade das aplicaes Web, as quais poderiam ser
efetivamente exploradas para apoiar os negcios principais das empresas.
Conseqentemente, estas aplicaes comearam a incorporar funcionalidades
avanadas, tornando-se crticas para as empresas (RICCA e TONELLA, 2002).
O prximo passo nesta evoluo foi absorver algumas das lies aprendidas
durante a histria da engenharia de software, que comeou a ser considerada quando
a

prtica

de

desenvolvimento

de

aplicaes

tradicionais

sofreu

problemas

semelhantes aos sistemas baseados em Web.


A Engenharia de Aplicaes Web (Web Engineering) surgiu por volta do ano
2000, devido necessidade de melhorar o desenvolvimento de aplicaes Web. A
situao do desenvolvimento de aplicaes Web era similar s prticas de software
dos anos 60, usualmente feito de forma espontnea, no repetvel; baseado apenas
no conhecimento, experincias e prticas de desenvolvedores individuais; e com
ausncia de documentao apropriada sobre as decises de projeto (KAPPEL, 2004).
O principal foco da Engenharia de Aplicaes Web o estudo de abordagens
sistemticas e quantificveis (conceitos, mtodos, tcnicas e ferramentas) para a
anlise de requisitos, projeto, implementao, teste, operao e manuteno de
aplicaes Web de alta qualidade. KAPPEL (2004) destaca ainda os seguintes
princpios da Engenharia de Aplicaes Web:

Objetivos e requisitos claramente definidos;

Desenvolvimento sistemtico de aplicaes Web em fases;

Planejamento cuidadoso de cada fase do desenvolvimento, e;

Avaliao contnua de todo o processo de desenvolvimento.

Neste contexto, emergiu uma crescente demanda por melhores tcnicas,


metodologias e processos, e a partir de ento um esforo substancial foi dedicado
para investigar modelos e formalismos destinados a apoiar o projeto de aplicaes
Web. Um conjunto de metodologias de desenvolvimento de aplicaes Web foi
identificado a partir de estudo secundrio realizado inicialmente por CONTE et. al.

13

(2005) e atualizado por

MASSOLAR (2011)1, onde a principal questo de pesquisa

era:
Quais processos de desenvolvimento tm sido utilizados para desenvolver
aplicaes Web?

Esto detalhadas a seguir as metodologias identificadas na reviso para apoiar


a construo das aplicaes Web:

HDM (GARZOTTO et. al., 1993). Permite a criao de um modelo para


aplicaes hipermdia. Baseia-se em mtodos de projeto de banco de
dados

(entidade-relacionamento)

influenciou

vrios

mtodos

subseqentes.

RMM (ISAKOWITZ et. al., 1995). Estende a HDM propondo estruturas


de acesso de roteiros guiados e ndices mais ricos, alm de um
processo de desenvolvimento detalhado.

OOHDM (SCHWABE et. al., 1996). Mtodo baseado em modelos


orientados a objetos concentrando-se em dois aspectos: navegacional e
estrutural.

WebML (CERI et al., 2000). Linguagem conceitual que permite a


descrio em alto nvel de uma aplicao Web, independente da
plataforma tecnolgica de implementao. Prope a especificao das
caractersticas dos Web Sites Data-Intensive em diferentes modelos
(Dados, Hipertexto e Apresentao).

OOWS (PASTOR et. al., 2001). Mtodo de desenvolvimento de


aplicaes Web que introduz novos conceitos OO (primitivas de
modelagem) para a modelagem da semntica navegacional e de
apresentao.

OO-H (CACHERO et. al., 2001). Abordagem de desenvolvimento de


aplicaes Web que adota a combinao de trs perspectivas:
estrutural, comportamental e de apresentao.

WAE (CONALLEN, 2002). Extenso da UML para aplicaes Web.

UWE (KOCH & KRAUS, 2002). Processo de desenvolvimento para


aplicaes Web que utiliza como base apenas a notao e os
mecanismos de extenso previstos na UML. Prope a modelagem de

O protocolo completo utilizado na conduo da referida reviso, detalhando o procedimento

adotado, as questes de pesquisa, as strings de busca e as limitaes da reviso podem ser encontrados em
(CONTE et. al., 2005) e (MASSOLAR, 2008)

14

uma aplicao Web atravs de trs perspectivas de projeto: conceitual,


navegacional e apresentao.

ADM (DIAZ et. al., 2004). Processo flexvel e detalhado que considera
diferentes nveis de abstrao: estrutural, navegacional, apresentao,
interao entre usurio e componentes do sistema, requisitos funcionais
e regras de acesso para prover um ambiente seguro.

W2000 (BARESI et. al., 2006). Notao para a modelagem de


aplicaes Web originada da HDM. Integra conceitos de diferentes
domnios e incorpora conceitos da UML. Adota uma abordagem dirigida
a modelos.

Entretanto, a simples utilizao de um destes mtodos no garante a qualidade


da aplicao. A existncia de diferentes mtodos e categorias de aplicaes
envolvendo a Web implica em caractersticas diferenciadas, que aliada diversidade
das tecnologias de software disponveis, aumentam a dificuldade de escolha de
tcnicas de garantia da qualidade adequadas a um projeto de software Web em
particular.

2.6 Processo de Teste das Aplicaes Web


GINIGE e MURUGESAN (2001) discutem os resultados de uma pesquisa
sobre projetos de aplicaes Web de larga escala e destacam que 84% dos sistemas
produzidos no atenderam s necessidades de negcio; 53% dos sistemas no
contemplavam todas as funcionalidades requisitadas; e 52% dos sistemas entregues
eram de baixa qualidade.
Dentre as atividades de garantia da qualidade, teste de software aparecem
como uma importante e motivante rea de investigao. A atividade de teste pode ser
definida como uma atividade de verificao e validao que analisa um produto ao
longo de um processo de desenvolvimento de um software com o objetivo de
aprimorar

sua

qualidade,

expondo

possveis

defeitos

os

desvios do

comportamento desejado da aplicao (adaptado de RICCA e TONELLA, 2005).

2.6.1 Nveis de Teste


A atividade de teste uma tarefa complexa e por isso normalmente dividida
em fases com objetivos distintos, tambm conhecidas como nveis ou etapas de teste.
Os principais nveis de teste encontrados na literatura so:

Teste de Unidade: Este teste tem como foco as menores unidades de uma
aplicao que podem ser funes, procedimentos, mtodos ou classe. No

15

contexto das aplicaes Web, a unidade pode ser considerada como uma
pgina Web e seus elementos (campos, texto, formulrios, botes, links,
scripts) ou um servio Web. RICCA e TONELLA (2002) descrevem que
nesta etapa, cada unidade testada separadamente e a atividade de teste
pode ser aplicada medida que ocorre a implementao sem a
necessidade de dispor-se do sistema totalmente finalizado, sendo
necessrio em alguns casos a utilizao de drivers ou stubs em
substituio s funcionalidades ausentes.

Por exemplo, um script de

servidor chamado por um driver que simula o navegador (browser) e


recebe a pgina HTML como a sada resultante. Outro exemplo um
programa Java script que valida os campos em uma pgina do lado do
cliente e envia uma solicitao para um servidor fictcio, simulados por um
stub.

Teste de Integrao: Normalmente realizado aps as unidades terem sido


testadas individualmente. medida que as diversas partes so colocadas
para trabalhar juntas, preciso verificar se a interao entre elas funciona
adequadamente. No contexto das aplicaes Web, pode ser considerada a
integrao de pginas Web ou a composio de servios Web.

Teste de Sistema: Em geral este teste realizado quando o sistema est


completo, com todas as suas partes integradas. O objetivo verificar se os
requisitos funcionais e no funcionais especificados foram corretamente
implementados. O sistema validado como um todo em um ambiente o
mais semelhante possvel do ambiente alvo real.

Teste de Aceitao: Este teste geralmente realizado pelos usurios finais


do sistema para avaliar se o produto entregue est de acordo com o
solicitado. Em geral, o cliente instala e executa o aplicativo em seu prprio
ambiente.

2.6.2 Tcnicas de Teste e Critrio de Cobertura


Alm das fases de execuo, outra caracterstica da atividade de teste est
relacionada tcnica empregada na sua execuo. As principais tcnicas de teste
so: Funcional e Estrutural. O que distingue essencialmente as tcnicas de teste a
fonte utilizada para definir os requisitos de teste e os critrios de cobertura utilizados
para explorar, exercitar e avaliar as aplicaes sob anlise.
Teste Funcional uma tcnica utilizada considerando o programa ou aplicao
a ser avaliada como uma caixa preta.

Para test-lo, so fornecidas entradas e

16

avaliadas as sadas geradas para verificar se esto em conformidade com os objetivos


especificados. Nessa tcnica, os detalhes de implementao no so considerados.
Os critrios de cobertura mais conhecidos da tcnica de teste funcional so o
Particionamento por Equivalncia, Anlise de Valor Limite, e Grafo Causa-Efeito. Uma
das vantagens dos critrios da tcnica funcional que eles requerem somente a
especificao do produto para derivar os requisitos de teste, no sendo necessrio o
acesso ao cdigo-fonte. Por outro lado, no possvel assegurar, por exemplo, que
trechos crticos do cdigo tenham sido percorridos e validados.
Em geral, a tcnica de teste caixa preta para aplicaes Web no diferente
da tcnica utilizada em aplicaes de software convencionais. Em ambos os casos o
uso de um critrio de cobertura e um adequado conjunto de requisitos de teste so
definidos com base na especificao da funcionalidade dos itens que sero testados.
Entretanto, algumas caractersticas especficas das aplicaes Web podem afetar o
projeto e a execuo dos testes. Por exemplo, o teste de componentes gerados
dinamicamente durante a execuo pode ser uma tarefa mais rdua, devido
dificuldade de identificar e reproduzir as mesmas condies que cada componente
produziu. Nesse caso, as especificaes utilizadas para representar o comportamento
de aplicaes tradicionais devero ser adaptadas para as aplicaes Web (DI LUCCA
e FASOLINO, 2006).
A tcnica de teste estrutural, ou caixa branca, avalia o comportamento interno
do componente de software. Essa tcnica trabalha diretamente sobre o cdigo fonte
para avaliar aspectos tais como caminhos lgicos e conjuntos especficos de
condies. Os critrios de cobertura associados tcnica estrutural so classificados
com base na complexidade, no fluxo de controle e no fluxo de dados.
Dentre as limitaes desta tcnica, destaca-se o fato de que os requisitos de
teste so baseados na estrutura interna da aplicao e desta forma eventuais
problemas no cdigo implicam em testes incompletos (DELAMARO et al., 2007).
No contexto das aplicaes Web, RICCA e TONELLA (2002) propem alguns
critrios de teste caixa branca:
Teste de todas as pginas (all-pages): onde cada pgina do aplicativo Web
deve ser visitada nas atividades de teste pelo menos uma vez;
Teste de todos os Hyperlinks (all-links): onde cada link de cada pgina deve
ser percorrido nas atividades de teste pelo menos uma vez;
Teste de todos os caminhos (all-pathes): onde todos os caminhos da
aplicao Web devero ser percorridos em algum teste pelo menos uma vez.

17

Teste de todos os usos (all-use): onde todos os caminhos de navegao


sero exercidos considerando todas possibilidade de uso para todas definies de
variveis, formando uma dependncia de dados.
Alm das tcnicas de caixa branca e caixa preta apresentadas, DI LUCCA e
FASOLINO (2006) destacam que a tcnica de teste caixa cinza tambm pode ser
utilizada nos testes das aplicaes Web. Trata-se de uma combinao entre as
tcnicas funcionais e estruturais, que considera tanto o comportamento da aplicao
quando a sua estrutura interna. esperado que a utilizao desta tcnica ajude a
revelar problemas que no so facilmente capturados com uso individual das tcnicas
funcionais e estruturais, especialmente problemas associados ao fluxo de informaes
e compatibilidades quanto distribuio de hardware e configuraes de software dos
sistemas.
possvel ainda distinguir o tipo de anlise de teste que a abordagem capaz
de suportar. RICCA e TONELLA (2001) definem que as pginas da Web podem ser
estticas ou dinmicas. Embora o contedo de uma pgina Web esttica seja fixo, o
contedo de uma pgina dinmica computado em tempo de execuo pelo servidor
e pode depender das informaes fornecidas pelos usurios atravs de campos de
entrada. Uma distino semelhante proposta em ANDREWS et al., (2005).

2.6.3 Caractersticas de Qualidade


As aplicaes Web apresentam algumas caractersticas distintas quando
comparadas s aplicaes convencionais, tais como juno de vrias tecnologias em
uma mesma aplicao, rpida evoluo tecnolgica, evoluo constante de seus
requisitos, acesso via browser (ainda em grande maioria) e arquitetura diferenciada
(possibilitando a execuo de funes atravs de servidores ou do prprio cliente).
Essas particularidades fazem com que as caractersticas de qualidade de uma
aplicao Web precisem ter uma avaliao diferenciada.
A norma ISO/IEC 9126 (2002) apresenta um conjunto genrico de
caractersticas de qualidade para o software, que so confiabilidade, eficincia,
funcionalidade, manutenibilidade, usabilidade e portabilidade. Cada caracterstica de
qualidade composta por sub-caractersticas que detalham um pouco mais cada
requisito de qualidade a ser atingido em uma aplicao:

18

Figura 2.2. Caractersticas e Subcaractersticas de Qualidade (NBR ISO/IEC 9126-1, 2003).

Funcionalidade: capacidade do software em prover funes que atendam


s necessidades quando usado sobre determinadas condies.
Adequao: prover um conjunto apropriado de funes para tarefas e

objetivos especficos do usurio.


Acurcia: prover resultados ou comportamentos corretos e de acordo
com o nvel de preciso necessrio.
Interoperabilidade: interagir com um ou mais sistemas.
Segurana: proteger informaes e dados que pessoas ou sistemas no
autorizados possam ler ou modific-los, e pessoas ou sistemas no
autorizados possuem acesso negados a eles.
Conformidade funcionalidade: estar de acordo com normas ou
convenes relacionadas funcionalidade.

Muitos mtodos utilizados para testar os requisitos funcionais de uma


aplicao tradicional tambm podem ser utilizados no teste de aplicaes
Web. Em relao a subcaracterstica de segurana, a natureza das aplicaes
Web, no que diz respeito juno de vrias tecnologias em um ambiente
heterogneo associado ao grande nmero de usurios e possibilidades de
acesso, podem tornar o teste de segurana uma tarefa mais rdua (DI LUCCA
e FASOLINO, 2006).

Confiabilidade: Capacidade do software em manter um nvel especificado


de desempenho quando usado sobre condies especficas.

19

Maturidade: evitar falhas como um resultado de um erro presente no


software.
Tolerncia falhas: manter um nvel especificado de desempenho no
caso de erros ou por ter infringido a interface definida.
Recuperabilidade: re-estabelecer um nvel especificado de desempenho
e recuperar os dados diretamente afetados no caso de uma falha.
Conformidade confiabilidade: estar de acordo com normas ou
convenes relacionadas confiabilidade.

No contexto Web, o teste de confiabilidade est muitas vezes associado


ao processamento correto do fluxo de navegao sem erros (REZA et al.,
2008), integridade dos links para evitar situaes de pginas inacessveis ou
sem ponteramento adequado; apresentao de mensagens de erros
permitindo o retorno s funcionalidades, e ao processamento cancelado em
caso de expirao da sesso.

Usabilidade: capacidade do software de ser entendido, aprendido,


utilizado, e atrativo para seus usurios, quando usado sobre condies
especficas.
Facilidade de entendimento: possibilitar ao usurio o entendimento da

aplicao, e como ela pode ser usada para uma tarefa ou condio de uso
particular.
Facilidade de aprendizado: possibilitar ao usurio aprender como usar a
aplicao.
Operabilidade: possibilitar ao usurio operar e controlar a aplicao.
Atratividade: ser atrativo ao usurio.
Conformidade usabilidade: estar de acordo com normas ou
convenes relacionadas usabilidade.

O teste de usabilidade uma questo crtica para uma aplicao Web.


De fato, essa caracterstica de qualidade pode determinar o sucesso da
aplicao. Como conseqncia, o front-end da aplicao e como os usurios
interagem com ele, muitas vezes foco de maior cuidado e ateno neste tipo
de teste (DI LUCCA e FASOLINO, 2006).

Eficincia: capacidade do software em prover desempenho apropriado,


relativo quantidade de recursos usados sob certas condies.

20

Comportamento de tempo: prover tempo apropriado de resposta e


processamento.
Utilizao de recursos: usar quantidade apropriada e tipos de recursos
quando o software realiza suas funes sobre determinada condio.
Conformidade eficincia: estar de acordo com normas ou convenes
relacionadas eficincia.

No contexto Web, o desempenho da aplicao uma questo crtica,


pois os usurios no querem esperar muito tempo por uma resposta s suas
requisies. esperado ainda que os servios estejam sempre disponveis.
Esta uma tarefa difcil, porque no possvel saber de antemo quantos
usurios vo realmente estar conectados a um aplicativo em execuo.
As falhas que podem ser descobertas atravs de testes de desempenho
esto associadas s falhas de execuo do ambiente (por exemplo, recursos
escassos ou recursos mal utilizados).

Manutenibilidade:

capacidade

do

software

de

ser

modificado.

Modificaes podem incluir correes, melhorias ou adaptaes do


software a mudanas no ambiente e nos requisitos e especificaes
funcionais.
Analisabilidade: permitir diagnstico de deficincias ou causas de
falhas, ou identificao das partes que precisam ser modificadas.
Modificabilidade: possibilitar que uma modificao especfica seja
implementada.
Estabilidade: evitar efeitos no-esperados aps modificaes.
Testabilidade: possibilitar que modificaes sejam validadas.
Conformidade manutenibilidade: estar de acordo com normas ou
convenes relacionadas manutenibilidade.

No foi possvel identificar questes especficas do teste de manutenibilidade


associada ao teste de aplicaes Web. Desta forma, os mtodos utilizados para testar
uma aplicao tradicional, a princpio, tambm podem ser utilizados no teste de
aplicaes Web.

Portabilidade: capacidade do software de ser transferido de um ambiente


para outro.

21

Adaptabilidade: poder ser adaptado para diferentes ambientes sem


aplicao de aes ou qualquer outro ajuste alm daqueles j fornecidos pela
aplicao.
Facilidades de instalao: poder ser instalado em um ambiente
especfico.
Co-existncia: capacidade de co-existir com outras aplicaes em um
ambiente comum com compartilhamento de recursos.
Facilidade de substituio: capacidade de ser usado no lugar de outro
software com o mesmo propsito existente no mesmo ambiente.
Conformidade portabilidade: estar de acordo com normas ou
convenes relacionadas portabilidade.

No caso das aplicaes Web, o teste da portabilidade ir descobrir falhas


associadas ao uso de diferentes plataformas de servidores web ou diferentes
navegadores (browsers) com diferentes verses ou configuraes (EATON e
MEMON , 2007).
A grande variedade de combinaes possveis de todos os componentes
envolvidos na execuo de uma aplicao web torna invivel o teste de todos os
cenrios possveis de utilizao. O que normalmente ocorre que apenas as
combinaes mais comuns so consideradas. Como conseqncia, apenas um
subconjunto de defeitos de compatibilidade pode ser descoberto (DI LUCCA e
FASOLINO, 2006).
Cada caracterstica da norma foi associada a uma caracterstica especfica,
necessria ou presente em aplicaes Web. A Tabela 2.1 apresenta o mapeamento
das caractersticas de qualidade de acordo com a norma ISO/IEC 9126 (2002),
destacando

apenas

segurana

que

representa

uma

sub-caracterstica

de

funcionalidade, devido a sua importncia para as aplicaes Web.

Tabela 2.1. Mapeamento das Caractersticas de Qualidade.


Caracterstica ISO
9126

Caracterstica necessria ou presente em aplicaes Web


Atendimento aos requisitos funcionais solicitados pelos usurios.
Preciso dos resultados e do comportamento da aplicao de acordo com
os requisitos funcionais e no funcionais.

Funcionalidade

Confiabilidade

** Sub-caracterstica SEGURANA:
Acesso s funcionalidades somente por pessoas autorizadas.
Evitar ataques diretos e indiretos ao servidor de aplicao e de banco de
dados.
Evitar acessos diretos s pginas dinmicas (informando valores atravs de
links)
Processamento correto de links (fluxo de navegao).

22

Usabilidade

Eficincia
Manutenibilidade
Portabilidade

Integridade dos links (evitar pginas inacessveis, links quebrados ou sem


ponteramento adequado).
Apresentao de mensagens de erros, permitindo o retorno s
funcionalidades.
Processamento cancelado em caso de expirao da sesso.
Preocupaes com o nvel de apresentao, tais como:
Facilidade no uso da aplicao
Aprendizagem das terminologias, menus e navegao atravs de diferentes
pginas da Web
Tempo de resposta a uma solicitao.
Tempo para carregar uma pgina.
Carga de servidor de aplicao (quantidade de solicitaes).
Carga de servidor de banco de dados (quantidade de acesso).
No foi possvel mapear atributos especficos para aplicao Web.
Verificao de recursos especficos de browser e restries para carregar
uma determinada pgina (scripts, plugin, etc.).
Adaptao a diferentes servidores, ou sistemas operacionais.

Um levantamento inicial sobre possveis trabalhos na rea teste de aplicaes


Web revela que vrias publicaes focam na definio de novas estratgias de teste.
Visando melhor compreender as caractersticas das abordagens de teste para
aplicaes Web disponveis, de forma a identificar, por exemplo, as caractersticas de
qualidade cobertas, tcnica de teste empregada e nvel de teste no qual a abordagem
est apta a avaliar, optou-se por realizar um estudo secundrio na literatura tcnica,
detalhado a seguir.

2.7 Quasi Reviso Sistemtica


2.7.1 Introduo
Segundo KITCHENHAM (2004), uma reviso sistemtica da literatura um
meio de identificar, avaliar e interpretar toda pesquisa relevante e disponvel sobre
uma questo de pesquisa particular, rea ou fenmeno de interesse. Os estudos
individuais que contribuem para uma reviso sistemtica so chamados de estudos
primrios. A reviso sistemtica denominada como estudo secundrio.
Revises sistemticas podem ser divididas em trs fases principais: (1)
Planejamento da reviso, que consiste na identificao da necessidade de uma
reviso e no desenvolvimento do respectivo protocolo de reviso; (2) Conduo da
Reviso, que consiste na identificao da pesquisa, seleo dos estudos primrios,
avaliao da qualidade dos estudos, extrao, monitoramento e sntese dos dados; e
(3) Anlise de Resultados.
A questo de pesquisa deve ser elaborada utilizando um formato claro e
explcito. Para isso, importante que ela possa ser, aps definida, estruturada de
acordo com a estratgia PICO que explora as seguintes dimenses:

Populao,

Interveno, Comparao e Resultado (Outcome). A populao descreve o grupo de

23

pessoas, tipos de projetos ou aplicaes onde ser observada a interveno, que por
sua vez, define o que ser observado no contexto da reviso. Na comparao devem
ser descritas quaisquer restries ou resultados anteriores que possam ser usados
para comparar com a interveno. Os resultados devem relatar os fatores importantes
para os profissionais da prtica, tais como aperfeioamento na confiabilidade, reduo
de custos. Em alguns casos, so requeridas intervenes que reportam apenas o
aperfeioamento de algum aspecto na produo de software (KITCHENHAM, 2004).
O estudo proposto nesse trabalho pode ser caracterizado como uma quasireviso sistemtica, pois a reviso no apresenta todas as dimenses da estratgia
PICO. Em geral, quasi-revises sistemticas representam revises de caracterizao
(revises iniciais) que no realizam qualquer tipo de comparao. Entretanto, por tal
reviso explorar o mesmo rigor e formalismo nas fases metodolgicas de preparao e
execuo do protocolo, sem fazer uso de meta-anlise, ela pode ser referenciada
como uma quasi-reviso sistemtica. Estas revises so importantes para estabelecer
uma base inicial de conhecimento para a comparao de futuros estudos primrios e
pode ajudar a evidenciar conhecimento de grande valor para os engenheiros de
software (TRAVASSOS et al., 2008).
As prximas sees descrevem as etapas de planejamento, que consiste na
apresentao do protocolo da reviso, questo de pesquisa, execuo e anlise dos
resultados.

2.7.2 Planejamento da Reviso


A etapa de planejamento consiste na elaborao de um protocolo que
especifica os mtodos que sero aplicados na conduo da reviso e a sua
importncia est associada reduo da possibilidade do vis do pesquisador e na
possibilidade de sua avaliao e repetio por outros pesquisadores.
2.7.2.1 Questo de Pesquisa
O objetivo dessa pesquisa realizar uma quasi-reviso sistemtica a fim de
caracterizar as abordagens de teste de software para aplicaes Web descritas na
literatura tcnica, identificando os elementos que compem as diferentes abordagens,
suas caractersticas e instrumentos de apoio empregados nas atividades do processo
de teste.
Desta forma, visando melhor compreender as caractersticas das aplicaes
Web e quais abordagens de teste de software estariam disponveis na literatura
tcnica para serem selecionadas para os projetos de software Web, acreditamos que
uma importante questo de pesquisa a ser respondida :

24

Q: Que abordagens de testes para aplicaes Web ou para aplicaes que


utilizam a Web tm sido propostas e quais suas principais caractersticas?

2.7.2.2 PICO
O objetivo da reviso caracterizar as abordagens de teste de software para
aplicaes Web descritas na literatura tcnica, identificando os elementos que
compem as diferentes abordagens. Para isso, a questo de pesquisa Q deve ser
estruturada de acordo com a estratgia PICO:

(P) Populao: Aplicaes Web, aplicaes que dependem da infra-estrutura


Web para sua execuo e as categorias de aplicaes Web identificadas por GINIGE
e MURUGESAN (2001) e por KAPPEL (2004) ;
(I) Interveno: Abordagens de teste aplicadas em projetos de software Web.
(C) Comparao: No h.
(O)Resultados (Outcomes): Elementos que compem as diferentes
abordagens de teste para aplicaes Web.

A expresso de busca formada pelas palavras chave definidas a partir da


combinao lgica das dimenses PICO (Populao, Interveno, Comparao e
Resultado):
S: (Termos da Populao) AND (Termos da Interveno) AND (Termos da
Comparao) AND (Termos do Resultado - Outcome)

Entretanto, para no restringir demais os elementos que compem as


diferentes abordagens de teste de software, o elemento Resultado no foi includo na
definio dos termos chave, j que estes termos representam as definies que
devero ser extradas dos artigos. Desta forma, a expresso de busca estruturada
apenas a partir das dimenses Populao e Interveno, visto que no foram
identificados elementos de Comparao. Convertendo as dimenses pelas palavras
chave definidas, teremos:
S: (Termos da Populao) AND (Termos da Interveno)

25

Onde:
Termos da Populao = conjunto de termos que identificam aplicaes Web.
Termos da Interveno = conjunto de termos sobre Abordagem e Teste.

2.7.2.3 Palavras Chave


As palavras chave foram definidas a partir dos elementos PICO (Populao,
Interveno, Comparao e Resultado) (PAI et a. 2004). A populao ser
representada pelo conjunto de termos que identificam as aplicaes Web e aplicaes
que dependem da infra-estrutura Web para sua execuo. A interveno ser
representada pelos termos que descrevem abordagens de teste de software. No
foram identificados para esse estudo elementos de comparao e optamos no incluir
o elemento resultado na definio dos termos chave, a fim de caracterizar as
diferentes abordagens de teste de software para aplicaes Web a partir das questes
secundrias. Segue abaixo a lista dos termos identificados:

Aplicaes: Web Application, Web system, Web-based system, Web-based


application, Web software, Web Services, Internet applications, agent-based system,
agent-based software, agent-based application, Knowledge-based system, Knowledgebased software, Knowledge-software, Workflow, Ubiquitous system, Ubiquitous
software, Ubiquitous application, e-commerce, e-government, Collaborative System,
Network sensor, client-server, multi-layer, grid computing.

Abordagem: process, approach, method, technique, methodology, strategy.

Teste: Software Test, Software Testing, System Test, System Testing, Test
Web, Testing Web, Web test, Web testing, Web application testing.
2.7.2.4 Definio das mquinas de busca
A mquina de busca escolhida para a execuo da reviso foi a Scopus
(http://www.scopus.com/) visto que a sua base de dados cataloga a maior parte dos
artigos existentes em diferentes bibliotecas digitais ou outras mquinas de busca
(Compendex, IEEE , ACM Digital Library, Springer, Web of Science). Desta forma, foi
considerado que a cobertura oferecida por esta mquina de busca seria suficiente
para o escopo desta pesquisa.

26

2.7.2.5 Expresso de Busca


A expresso de busca submetida mquina Scopus foi:
TITLE-ABS-KEY(({Web Application} OR {Web Applications} OR {Web
system} OR {Web systems} OR "Web-based system" OR "Web-based application" OR
{Web software} OR {Web Service} OR {Web Services} OR {Internet application} OR
{Internet applications} OR "agent-based system" OR "agent-based software" OR
"agent-based application" OR "Knowledge-based system" OR "Knowledge-based
software" OR "Knowledge-based application" OR "Workflow-based system" OR
"Workflow-based software" OR "Workflow-based application" OR {Ubiquitous System}
OR {Ubiquitous Systems} OR {Ubiquitous Software} OR {Ubiquitous application} OR
{Ubiquitous applications} OR {e-commerce} OR {e-government} OR {Collaborative
System} OR {Collaborative Systems} OR {Collaborative Software} OR {Collaborative
application} OR {Collaborative applications} OR {Network sensor} OR "client-server"
OR "multi-layer" OR {grid computing}) AND (({Software Test} OR {Software Testing}
OR {System Test} OR {System Testing} OR (Web W/2 test*)) AND (process OR
approach OR method OR technique OR methodology OR strategy)))

possvel observar que alguns termos aparecem entre aspas e outros entre
chaves. De acordo com as instrues descritas no help da mquina de busca Scopus,
o uso de chave retorna exatamente o termo nele descrito, sem variaes, enquanto o
uso de aspas retorna algumas variaes do termo descrito, como por exemplo, o uso
de hfen entre os termos, visto que a pontuao ignorada. Para alguns casos
interessante que essas variaes sejam retornadas. Foi utilizado tambm o operador
de proximidade W/n (Within) que retorna trabalhos onde os termos descritos so
encontrados a uma distncia de no mximo n termos.
A expresso de busca foi aplicada aos ttulos, resumos (abstracts) e palavraschave dos artigos.
2.7.2.6 Critrios de Incluso e Excluso de Artigos
Os critrios de incluso adotados foram:

Os artigos devem estar disponveis na Web;

Os artigos devem estar escritos em ingls;

Os artigos devem descrever uma abordagem de testes para aplicaes


Web;

Os artigos devem apresentar um exemplo, aplicao, prova de conceito ou


estudo sobre a abordagem proposta.

27

Os critrios de excluso adotados foram:

artigos que no apresentam abordagem de teste para aplicaes Web;

artigos que apresentam apenas o apoio automatizado sem se preocupar


em descrever esta abordagem;

artigos que apresentam apenas uma estratgia de gerao automtica de


casos de teste;

artigos que apresentam apenas uma estratgia de gerao automtica de


dados de teste;

abordagens que dependam de alguma forma de transformao dos


modelos em outras representaes, como redes de Petri, algoritmos,
representao matemtica ou cadeia de Markov;

abordagens baseadas em cdigo de teste ou baseadas em agentes;

artigo duplicado;

artigos que no apresentam nenhum tipo de avaliao;

artigos no disponveis na Web ou no disponibilizados pelos autores.

Artigos que descrevem chamadas de eventos (proceedings)

2.7.2.7 Procedimentos de seleo


O procedimento de seleo ser dividido em duas etapas. A primeira etapa
consiste na anlise dos ttulos e abstracts de todos os artigos retornados na pesquisa
quanto aos critrios de incluso e excluso. Entretanto, nesse momento no foi
avaliado se o trabalho apresentava algum estudo envolvendo a abordagem de teste
proposta, pois muitas vezes essa informao no est descrita nos abstracts. Aps a
avaliao, os artigos foram classificados como Candidato Incluso, Excludo ou
Indefinido. Foram excludos os trabalhos que apresentavam qualquer caracterstica
descrita nos critrios de excluso. Um pesquisador ir executar este procedimento que
dever ser revisado por um segundo pesquisador por amostragem. No havendo
consenso sobre determinado estudo, o mesmo ser classificado como indefinido.
Na segunda etapa do procedimento de seleo, todos os artigos classificados
como Candidato Incluso ou Indefinido foram analisados qualitativamente e
novamente avaliados sob a perspectiva da presena dos critrios de incluso ou
ausncia dos critrios de excluso. Apenas nesse momento foi avaliado se o trabalho
apresentava algum estudo envolvendo a abordagem de teste proposta. Aps esta
anlise eles foram classificados como Includo, Excludo ou Indefinido. Foram

28

excludos os trabalhos que apresentavam qualquer caracterstica descrita nos critrios


de excluso. Esta etapa foi executada por um pesquisador e revisada por outro
envolvido no estudo, por amostragem. No havendo consenso sobre algum trabalho, o
mesmo foi classificado como indefinido.
A estratgia de extrao dos dados foi aplicada aos artigos classificados como
Includo ou Indefinido que foram caracterizados sob as dimenses definidas pelas
questes secundrias apresentadas a seguir.
2.7.2.8 Questes Secundrias
A partir do universo de artigos selecionados na conduo da reviso, foram
analisadas diferentes caractersticas relacionadas s abordagens de teste para
aplicaes Web. Essa anlise foi direcionada pelas questes secundrias da
pesquisa, descritas a seguir:

QS1) A abordagem utiliza alguma ferramenta de apoio?


As abordagens de teste normalmente requerem passos complexos e um dos
fatores que facilitam a sua utilizao a existncia de apoio ferramental. Nesse
contexto, as abordagens de teste sero categorizadas quanto existncia de algum
apoio ferramental para sua utilizao.
importante destacar que as abordagens selecionadas apresentam algum
mtodo, estratgia ou processo para testar aplicaes Web e que as ferramentas
utilizadas devem ser instrumentos de apoio que facilitam sua execuo. A ausncia de
ferramentas no deve inviabilizar a execuo da abordagem.
As ferramentas de teste normalmente automatizam algumas tarefas requeridas
pelo processo proposto, auxiliando, por exemplo, na gerao dos casos de teste, na
execuo dos testes e na avaliao dos resultados. Alm disso, as ferramentas de
teste podem apoiar na produo de documentao de teste na sua gesto de
configurao (DI LUCCA e FASOLINO, 2006).

QS2) A abordagem aplicvel para quais categorias de aplicaes que utilizam a


Web?
Os trabalhos selecionados foram classificados quanto categoria da aplicao
na qual a abordagem pode ser aplicada. Na reviso realizada foi considerado como
categorias de aplicaes Web aquelas definidas por GINIGE E MURUGESAN (2001) e
KAPPEL (2004): Sistemas baseados no conhecimento, workflow, sistemas ubquos,
comrcio eletrnico, sistemas colaborativos, dentre outras detalhadas no item 2.3
deste trabalho.

29

QS3) Quais caractersticas de qualidade so avaliadas pela abordagem?


Foi indicado o conjunto de caractersticas de qualidade descritas na norma
ISO/IEC

9126

(2002)

(funcionalidade,

eficincia,

usabilidade,

confiabilidade,

portabilidade e a subcaratersitca segurana), que a abordagem de teste para


aplicaes Web capaz de avaliar, considerando o mapeamento descrito na Tabela
2.1.

QS4) Qual nvel de abstrao de teste usado pela abordagem?


As abordagens de teste para aplicaes Web tambm foram classificadas de
acordo com o nvel de teste no qual elas podem ser utilizadas. Foram considerados
testes de unidade, teste de integrao, teste de sistema e teste de aceitao.
Apesar de no ser considerado um nvel de teste, o Teste de Regresso
tambm foi tratado como tal para fins dessa classificao. Esse tipo de teste
realizado em cada manuteno do sistema com o objetivo de garantir que os novos
requisitos implementados no afetaram funcionalidades j existentes.

QS5) Qual tcnica de teste utilizada pela abordagem?


Essa classificao considerou o tipo de tcnica de teste que utilizada pela
abordagem de teste para aplicaes Web. Ser Funcional quando a tcnica utilizada
considerar a aplicao a ser avaliada como uma caixa preta; e Estrutural (ou caixa
branca) quando a abordagem considerar o cdigo-fonte da aplicao ou modelos de
cobertura que especificam a representao de elementos que devero ser exercitados
na atividade de teste.
A observao dos critrios de cobertura para explorar, exercitar e avaliar as
aplicaes sob anlise ser importante para ajudar a distinguir a tcnica de teste
utilizada pela abordagem.

QS6) Qual tipo de anlise de teste realizada pela abordagem?


O tipo de anlise de teste que a abordagem realiza ser classificado como
Esttico ou Dinmico. Ser Esttico quando o comportamento da aplicao que se
deseja avaliar no influenciado pela interao do usurio. Caso contrrio, ser
classificado como Dinmico (ex.: avaliao de pginas que podem ser construdas
dinamicamente em resposta a entradas de usurios).

30

QS7) A abordagem est inserida em alguma metodologia de desenvolvimento de


aplicaes Web (OOHDM, WebML, W2000, OOWS, OO-H, WAE, UWE, ADM, HDM,
RMM)?
As abordagens de teste para aplicaes Web podem ser associadas s
metodologias de desenvolvimento como um mecanismo de integrao entre as
atividades e reduo de esforo e custo para construo dos testes. Para classificar as
abordagens retornadas no estudo, sero consideradas as metodologias de
desenvolvimento Web identificadas a partir de estudo secundrio realizado
inicialmente por CONTE et. al. (2005) e atualizado por

MASSOLAR (2008),

destacadas no item 2.5.

QS8) Qual estudo envolvendo a abordagem de teste proposta foi descrito?


O foco da reviso est na identificao de estudos que descrevam abordagens
de teste para aplicaes web que apresentem algum relato de uso ou estudo
experimental que retrate a aplicabilidade das abordagens identificadas. Nesse sentido,
os trabalhos selecionados sero classificados de acordo com o estudo apresentado,
conforme detalhado a seguir:

Estudo

de

caso:

So

estudos

que

investigam

um

fenmeno

contemporneo dentro de um contexto real, especialmente quando os


limites do fenmeno e do contexto no so claros (YIN, 2003). So
conduzidos com o propsito de se investigar uma entidade ou um
fenmeno dentro de um espao de tempo especfico (MAFRA et al.,
2006).

Estudo Experimental: uma forma de estudo onde o pesquisador tem


controle sobre algumas das condies na qual o estudo est sendo
executado e tambm sobre as variveis que esto sendo estudadas.
Representam a idia geral de estudos em Engenharia de Software.
Entretanto, para serem considerados como um experimento no sentido
geral do termo, preciso considerar a aleatoriedade na escolha da
populao, o que muito difcil em Engenharia de Software. (WIKI
ESE, 2011).

Relato de Uso (Exemplo ou Prova de Conceito): Qualquer relato de uso


demonstrando a aplicao da abordagem atravs de um exemplo ou
prova de conceito.

31

2.7.2.9 Extrao de Informaes


Para analisar os estudos retornados na pesquisa necessrio que as questes
secundrias sejam respondidas. Para isso, ser extrado do contedo de cada artigo
selecionado as informaes abaixo listadas. Quando cabvel, foi identificada a questo
secundria que orientou a extrao da respectiva informao.

Ttulo do Artigo

Autores

Fonte

Ano de Publicao

Descrio da abordagem de teste para aplicaes Web

Ferramenta utilizada para automao da abordagem (QS1)

Categoria aplicvel (QS2)

Caractersticas de Qualidade avaliadas pela abordagem de teste


proposta (QS3)

Nvel de abstrao de teste (sistema, integrao, unidade, aceitao,


regresso) usado pela abordagem (QS4)

Tcnica de Teste (Funcional, Estrutural) utilizada pela abordagem


(QS5)

Tipo de anlise de teste (Esttica, Dinmica) realizada pela abordagem


(QS6)

Metodologia de desenvolvimento de aplicaes Web (QS7)

Tipo do Estudo utilizado para avaliar a abordagem (QS8)

2.7.3 Execuo da Reviso


Ao longo da pesquisa, o protocolo foi executado duas vezes:

Agosto de 2009. Na primeira execuo foram retornados 564 trabalhos. O


procedimento de seleo foi dividido em duas etapas. A primeira etapa consistiu na
anlise de todos os abstracts dos artigos retornados na pesquisa quanto aos
critrios de excluso e incluso, exceto aquele que determina a apresentao de
um estudo sobre a abordagem proposta. Dessa forma, 60 trabalhos puderam ser
classificados como Indefinidos, 122 como Candidatos a Incluso e 382 foram
excludos.
No entanto, dos 182 trabalhos selecionados (Candidatos a Incluso +
Indefinidos), 62 no permitiam acesso atravs do Portal de Peridicos da CAPES.
Dentro desse conjunto, foi possvel identificar o e-mail dos autores de 47 artigos.
No perodo de 27 a 28 de setembro de 2009, foram enviados e-mails para os

32

autores solicitando o envio dos trabalhos no disponveis. Destes, 13 autores


enviaram cpias de seus trabalhos.
Na segunda etapa do procedimento de seleo, todos os artigos
classificados como Candidato Incluso ou Indefinido foram analisados
qualitativamente e avaliados sob a perspectiva dos critrios de incluso e
excluso. Nesse momento, 12 trabalhos foram classificados como Indefinidos, 59
foram Includos e 111 foram excludos. Desta forma, 71 artigos foram selecionados
(Includos + Indefinidos).
Na pesquisa realizada, foram consideradas como categorias de aplicaes
Web aquelas definidas por GINIGE e MURUGESAN (2001) e por KAPPEL (2004):
Sistemas baseados no conhecimento, workflow, sistemas ubquos, comrcio
eletrnico, sistemas colaborativos. Em complemento, buscou-se ainda por
sistemas baseados em agentes, e-government, sensores de rede, aplicaes
cliente-servidor, multicamadas, grids computacionais e aplicaes Network sensor
devido ao entendimento de que tais aplicaes esto inseridas na definio de
aplicaes Web adotada nesse trabalho. Entretanto, aps a anlise do resultado
da busca, foi possvel observar que alguns trabalhos retornados em razo da
utilizao desses termos, na maioria das vezes, no estavam relacionados s
aplicaes Web. Nesse sentido, o protocolo foi evoludo quantos aos termos
utilizados e foi elaborada uma nova string de busca.

Foram removidas as

palavras-chaves Network sensor, client-server, multi-layer e grid computing.


Alm disso, os termos referentes s categorias de aplicaes identificadas por
GINIGE e MURUGESAN (2001) e por KAPPEL (2004) foram associados palavra
Web para que os trabalhos retornados em razo da utilizao desses termos
estejam relacionados s aplicaes Web. Segue abaixo a nova string de busca
com as alteraes mencionadas:

TITLE-ABS-KEY((({Web Application} OR {Web Applications} OR {Web


system} OR {Web systems} OR "Web-based system" OR "Web-based application"
OR {Web software} OR {Web Service} OR {Web Services} OR {Internet application}
OR {Internet Applications} OR {e-commerce} OR {e-government} OR (("agentbased system" OR "agent-based software" OR "agent-based application" OR
"Knowledge-based system" OR "Knowledge-based software" OR "Knowledgebased application" OR "Workflow-based system" OR "Workflow-based software"
OR "Workflow-based application" OR {Ubiquitous System} OR {Ubiquitous
Systems} OR {Ubiquitous Software} OR {Ubiquitous application} OR {Ubiquitous
applications} OR {Collaborative System} OR {Collaborative Systems} OR

33

{Collaborative Software} OR {Collaborative application} OR {Collaborative


applications})AND Web))AND (({Software Test} OR {Software Testing} OR {System
Test} OR {System Testing} OR (web W/2 test*)) AND (process OR approach OR
method OR technique OR methodology OR strategy))))

Verificou-se que todos os trabalhos selecionados na primeira execuo


retornaram aps a modificao da string de busca.

Setembro de 2010: Na re-execuo da reviso, utilizando o protocolo evoludo,


foram retornados mais 237 novos trabalhos, dentre os quais 43 classificados como
Indefinidos, 48 como Candidatos a Incluso e 146 foram excludos aps a anlise
do ttulo e abstract. Dos 91 trabalhos selecionados (Candidatos a Incluso +
Indefinidos), 24 no permitiam acesso atravs do Portal de Peridicos da CAPES.
Entretanto, para todos eles foi possvel identificar o e-mail dos autores. No perodo
de 26 a 28 de outubro de 2010, foram enviados e-mails para os autores solicitando
o envio dos trabalhos no disponveis. Destes, 8 autores enviaram cpias de seus
trabalhos.
Na segunda etapa do procedimento de seleo, todos os artigos
classificados como Candidato Incluso ou Indefinido foram analisados
qualitativamente e avaliados sob a perspectiva dos critrios de incluso e
excluso. Nesse momento, 5 trabalhos foram classificados como Indefinidos, 25
foram Includos e 61 foram excludos. Desta forma, 30 artigos foram selecionados
(Includos + Indefinidos).

A lista completa dos artigos identificados ao longo das duas execues do


protocolo da reviso est disponvel no Apndice A deste trabalho, onde possvel
verificar o critrio que motivou a excluso de cada publicao. A Tabela 2.2 informa os
motivos de excluso e quantidade de artigos associados.
Tabela 2.2. Classificao dos Artigos Excludos.
Motivo da Excluso
No apresenta abordagem de teste para aplicaes Web
Apresenta apenas o apoio automatizado sem se preocupar em descrever
esta abordagem
Apresenta estratgia de gerao automtica de casos de teste.
Apresenta estratgia de gerao automtica de dados de teste.
Abordagem depende de alguma forma de transformao dos modelos em
outras representaes, como redes de Petri, algoritmos, representao
matemtica ou cadeia de Markov
Abordagens baseadas em cdigo de teste ou baseadas em agentes;
Artigo duplicado

34

Quantidade de
Artigos
359
52
26
07

40
14
38

No apresenta nenhum tipo de avaliao


"Proceedings"
Artigo no disponibilizado

41
58
65
700

Total:

A partir do universo dos 101 artigos selecionados nas execues da reviso, as


informaes e caractersticas relacionadas a cada abordagem de teste para
aplicaes Web foram extradas e analisadas. A lista das abordagens identificadas
apresenta na Tabela 2.3, que apresenta uma categorizao inicial das abordagens de
teste selecionadas. Na seo 2.7.4, ser apresentado um detalhamento das anlises
realizadas. Esses dados foram utilizados na construo da estrutura de caracterizao
(corpo de conhecimento) de tais abordagens cuja proposta e avaliao sero
apresentados no Captulo 3.

Tabela 2.3. Caracterizao das Abordagens WAT.


Autores

Categoria

Caracterstica
de Qualidade

Nvel de
Teste

Ferramenta

Tcnica
de Teste

Tipo de
Anlise

Metodolog.
de Desenv.

Tipo de Estudo

Sim

Aceitao

Funcional

Esttico

Estudo de Caso

Anandhan et al. 2006

Funcionalidade
Confiabilidade
Browser-Based Usabilidade

No

Aceitao

Dinmico

Estudo de Caso

Andreolini et al. 2005

Browser-Based

No

Sistema

Funcional
Funcional
Estrutural

Dinmico

Estudo de Caso

Exemplo

Amyot et al. 2005

Browser-Based

Eficincia

Sim

Sistema

Funcional

Dinmico

Antunes e Vieira 2009


Avritzer e Weyuker 2004
Barber 2004
Baresi et al. 2005

Funcionalidade
Confiabilidade
Servios Web
Segurana
e-commerce
Eficincia
Browser-Based
Eficincia
Browser-Based
-

Sim
Sim
No
Sim

Estrutural
Funcional
Funcional
Funcional

Dinmico
Dinmico
Dinmico
Dinmico

Bartolini et al. 2009

Servios Web

No

Sistema
Sistema
Sistema
Sistema
Unidade
Integrao

Funcional

Dinmico

Estudo de Caso

Bellettini et al. 2005

Browser-Based Funcionalidade

Sistema

Estrutural

Esttico
Dinmico

Estudo de Caso

No

Sistema

Funcional

Dinmico

Estudo de Caso

Sim
No
Sim

Sistema
Sistema
Sistema
Sistema
Regresso

Estrutural
Funcional
Funcional

Esttico
Dinmico
Dinmico

Estudo de Caso
Exemplo
Estudo de Caso

Funcional

Dinmico

Aplicao

Exemplo

Andrews et al. 2005

Browser-Based

Eficincia
Belli and Linschulte 2008 Servios Web
Segurana
Belli and Linschulte 2010 Servios Web Confiabilidade
Bertolino et al. 2006
Servios Web Confiabilidade
Bezemer et al 2009
AJAX
Segurana
Eficincia
Cavalli et al. 2007
e-learning
Funcionalidade
Servios Web
Chang 2006
Usabilidade
e-Learning
Chengying 2008
Servios Web Funcionalidade
Funcionalidade
Cho et al. 2005
Browser-Based
Confiabilidade
Ciampa et al 2010
Browser-Based
Segurana
Conroy et al. 2007

Sim

Sim
Sim

Sistema

Funcional

Dinmico

Sim

Funcional

Dinmico

Exemplo

Estrutural

Dinmico

WebML

Exemplo

Funcional

Dinmico

Estudo Experimental

Funcional

Esttico

Estudo Experimental

Funcional
Estrutural
Funcional
Funcional
Estrutural

Dinmico
Esttico
Dinmico
Dinmico
Esttico

Exemplo
Estudo Experimental
Estudo Experimental
Estudo Experimental
Estudo de Caso

Funcional
Estrutural

Dinmico

Exemplo

Sim

Sistema
Unidade
Integrao
Sistema
Unidade
Regresso
Sistema
Sistema
Sistema
Sistema
Integrao
Unidade
Integrao
Regresso
Unidade

Estrutural

Esttico

Prova de Conceito

Sim

Integrao Funcional

Dinmico

Estudo de Caso

Dinmico

Estudo de Caso

Esttico

Estudo Experimental

Sim
Sim

Servios Web Funcionalidade

Sim
Sim
Sim
Sim
Sim
Sim
No

Gutiarrez et al 2006

Browser-Based
Eficincia
Browser-Based Portabilidade
Browser-Based Funcionalidade
Browser-Based Funcionalidade
Servios Web
Confiabilidade
Browser-Based Funcionalidade
Segurana
Servios Web Confiabilidade
Confiabilidade
Servios Web
Eficincia
Funcionalidade
Browser-Based Confiabilidade

Sim

Unidade

Halfond 2009

Browser-Based

Sim

Sistema

Draheim et al. 2006


Eaton and Memon 2007
Elbaum et al 2003
Elbaum et al 2005
Endo et al. 2008
Feng et al. 2004
Fu et al. 2004
Fugini et al. 2008

Segurana

Estudo Experimental
Estudo de Caso
Aplicao
WebML
Estudo de Caso

35

Funcional
Funcional
Estrutural

Hanna and Munro 2008


Haydar et al. 2008
Huang et al. 2004
Jiang e Jiang 2009
Jokhio et al. 2009
Almeida Jrior and
Vergilio 2006

Servios Web Confiabilidade


Funcionalidade
Confiabilidade
Browser-Based
Segurana
Usabilidade
Browser-Based
Segurana
Browser-Based
Eficincia
Servios Web Funcionalidade

Sim

Sistema

Funcional

Dinmico

Prova de Conceito

Sim

Sistema

Funcional

Dinmico

Estudo Experimental

Sim
Sim
Sim

Funcional
Funcional
Funcional

Dinmico
Dinmico
Esttico

Estudo Experimental
Estudo Experimental
Exemplo

Servios Web Confiabilidade

Sim

Funcional

Dinmico

Estudo de Caso

Estrutural

Esttico

Estudo de Caso

Confiabilidade

No
No
No
Sim

Estrutural
Estrutural
Estrutural

Dinmico
Dinmico
Esttico

Exemplo
Exemplo
Exemplo

No

Integrao Funcional

Dinmico

Estudo de Caso

Sim

Integrao Estrutural

Esttico

Estudo de Caso

Li et al. 2007
Li et al. 2005

Servios Web
Servios Web
Browser-Based Confiabilidade
Confiabilidade
Servios Web
Funcionalidade
Servios Web
Confiabilidade
Workflow
Servios Web Confiabilidade
Funcionalidade
Browser-Based Confiabilidade
Segurana
Browser-Based Funcionalidade
Funcionalidade
Browser-Based
Confiabilidade
Browser-Based Confiabilidade
Servios Web Confiabilidade

Unidade
Sistema
Sistema
Integrao
Regresso
Unidade
Integrao
Integrao
Sistema
Sistema

Li e Sun 2006

Servios Web Funcionalidade

Sim

Li et al. 2009

Servios Web

Lin et al. 2006


Lin et al. 2009
Liu et al. 2008

Servios Web
Browser-Based
Servios Web

Liu et al. 2001

Browser-Based

Liu et al. 2000


Louw e Venkatakrishnan
2009

Karam et al. 2006


Karam et al. 2007
Keum et al. 2006
Koopman et al. 2007
Kuk e Kim 2009
Lertphumpanya and
Senivongse 2008
Li et al. 2008 (a)
Li e Miao 2008
Li et al. 2008 (b)
Li et al. 2008

Workflow

Estudo Experimental

No

Sistema

Funcional

Esttico

Exemplo

No

Sistema

Funcional

Dinmico

Exemplo

Sim

Sistema

Funcional

Dinmico

Exemplo

Sim
No

Sistema
Unidade
Unidade
Regresso
Sistema
Regresso
Regresso
Unidade
Integrao
Unidade
Integrao
Unidade
Integrao
Sistema

Funcional
Estrutural

Dinmico
Esttico

Estudo Experimental
Exemplo

Funcional

Dinmico

Exemplo

Estrutural

Sistema

Funcional

No

Browser-Based

Segurana

Sim

Marchetto 2008

Browser-Based

Mesbah e Deursen 2009

Funcionalidade
Confiabilidade

Servios Web Confiabilidade

Mayer e Labke 2006

Dinmico

Browser-Based

Mao 2009

Marchetto et al. 2008 (b)

Funcional

Sim
Sim
No

Lucca et al. 2006


Luo et al. 2009

Marchetto et al. 2008 (a)

Sistema

Funcionalidade
Confiabilidade
Funcionalidade
Segurana
Confiabilidade
Funcionalidade
Confiabilidade

Funcionalidade
Browser-Based
Segurana
Browser-Based Funcionalidade
Browser-Based Confiabilidade

Lucca et al. 2002

No

Funcionalidade
Confiabilidade
Confiabilidade
Funcionalidade
AJAX
Segurana
Portabilidade
Confiabilidade
Browser-Based Usabilidade
Funcionalidade
Servios Web Funcionalidade
AJAX

Confiabilidade

Eficincia
Mostefaoui e Simpson 2008 Servios Web Funcionalidade
Segurana
Noikajana e Suwannasart
Confiabilidade
Servios Web
2008
Funcionalidade
Confiabilidade
Offutt et al. 2008
Browser-Based
Segurana
Confiabilidade
Offutt et al. 2004
Browser-Based
Segurana
Servios Web
Pentafronimos et al. 2008
e-government
Perumal e Dhavachelvan
Browser-Based
Eficincia
2008
Funcionalidade
Probert et al. 2003
e-commerce
Segurana

Sim

No

Sim
Sim
Sim
No

Unidade
Integrao
Sistema
Sistema
Unidade
Integrao

Funcional

Dinmico

Exemplo

Funcional
Funcional
Estrutural

Dinmico
Dinmico
Esttico
Esttico
Dinmico

Exemplo
Estudo Experimental
Exemplo

Exemplo

Esttico

Exemplo

Dinmico

Estudo Experimental

Estudo de Caso

Estudo de Caso
Estudo Experimental

Estrutural

Funcional
Estrutural

Esttico
Dinmico
Dinmico
Dinmico

Funcional

Dinmico

Estudo de Caso

Funcional

Sim

Sistema

Funcional

Dinmico

Estudo Experimental

No

Sistema

Funcional

Dinmico

Estudo de Caso

No

Aceitao

Funcional

Dinmico

Estudo Experimental

No

Unidade
Unidade
Regresso

Sim

Estrutural

Esttico

Exemplo

Estrutural

Dinmico

Estudo de Caso

Sim

Unidade
Regresso

Funcional
Estrutural

Esttico
Dinmico

Exemplo

Sim

Sistema

Funcional

Dinmico

Exemplo

Sim

Sistema

Funcional

Dinmico

Estudo de Caso

No

Sistema

Funcional

Dinmico

No

Sistema

Funcional

Dinmico

Exemplo

Sim

Sistema

Funcional

Dinmico

Estudo Experimental

No

Unidade

Funcional

Dinmico

Estudo de Caso

36

WebML Estudo Experimental

Eficincia
Confiabildiade
Raffelt et al. 2008
Rajan et al. 2009
Reza et al. 2008

Browser-Based

Funcionalidade
Segurana
Funcionalidade
Browser-Based
Confiabildiade
Browser-Based

Ricca e Tonella 2002

Browser-Based

Ricca e Tonella 2001


Ruth et al. 2007
Salva e Rabhi 2010
Sampath et al. 2008
Shahriar e Zulkernine
2008
Shahriar e Zulkernine 2010
Shams et al. 2006
Shimomura e Ikeda 2010

Tarhini et al. 2008

Browser-Based
Servios Web
Servios Web Confiabilidade
Servios Web
Segurana
Browser-Based
Confiabilidade
Browser-Based
Segurana
Browser-Based
Eficincia
Browser-Based Funcionalidade
Confiabilidade
Servios Web
Funcionalidade
Servios Web Confiabilidade
Browser-Based Confiabilidade
AJAX
Segurana
Confiabildiade
Browser-Based
Segurana
Browser-Based
-

Tarpe et al. 2008

Browser-Based

Tian e Ma 2006

Browser-Based

Siblini e Mansour 2005


Solino e Vergilio 2009
Sprenkle et al. 2005
Sun et al. 2009
Tappenden e Miller 2008

Sim

Regresso

Funcional
Estrutural

Esttico
Dinmico

Exemplo

Sim

Unidade

Estrutural

Esttico

Estudo de Caso

Estrutural

Dinmico

Estudo de Caso

Estrutural

Esttico

Estudo de Caso

Estrutural
Estrutural
Funcional
Funcional

Esttico
Esttico
Dinmico
Dinmico

RMM
-

Estudo de Caso
Estudo de Caso
Exemplo
Estudo Experimental

Sim
No
No
No

Unidade
Integrao
Integrao
Regresso
Regresso
Regresso
Sistema
Regresso

Sim

Unidade

Estrutural

Dinmico

Estudo Experimental

Sim
Sim
Sim

Sistema
Sistema
Regresso

Funcional
Funcional
Estrutural

Dinmico
Dinmico
Dinmico

Estudo Experimental
Estudo Experimental
Exemplo

No
Sim

No

Sistema

Funcional

Dinmico

Exemplo

Sim
Sim
Sim

Sistema
Sistema
Sistema

Funcional
Funcional
Funcional

Dinmico
Dinmico
Dinmico

Estudo de Caso
Estudo de Caso
Estudo Experimental

No

Sistema

Estrutural

Esttico

Exemplo

No

Regresso

Dinmico

Estudo de Caso

Segurana

Sim

Sistema

Fucnional
Funcional
Estrutural

Dinmico

Exemplo

Confiabilidade
Funcionalidade
Eficincia
Usabilidade

No

Dinmico

Estudo de Caso

Tonella e Ricca 2002

Browser-Based Confiabilidade

No

Esttico
Dinmico

Estudo de Caso

Tsai et al. 2005

Servios Web Funcionalidade

Sim

Dinmico

Estudo de Caso

Wang e Huang 2008

No

Dinmico

Estudo de Caso

Xie et al. 2007

Servios Web Confiabilidade


Segurana
Browser-Based
Confiabilidade
Servios Web
-

Yang et al. 2010

Servios Web

Sim

Wu et al. 2010

Yu et al. 2009
Zhang et al. 2007
Zheng e Chen 2007

Funcionalidade
Confiabilidade
Servios Web
Browser-Based
Browser-Based

Unidade
Funcional
Integrao
Sistema

Unidade
Funcional
Integrao
Integrao Funcional

Sim
Sim

Estrutural

Unidade

Estrutural

Unidade Funcional
Integrao
Funcional
Regresso

Esttico

Exemplo

Dinmico

Exemplo

Dinmico

Estudo de Caso

No

Aceitao

Funcional

Dinmico

Estudo Experimental

No
Sim

Sistema
Regresso

Estrutural
Estrutural

Dinmico
Dinmico

Estudo de Caso
Estudo Experimental

A Figura 2.3 apresenta a diviso dos artigos selecionados por ano de


publicao, na qual possvel observar o aumento da quantidade de artigos
descrevendo abordagens WAT at 2008. O declnio observado nos anos seguintes
pode ser atribudo demora na publicao dos trabalhos nas bibliotecas digitais. Isso
foi observado nas duas execues da reviso: A primeira execuo, realizada em
agosto de 2009, no retornou trabalhos publicados no referido ano, que s foram
capturados na execuo realizada em setembro de 2010.

37

Classificao dos Artigos Selecionados por Ano de


Publicao
27

Quantidade

30
25
20

5
0

17

15

15
10

11
7
1

10

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
Ano

Figura 2.3. Classificao dos Artigos Selecionados por Ano de Publicao.

2.7.3.1 Ameaas Validade


Como ameaas validade do estudo, ressaltamos que no foi possvel
recuperar 49 dos 182 artigos selecionados na primeira etapa da primeira execuo da
reviso. Isto porque, no foi possvel identificar os e-mails dos autores de 15 trabalhos
e 34 no foram disponibilizados pelos autores identificados. Pela mesma razo, no
foram recuperados 16 trabalhos selecionados na reexecuo da reviso. Entretanto,
possvel considerar que os artigos includos apresentam representatividade e trazem
informao sobre um conjunto abrangente de abordagens de teste de software
aplicveis a projeto de software Web.
Outra ameaa identificada est relacionada execuo da string de pesquisa
apenas na mquina Scopus. Entretanto, destaca-se que trabalhos executados ao
longo dos anos pelo grupo de Engenharia de Software Experimental da COPPE/UFRJ
identificaram que a cobertura oferecida pela Scopus considerada suficiente, na
medida que ela retorna maior parte dos artigos existentes em diferentes bibliotecas
digitais ou outras mquinas de busca (Compendex, IEEE , ACM Digital Library,
Springer, Web of Science)

2.7.4 Anlises dos Resultados


A partir do universo de artigos selecionados na execuo da reviso, foram
analisadas diferentes caractersticas relacionadas s abordagens de teste para
aplicaes Web. Essa anlise foi direcionada pelas questes secundrias da
pesquisa, descritas a seguir:
QS1: A abordagem utiliza alguma ferramenta de apoio?

38

QS2: A abordagem aplicvel para quais categorias de aplicaes que utilizam


a Web?
QS3: Quais caractersticas de qualidade so avaliadas pela abordagem?
QS4: Qual nvel de abstrao de teste usado pela abordagem?
QS5: Qual tcnica de teste utilizada pela abordagem?
QS6: Qual tipo de anlise de teste realizada pela abordagem?
QS7: A abordagem est inserida em alguma das metodologias conhecidas
para o desenvolvimento de aplicaes Web (OOHDM, WebML, W2000, OOWS, OOH, WAE, UWE, ADM, HDM, RMM)?
QS8: Foi descrito algum estudo envolvendo a abordagem de teste proposta?

Esquema de classificao por ferramenta de apoio (QS1)


A Tabela 2.4 apresenta o resultado da anlise quanto existncia de
ferramenta de apoio nas abordagens WAT selecionadas. Dentre os 101 artigos
selecionados, 64 apresentam algum tipo de apoio ferramental. As ferramentas
utilizadas foram classificadas em 2 tipos: prottipos e ferramenta comercial.
Verificamos

que

maior

parte

das

abordagens

de

teste

selecionada

(aproximadamente 75%) faz uso de prottipos.


Uma anlise complementar pode ser realizada no sentido de verificar quais
prottipos foram avaliados atravs de algum estudo, ou ainda, verificar se alguma
ferramenta foi utilizada ou referenciada em outros trabalhos, reforando a idia da
viabilidade de seu aproveitamento em algum projeto.

Tabela 2.4. Anlise das Abordagens pelo uso de Ferramentas.


Faz uso de ferramentas

No h indicao de apoio
ferramental

64

37

A utilizao de ferramentas indica que tais abordagens automatizam algumas


tarefas requeridas pelo processo proposto. Nesse sentido, interessante realizar uma
anlise complementar para verificar o nvel de complexidade dos passos no
automatizados para estimar o esforo, custo e tempo de execuo da abordagem
WAT.

Esquema de classificao por categoria da aplicao (QS2)


Aps a anlise preliminar do resultado da busca, foi possvel observar que os
trabalhos retornados em razo da utilizao dos termos associados s categorias, na
maioria das vezes, no estavam relacionados s aplicaes Web. A Tabela 2.5

39

apresenta o resultado da anlise quanto ao tipo da aplicao que a abordagem pode


ser aplicada.
Tabela 2.5. Anlise das Abordagens por Categoria da Aplicao.
Categoria

Quantidade de Artigos

Browser-Based

55

Servios Web

38

Comrcio Eletrnico

Workflow

Aplicaes Web Colaborativas

Aplicaes Web Ubquas


Aplicaes Web Baseadas no
Conhecimento
Aplicaes Web Baseadas em
Agentes

e-gorvernment
RIAS (Rich Internet
Applications)

0
0

Basicamente as categorias de aplicaes identificadas puderam ser divididas


em dois grandes grupos: abordagens de teste para aplicaes web baseadas na
utilizao de browsers ou navegadores que no se enquadram em nenhuma
classificao especfica (55 artigos) e abordagens para o teste de Servios Web (38
artigos).
Alm dessas, foram identificadas abordagens de teste para aplicaes de
comrcio eletrnico (2 artigos), e-learning (tipo colaborativo) (2 artigos), workflow (2
artigo) e e-government (1 artigo). Identificamos apenas 3 artigos relacionados a
abordagens que podem ser aplicveis a mais de uma categoria de aplicao web.
Foram encontradas ainda abordagens de teste para aplicaes denominadas
AJAX - Asynchronous Javascript And XML. Trata-se de aplicaes que utilizam o
recurso de solicitaes assncronas de informaes, para tornar pginas Web mais
interativas com o usurio.
Por essa razo, so classificadas como RIAS (Rich Internet Applications), ou
seja, os aplicativos da Web que incluem interaes avanadas e sofisticadas com o
usurio, que no seriam possveis de serem oferecidas no paradigma multipgina das
aplicaes Web tradicionais (MARCHETTO et al., 2008).
Por apresentar caractersticas especficas, foram identificadas na literatura
tcnica abordagens de teste igualmente especficas para essa classe de aplicaes
Web. Na reviso realizada foram identificados 4 artigos com tal direcionamento.

40

Esquema de classificao por caracterstica de qualidade coberta (QS3)


A Tabela 2.6 apresenta o mapeamento entre caractersticas e nmero de
trabalhos relacionados, no qual possvel observar que as abordagens WAT em sua
maioria avaliam a confiabilidade e a funcionalidade das aplicaes.

Tabela 2.6. Anlise das Abordagens por Caracterstica de Qualidade Coberta.


Caracterstica de
Qualidade

Quantidade de Artigos

Confiabilidade

47

Funcionalidade

38

Segurana

24

Eficincia

13

Usabilidade

Portabilidade

No Identificado

16

Na avaliao da confiabilidade, grande parte das abordagens verifica o fluxo de


navegao das aplicaes quanto ao processamento correto e a integridade dos links
(para evitar pginas inacessveis, links quebrados ou sem ponteramento adequado),
enquanto que, na avaliao da funcionalidade, verificado o comportamento da
aplicao de acordo com os requisitos funcionais e no funcionais.
Tambm merece destaque a quantidade de abordagens preocupadas com a
segurana das aplicaes. Neste caso, normalmente avaliado o controle de acesso
das aplicaes para garantir o acesso s funcionalidades somente por pessoas
autorizadas, as vulnerabilidades da aplicao e a sua capacidade de evitar ataques
atravs da injeo de cdigos maliciosos.
Existe ainda um grupo expressivo de abordagens que avalia a eficincia,
preocupando-se com o desempenho das aplicaes normalmente avaliado a partir de
anlises do tempo de resposta da aplicao em situaes extremas (alto nmero de
acesso concorrente). Tais abordagens so normalmente associadas utilizao de
ferramentas para simular grande quantidade de acesso s aplicaes.
Foram identificadas apenas 5 abordagens de teste para aplicaes Web que
avaliam a usabilidade, verificando a facilidade no uso da aplicao e aprendizagem
das terminologias, menus e navegao atravs de diferentes pginas da Web; e 2
abordagens que avaliam a portabilidade das aplicaes, buscando identificar erros
associados utilizao de diferentes navegadores e sistemas operacionais.

41

Esquema de classificao por nvel de teste (QS4)


As abordagens de teste para aplicaes Web foram classificadas de acordo
com o nvel de teste no qual elas podem ser utilizadas. Esse mapeamento foi realizado
considerando as definies dos nveis de teste encontrados na literatura ou a
perspectiva do autor, quando explicitada na abordagem proposta. Foi observado que
algumas abordagens cobrem mais de um nvel de teste (exemplo: teste de unidade e
integrao). A Tabela 2.7 descreve os resultados da anlise das abordagens WAT por
nvel de teste:

Tabela 2.7. Anlise das Abordagens por Nvel de Teste.


Nvel de Teste

Quantidade de Artigos

Unidade

26

Integrao

21

Sistema

54

Aceitao

Regresso

18

possvel observar uma maior incidncia de abordagens projetadas para


realizar Teste de Sistema, que em geral realizado quando o sistema est completo,
com todas as suas partes integradas. Existe um equilbrio entre a quantidade de
abordagens projetadas para realizar Teste de Unidade e Teste de Integrao, no
sendo rara a existncia de abordagens que podem ser aplicadas nos dois nveis de
teste.
Teste de Aceitao no ainda um nvel de abstrao to usual nas
abordagens de teste para aplicaes Web, apresentando a menor quantidade de
abordagens proposta para avaliar tal nvel de teste. Por outro lado, foi identificado um
nmero expressivo de abordagens WAT que avaliam o Teste de Regresso, que em
sua maioria, buscam identificar o conjunto de testes que devem ser executados para
garantir a confiana da aplicao aps a execuo de manutenes.
Destaca-se, porm, que no h um senso comum sobre a definio de unidade
nas aplicaes Web, que por sua vez tem conseqncia nas definies de teste de
unidade, integrao e sistema. Isto porque o conceito da unidade da aplicao varia
de acordo com as caractersticas da abordagem, como por exemplo, a categoria da
aplicao Web.
Nas aplicaes baseadas na utilizao de browsers, boa parte das abordagens
apresenta o entendimento semelhante a aquele apresentado em (DI LUCCA et al.,
2006), onde definido que as aplicaes Web so compostas por pginas que podem
ser de dois tipos: pginas clientes e pginas do servidor. As pginas Web podem ser

42

divididas por componentes, tais como formulrios, texto, imagens, scritps, cookies, e
integradas por links. Na abordagem proposta, o teste de unidade realizado para
validar os componentes de uma pgina Web, enquanto que os testes de integrao
so feitos considerando o relacionamento entre pginas.
No caso das aplicaes categorizadas como servios Web, em geral, so
analisados o comportamento e operaes dos servios Web. Nas aplicaes
colaborativas, as unidades consideradas so: frum, faqs, armazenamento de
arquivos, enquanto que nas abordagens de teste para aplicaes e-commerce, as
unidades consideradas so transaes de comrcio eletrnico realizadas. Nesse
sentido, foi realizada uma anlise qualitativa para identificar as unidades de teste
consideradas nas abordagens.

Esquema de classificao por tcnica de teste (QS5)


As abordagens de teste para aplicaes Web foram classificadas de acordo
com o tipo de tcnica que utilizada pela abordagem. Esse mapeamento foi realizado
considerando as definies das tcnica de teste encontradas na literatura
(apresentadas na Seo 2.6.2) e o critrio de cobertura utilizado. A Tabela 2.8
descreve os resultados da anlise das abordagens WAT por tipo de tcnica de teste:

Tabela 2.8. Anlise das Abordagens por Tcnica de Teste.


Tcnica de Teste

Quantidade de
Artigos

Funcional (Caixa-Preta)

64

Estrutural (Caixa-Branca)

31

Ambas (Caixa-Cinza)

A tcnica de teste funcional utilizada pela maioria das abordagens WAT


selecionadas na reviso. As abordagens de teste para servios web, por exemplo,
refletem a predominncia da utilizao da tcnica de teste funcional, pois muitas vezes
a estrutura do servio no est disponvel. Foram identificadas em menor nmero,
abordagens que utilizam tcnica de teste caixa cinza, ou seja, uma combinao entre
as tcnicas funcionais e estruturais, que considera tanto o comportamento da
aplicao quando a sua estrutura interna.
Adicionalmente, foi realizada uma anlise qualitativa para identificar os critrios
de coberturas considerados pelas abordagens WAT, visto que tal informao tambm
foi considerada no mapeamento apresentado.

43

Esquema de classificao por anlise de teste (QS6)


As abordagens de teste para aplicaes Web foram classificadas de acordo
com o tipo de anlise realizada. Esse mapeamento foi realizado considerando se o
comportamento da aplicao que se deseja avaliar ou no influenciado pela
interao do usurio. A Tabela 2.9 descreve os resultados da anlise das abordagens
WAT por anlise de teste:
Tabela 2.9. Anlise das Abordagens por Tipo de Anlise de Teste.
Tipo de Anlise

Quantidade de Artigos

Dinmica

72

Esttica

23

Ambos

A anlise dinmica utilizada pela maioria das abordagens WAT selecionadas


na reviso, o que se justifica devido ao aspecto dinmico que predomina neste tipo de
aplicao.

Esquema de classificao por metodologia de desenvolvimento de aplicaes


Web (QS7)
Nesta pesquisa, foram encontradas apenas 4 abordagens de testes associadas
a 2 metodologias de desenvolvimento Web identificadas a partir de estudo secundrio
realizado inicialmente por CONTE et. al. (2005) e atualizado por MASSOLAR (2008).
A WebML foi referenciada por 3 artigos, enquanto que a RMM foi citada por
apenas um trabalho. As demais metodologias no foram referenciadas nos trabalhos
selecionadas na reviso.
BARESI et al. (2005) utilizam a metodologia WebML, porm ressalta que os
resultados obtidos independem da linguagem de modelagem utilizada. O modelo
apresentado em OFFUT et al. (2004) complementar ao WebML. CHO et al. (2005)
propem uma abordagem e a compara com a WebML. A metodologia proposta por
RICCA e TONELLA (2001) baseada na RMM.

Esquema de classificao de acordo com o estudo apresentado (QS8)


Esse mapeamento considerou a perspectiva do autor da abordagem sobre a
avaliao realizada na proposta. Nesse contexto, em 38 artigos foi informado que a
abordagem foi avaliada atravs de um estudo de caso, 26 foram avaliadas por estudos
experimentais e 37 apresentaram algum relato de uso, como a apresentao de
exemplos, aplicao ou prova de conceito, conforme descrito na Tabela 2.10.

44

Tabela 2.10. Anlise das abordagens por Tipo de Estudo.


Tipo de Estudo

Quantidade de Artigos

Estudo de Caso

38

Estudo Experimental

26

Relato de Uso

37

2.8 Consideraes Finais do Captulo


Este captulo apresentou a caracterizao de abordagens de teste para
aplicaes Web, a partir dos resultados obtidos em uma quasi-reviso sistemtica da
literatura tcnica que classificou as abordagens quanto :

Utilizao de apoio ferramental,

Categorias de aplicaes cuja abordagem aplicvel,

Caracterstica de qualidade avaliada,

Insero da abordagem de teste em alguma metodologia de


desenvolvimento de aplicaes Web conhecidas e identificadas por
trabalhos anteriores na rea,

Nvel de abstrao de teste utilizado,

Tcnica de Teste utilizada,

Anlise de teste realizada, e

Tipo de estudo utilizado para avaliar a abordagem.

Existe, portanto, uma disponibilidade de diferentes estratgias de teste para


aplicaes Web e a caracterizao de tais abordagens representa um importante
passo para a organizao de um corpo de conhecimento que possa ser utilizado para
apoiar a seleo das tcnicas de teste mais adequadas para um determinado projeto
de software web.
No entanto, importante destacar que as abordagens de teste para aplicaes
Web, selecionadas na quasi-Reviso Sistemtica, foram classificadas de acordo com
os elementos apresentados nos aritgos, que eventualmente podem no explicitar
todas as caractersticas da abordagem proposta.
O prximo captulo apresenta a construo e avaliao de um corpo de
conhecimento de abordagens de teste para aplicaes Web, seguindo a metodologia
baseada em evidencia proposta em (DIAS NETO et al., 2010).

45

CAPTULO 3 - ESTRUTURA PARA A


CARACTERIZAO DE ABORDAGENS DE TESTE
DE APLICAES WEB

Este captulo apresenta a proposta e avaliao de uma estrutura de


caracterizao de abordagens de teste para projetos de software Web organizada a
partir dos resultados obtidos atravs de uma quasi-reviso sistemtica da literatura e
avaliada atravs de um survey realizado com pesquisadores da rea. So
apresentados trabalhos relacionados (seo 3.2), detalhes da estrutura

de

caracterizao (seo 3.3), bem como o planejamento, execuo e anlise de


resultados do survey que avaliou a estrutura proposta (seo 3.4).

3.1 Introduo
A reviso para identificar possveis trabalhos sobre abordagens de teste para
aplicaes Web revelou a existncia de vrias publicaes que focam na definio de
novas estratgias para o teste deste tipo de aplicao. Portanto, como se depreende,
existe disponibilidade de tecnologias de software, especificamente testes de software,
que podem ser selecionadas para estas aplicaes.
Neste contexto, VEGAS e BASILI (2005) descreveram um mecanismo para
apoiar a seleo de tcnicas de teste em geral, baseado em um esquema de
caracterizao, onde um catlogo de tcnicas de teste de software instanciado para
um projeto em particular.
No entanto, o uso do referido esquema de caracterizao em projetos de
software Web pode levar a identificao de tcnicas de teste no necessariamente
adequadas, tendo em vista a generalidade dos atributos utilizados no esquema de
caracterizao frente s caractersticas especficas dos projetos de aplicaes Web.
Situao semelhante foi observada por DIAS NETO (2009) em relao ao uso
do esquema de caracterizao para apoiar a seleo de tcnicas de teste baseado em
modelos para projetos de software.
Desta forma, considerando a diversidade de tcnicas de teste disponvel na
literatura tcnica e as caractersticas dos projetos de aplicao Web, a seleo de
abordagens de teste para projetos Web necessita de investigao adicional e a
organizao de um corpo de conhecimento inicial sobre estas abordagens em

46

particular torna-se importante para aprimorar o procedimento de caracterizao e


seleo destas tcnicas para projetos de software Web.
A partir dos resultados obtidos na quasi-reviso sistemtica, apresentada a
estrutura de caracterizao de abordagens de teste para aplicaes Web. Antes,
porm, so apresentados os trabalhos associados caracterizao de abordagens de
teste de software identificados na literatura tcnica, com o objetivo de auxiliar a
escolha da abordagem a ser empregada na validao de uma aplicao.

3.2 Trabalhos Relacionados


3.2.1 Corpo de Conhecimento de tcnicas de teste de software
(V&B2005)
VEGAS e BASILI (2005) abordaram o problema relacionado identificao de
informaes relevantes para a seleo de abordagens de teste, levando em
considerao que as abordagens de teste so usadas para encontrar um conjunto
adequado de casos de teste e que existem vrias tcnicas disponveis na literatura
tcnica, algumas cujo uso nunca foi considerado e outras que so repetidamente
utilizadas em diferentes projetos, sem que a adequao do seu uso seja avaliada.
Nesse contexto, foi apresentada uma proposta denominada Esquema de
Caracterizao que prov uma infra-estrutura para armazenar informaes sobre
tcnicas de teste com o objetivo de auxiliar os testadores na escolha da tcnica mais
adequada para um determinado projeto (Tabela 3.1).

Tabela 3.1. Atributos utilizados no Esquema de Caracterizao de Tcnicas de Teste


(VEGAS e BASILI, 2005).
Nvel
Operacional

Elemento
Agentes

Ferramentas

Tcnicas

Atributo

Descrio

Conhecimento

Habilidade requerida para aplicao da tcnica

Experincia

Experincia requerida para aplicao da tcnica

Identificador

Nome da ferramenta

Automao

Parte da tcnica automatizada pela ferramenta

Custo

Custo de compra ou manuteno da ferramenta

Ambiente

Plataforma (Software e Hardware)

Suporte

Suporte provido pelo fabricante

Comprensibilidade

O quanto a tcnica de fcil entendimento

Custo da aplicao

Esforo para aplicao da tcnica

Entradas

Entradas requeridas para aplicao da tcnica

Critrios de Adequao

Critrio de parada para gerao de casos de teste


Custo na identificao dos dados para aplicao da

Custo do dado do teste

tcnica

Dependncias

Relacionamentos com outras tcnicas

Repetibilidade

Se 2 ou mais pessoas geram os mesmos casos de teste

47

Fontes de Informao

Onde encontrar mais informaes sobre a tcnica

Completude

Cobertura provida pelos casos de teste


Quantidade de casos de teste repetidos gerados pela

Preciso
Casos de Teste

Tcnica

Efetividade

Capacidade de encontrar defeitos

Tipo de defeito

Tipos de defeitos encontrados

N de casos de testes

Nmero de casos de testes gerados

gerados

Objeto

Projeto
Histrico
Satisfao

Elemento

Elemento considerado em cada teste

Aspecto

Funcionalidade a ser testada

Tipo de Software

Tipo de software que pode ser testado pela tcnica

Linguagem de Programao

Linguagem de programao que pode ser utilizada

Mtodo de desenvolvimento

Mtodo de desenvolvimento

Tamanho

Tamanho do software

Projetos referenciados

Projetos anteriores que utilizaram a tcnica

Ferramentas utilizadas

Ferramentas utilizadas em projetos anteriores

Equipe

Equipe que trabalhou nos projetos anteriores

Opinio

Opinio geral sobre a aplicao da tcnica

Benefcios

Benefcios no uso da tcnica

Problemas

Problemas no uso da tcnica

O modelo proposto foi muito til como ponto de partida para comear a
identificar os tipos de atributos gerais que so importantes para caracterizar as
tcnicas de teste. Entretanto, se consideramos algumas abordagens especficas de
teste, alguns atributos especficos precisam ser adicionados ao esquema original para
melhor caracteriz-las.

3.2.2 Corpo de Conhecimento de abordagens para MBT (DIAS NETO


2009)
Em DIAS NETO (2009), apresentada uma soluo para o problema da
seleo de tcnicas de teste baseado em modelos (TTBM) com base no esquema de
caracterizao de VEGAS e BASILI (2005), a partir do desenvolvimento do corpo de
conhecimento sobre TTBMs e de um procedimento de seleo responsvel por prover
informaes para a equipe de teste avaliar a adequabilidade e o impacto de TTBM a
partir das caractersticas de um projeto de software onde elas seriam aplicadas.
A construo do corpo de conhecimento sobre TTBMs foi realizada a partir dos
resultados de dois estudos, um estudo secundrio com o propsito de definir o
contedo do corpo de conhecimento e um estudo primrio com propsito de definir a
sua estrutura. A Tabela 3.2 apresenta a estrutura proposta para caracterizar tcnicas
de teste baseadas em modelos.

48

Tabela 3.2. Atributos utilizados para caracterizar uma TTBM (DIAS NETO, 2009).
Categoria

Atributo

Ferramenta

Ferramenta de Apoio
Necessidade de
Ferramenta Externa

Histrico
Objeto

Plataforma
Custo
Tipos de Falhas
Caracterstica de
Qualidade que a tcnica
est apta a avaliar
Plataforma de Execuo
Paradigma de
Desenvolvimento
Linguagem de
Programao
Limitaes/Restries
para utilizar a tcnica
Habilidades Requeridas
Nvel de Teste

Tipo de Tcnica de Teste

Tcnica

Critrio de Cobertura de
Teste
Critrio de Gerao de
Caso de Teste

Entradas requeridas

Modelo
Comportamental/Estrutural

Nvel de Complexidade
dos passos no
automatizados

Proporo de passos
automatizados

Resultados gerados pelas


tcnicas

Tecnologia de Gerao
dos Testes

Descrio
Define a existncia ou no de uma ferramenta de apoio. Caso exista,
importante observar quais passos so apoiados pela ferramenta e quais
so suas limitaes.
Define a necessidade do uso de alguma ferramenta externa TTBM para
viabilizar sua aplicao (ex: ferramenta para gerao do modelo usado
pela TTBM para gerao dos testes).
Plataforma em que a ferramenta de apoio opera
Custo associado ferramenta de apoio.
Tipos de Falhas que podem ser reveladas pela TTBM.
Normalmente, TTBMs esto aptas a avaliar apenas um conjunto restrito
de caractersticas de qualidade do software (ex.: usabilidade,
desempenho, segurana, funcionalidade, eficincia, confiabilidade,
controle de acesso, etc.).
Define a plataforma de execuo no qual uma TTBM pode ser usada.
Define o paradigma de desenvolvimento no qual uma TTBM pode ser
usada.
Define a linguagem de programao na qual uma TTBM pode ser usada.
Essas informaes dizem respeito ao que uma TTBM no est apta a
fazer ou algum cenrio onde ela no pode ser aplicada (ex: a tcnica s
pode ser aplicada em projetos com caractersticas especficas, tais como
tamanho, habilidades, ciclo de vida). Isso pode restringir seu uso em
projetos de software.
Habilidades requeridas para o uso da TTBM.
Define qual nvel de abstrao de teste usado pela TTBM para avaliar o
software sob teste. Os nveis usados so: teste de sistema, integrao e
unidade.
Algumas TTBMs so aplicadas para teste funcional e outras para teste
estrutural. importante observar esta caracterstica para apoiar a seleo
de uma tcnica para um projeto.
Define as regras usadas para gerar casos de teste a partir do modelo do
software. Existem diversos tipos de critrios, como: fluxo de dados, fluxo
de controle e anlise de mutantes. Eles definem o esforo e qualidade
dos resultados gerados automaticamente pela TTBM.
Descreve os passos a serem seguidos pela TTBM desde a construo do
modelo at a gerao ou execuo dos testes. Eles definem o que pode
ser automatizado e o que no pode, e como integrar esses passos.
TTBMs comumente requerem diferentes entradas (artefatos) para iniciar
o processo de construo do modelo para gerao dos casos de teste.
Normalmente, essas entradas possuem diferentes complexidades para
serem interpretadas. importante observar se o processo de
desenvolvimento de software est apto a produzir as entradas
necessrias para usar a TTBM.
Representa as caractersticas do software que podem ser testadas por
uma TTBM. O modelo pode ser a maior limitao de uma tcnica, pois
indica que informaes do software podem ser representadas ou no.
Algumas vezes o modelo usado para um domnio de aplicao
especfico e no pode ser usado em outro contexto. Trs aspectos so
importantes a respeito dos modelos: (1) quo fcil e automatizado seu
desenvolvimento, (2) se ele contm as informaes necessrias para a
gerao dos testes, e (3) quo fcil para extrair casos de teste a partir
dele.
Indicao a respeito do esforo, custo e tempo necessrio para realizar
os passos requeridos em uma TTBM. O grau de complexidade dos
passos automatizados normalmente baixo. No entanto, os passos no
automatizados podem requerer diferente grau de esforo, custo e
habilidade para ser realizado. Assim, torna-se necessrio analisar seus
graus de complexidade indicando mais precisamente o nvel de
automao de uma TTBM.
Relao entre a quantidade de passos automatizados que compem a
TTBM e a quantidade de passos total. A principal caracterstica de TBM
a possibilidade de gerao e execuo automtica de casos de teste,
pois isso pode resultar em menos tempo e esforo para o processo de
testes.
TTBMs podem gerar resultados em diferentes formatos (ex: roteiros de
teste a serem executados em plataformas especficas ou resultados dos
testes sumarizados aps a execuo dos casos de teste). importante
observar se os resultados gerados esto de acordo com os artefatos
planejados para o processo de desenvolvimento de software.
Diferentes TTBMs usam diferentes tecnologias para gerao dos casos
de testes (ex: UML, Linguagem B, Especificao Z, TSL e outros).

49

Uso de Modelos
Intermedirios

Avaliao Experimental

importante observar se o processo de desenvolvimento usa a mesma


tecnologia para modelagem do software que a adotada pela TTBM
visando reduzir o esforo e risco associado ao uso de diferentes
tecnologias em um mesmo projeto.
Define se a TTBM adota ou no modelos intermedirios entre o modelo
comportamental/estrutural e os casos de teste para apoiar a gerao
automtica de casos de teste. A existncia de modelos intermedirios
pode introduzir um esforo adicional para a tcnica, pois requer uma
transformao do modelo original provido pelo processo de
desenvolvimento para um novo modelo a ser construdo pela equipe de
teste.
Indicador do tipo de avaliao experimental que a TTBM foi submetida.

3.3 Definio de um corpo de conhecimento para abordagens


WAT
Nesta seo definida uma estrutura adaptada s caractersticas das
aplicaes Web, a partir dos resultados obtidos na quasi-reviso sistemtica. Foram
tambm adaptados para este contexto, com base nos resultados da reviso, alguns
atributos definidos no esquema de caracterizao proposto por VEGAS e BASILI
(2005) e na estrutura definida por DIAS NETO (2009).
Os nveis da estrutura de caracterizao a serem utilizados so os mesmos
propostos em (DIAS NETO, 2009), compostos por Atributo e Categoria do Atributo. Os
atributos so agrupados em 4 categorias: Ferramenta que possui atributos para
caracterizar as ferramentas utilizadas para apoiar as abordagens de teste, Histrico
que possui atributos para caracterizar as abordagens de teste de acordo com os
resultados obtidos com a sua aplicao, Objeto que possui diversos atributos para
caracterizar o objeto de teste das abordagens (esses atributos so influenciados pelas
caractersticas do projeto ou da aplicao); e a Tcnica cujos atributos descrevem
algumas caractersticas da abordagem que no so influenciadas pelas caractersticas
do projeto ou da aplicao que ser avaliada.

Tabela 3.3. Estrutura inicial para caracterizar as abordagens de teste para aplicaes
Web.
Categoria

Atributo

Descrio

Origem

Ferramenta

Disponibilidade de
ferramentas de
apoio
Citao em artigos
cientficos
anteriores
Utilizao em
projetos de
software anteriores
Benefcios

Informaes sobre as ferramentas que apiam a abordagem


WAT, incluindo o custo da plataforma, tipo (prottipo / comercial /
shareware / freeware).
Trabalhos anteriores em que a abordagem WAT foi referenciada.

V&B (2005)
DN (2009)

Histrico

Problemas
Avaliao
Experimental
Objeto

Categoria da

Informaes histricas sobre o uso da abordagem WAT em


projetos de software Web anteriores para avaliar a sua
viabilidade.
Indicao dos benefcios obtidos com o uso da abordagem WAT
em projetos de software anteriores.
Indicao dos problemas encontrados com o uso da abordagem
WAT em projetos de software anteriores.
Indicao sobre a estratgia experimental (ex.: estudo de caso,
estudo experimental, relato de uso) e as evidncias adquiridas
atravs da experimentao da abordagem WAT.
Informaes sobre que tipo de aplicao (tais como Web

50

NOVO

V&B (2005)
DN (2009)
V&B (2005)
V&B (2005)
DN (2009)

NOVO

aplicao Web
Caracterstica de
Qualidade
Unidade

Perspectiva

Camada da
aplicao
Nvel de Teste

Tcnica

Limitaes

Tipos de Falhas
Mtodos de
desenvolvimento
Web
Modelo utilizado
para a gerao de
teste
Tecnologia de
Modelagem
Tipo de Tcnica
Critrios de
Cobertura
Tipo de Anlise

Descrio
Entradas

Sadas
Tarefas
executadas
Tarefas
automatizadas
Nvel de
Complexidade dos
Passos Noautomatizados

Services, Workflow, colaborao, e-commerce) a abordagem


pode ser usada.
Indicao sobre o conjunto de caractersticas de qualidade (por
exemplo: usabilidade, desempenho, funcionalidade, segurana,
confiabilidade, eficincia) a abordagem WAT capaz de avaliar.
Descreve a unidade da aplicao na qual a abordagem de teste
atua, como pginas Web, componentes de pginas da Web,
links e outros.
Indicao de qual perspectiva de Projeto do Software Web a
abordagem WAT pode ser aplicada: Conceituao (elementos
conceituais que fazem parte do domnio da aplicao),
Apresentao (aspecto visual e caractersticas de interface de
usurio relacionados ao projeto), Navegao (estrutura da
perspectiva do usurio mostrando como as informaes esto
disponveis e so acessadas) e Estrutura (como a aplicao est
estruturada em termos de classes, componentes).
Informaes sobre qual camada (cliente, servidor ou ambas) a
abordagem WAT pode ser aplicada.
Os nveis de teste (unidade, integrao, sistema, aceitao dos
usurios, teste de regresso), exploradas pela abordagem WAT
para testar o comportamento/estrutura do software Web.
Informaes sobre as restries para utilizar a abordagem WAT
(por exemplo: a abordagem aplicada apenas para um projeto
de software com caractersticas especficas, tais como o
tamanho, a habilidade da equipe, ciclo de vida, escalabilidade).
Tipo de falhas que a abordagem WAT pode ajudar a revelar, tais
como falha de dados, atrasos, erros de navegao, entre outros
Indicao sobre quais os mtodos de desenvolvimento de
software Web usam a mesma tecnologia adotada pela
Abordagem WAT.
Informaes sobre o modelo (por exemplo, diagrama de casos
de uso, diagrama de estados) utilizado pela abordagem WAT.
Indicao sobre a tecnologia usada para a gerao dos modelos
utilizados para gerao dos testes (ex.: UML, FSM, WSDL e
outros).
Indicao sobre a tcnica de testes (funcional, estrutural) que a
abordagem WAT pode suportar.
Informao sobre as regras utilizadas pela abordagem WAT para
gerar casos de teste, tais como o fluxo de dados e de controle de
fluxo.
Indicao sobre o tipo de anlise de teste a abordagem WAT
capaz de suportar: comportamento esttico (no influenciado
pela interao do usurio) ou dinmica (ex.: pginas que podem
ser construdas dinamicamente em resposta a entradas de
usurios).
Uma breve descrio sobre a abordagem WAT.
Informaes sobre os artefatos necessrios / entrada de dados
para iniciar o processo de gerao de casos de teste com a
abordagem WAT
Informaes sobre as sadas (artefatos) produzidas pela
abordagem WAT.
Descrio sobre as tarefas demandadas pela abordagem WAT
para gerar e / ou executar casos de teste.
Descreve como a abordagem WAT automatizada.
Indicao sobre o esforo, tempo, custo e para executar as
tarefas no-automatizadas na utilizao da abordagem WAT.

DN (2009)

NOVO

NOVO

NOVO
DN (2009)

DN (2009)

V&B (2005)
DN (2009)
V&B (2005)

DN (2009)

DN (2009)

DN (2009)
V&B (2005)
DN (2009)
NOVO

NOVO
V&B (2005)
DN (2009)
DN (2009)
DN (2009)
V&B (2005)
DN (2009)
DN (2009)

A Tabela 3.3 lista os atributos identificados como necessrios para


caracterizao de abordagens de teste para aplicaes Web, combinando os
resultados da quasi-reviso sistemtica e os trabalhos relacionados descritos
anteriormente, indicados na coluna Origem se VEGAS e BASILI (2005), DIAS NETO
(2009) ou Novo.

51

Os novos atributos visam adaptao da estrutura para capturar as


caractersticas especficas das abordagens de teste para aplicaes Web. Tal
proposta foi orientada por diferentes fontes de pesquisa:
Reviso inicial da literatura sobre aplicaes Web descrita no Capitulo 2;
Diferentes caractersticas relacionadas s abordagens de teste para
aplicaes Web analisadas na quasi-reviso sistemtica, descrita na Seo 2.7.

Sero detalhadas a seguir as razes que motivaram a incluso dos novos


atributos na estrutura proposta:
Categorias de aplicaes Web: Frente s vrias definies de aplicaes
Web encontradas, foi considerado importante categorizar tais aplicaes para melhor
compreender suas caractersticas, peculiaridades e similaridades. Alm disso, devido
ao fato de que algumas categorias de aplicao apresentam caractersticas
especficas, foram identificadas na literatura tcnica abordagens de teste igualmente
especficas para as diferentes categorias deste tipo de aplicao.

Unidade: Foi observado ao longo da reviso da literatura e da quasi-reviso


sistemtica que no h um senso comum sobre a definio de unidade nas aplicaes
Web, que por sua vez tem conseqncia nas definies de teste de unidade,
integrao e sistema.

Perspectiva: Indicao da perspectiva de projeto de software Web na qual a


abordagem de teste pode ser aplicada. Em (CONTE, 2009), apontado que as
perspectivas de projeto comumente utilizadas no desenvolvimento de aplicaes Web
so: Conceituao (elementos conceituais que fazem parte do domnio da aplicao),
Apresentao (aspecto visual e projeto de interface com o usurio caractersticas
relacionadas), Navegao (perspectiva do usurio, mostrando como a informao est
disponvel e acessada) e Estrutura (como a aplicao estruturada em termos de
classes, componentes).

Tipo de Anlise: Boa parte das abordagens de teste analisadas distingue o


tipo de anlise realizada pela abordagem em Dinmica a Esttica. Um exemplo de
aplicaes Web dinmicas so as aplicaes AJAX. Trata-se de um conjunto de
tecnologias utilizadas para desenvolver aplicativos ricos e interativos da Web. Um
cliente tpico AJAX executado localmente no navegador Web do usurio e atualiza
sua interface em tempo real, em resposta a entrada do usurio.

52

Alm desses, foram includos os atributos Descrio Breve capaz de prover


uma ideia geral da abordagem e Citao em Artigos Anteriores que informa a
quantidade de vezes que a abordagem foi referenciada.

3.4 Survey de avaliao da estrutura


3.4.1 Objetivo
Foi executado um survey com pesquisadores da rea com objetivo de
identificar quais das informaes presentes no conjunto de atributos podem ser
pertinentes para caracterizar uma abordagem de teste para aplicaes Web e sua
respectiva relevncia no contexto da seleo de abordagem WAT para um projeto de
software Web. O estudo foi planejado e executado utilizando o padro e a infraestrutura adotada pelo grupo de Engenharia de Software Experimental da COPPEUFRJ em trabalhos anteriores (SPNOLA et al., 2010) (DIAS NETO, 2009).

3.4.2 Questes de Pesquisa


As questes de pesquisa associadas ao survey so:
Q1: Os atributos extrados da literatura tcnica, apresentados na Tabela 3.3,
so importantes para caracterizar uma abordagem WAT?
Q2: Existe algum atributo adicional considerado importante para caracterizar
uma abordagem WAT que no est presente no conjunto inicial?
Q3: Qual a ordem de relevncia, dos atributos considerados importantes, para
apoiar a seleo de uma abordagem WAT a ser aplicada em um projeto de software
Web?
A populao do estudo foi representada pelo conjunto de autores dos artigos
cientficos descrevendo abordagens WAT, publicados na literatura tcnica e
identificadas atravs da quase reviso sistemtica descrita no Captulo 2.
Como instrumentao do estudo, foi adaptado um questionrio on-line,
anteriormente desenvolvido pelo grupo de Engenharia de Software Experimental da
COPPE-UFRJ, que foi ajustado para atender as necessidades desse estudo. O
preenchimento do questionrio realizado em trs passos. Os participantes do estudo
foram contatados por email, no qual receberam um login e senha para acessar o
questionrio, evitando que participantes no convidados participassem do estudo. A
Figura 3.1 apresenta a tela inicial do survey.

53

Figura 3.1. Tela inicial do Survey.

1 Passo) Caracterizao do Participante.


Nesse passo os participantes so convidados a informar seus dados pessoais
(nome, e-mail, afiliao e pas), nvel de formao acadmica, nmero de artigos
publicados sobre abordagens WAT e nvel de experincia em teste de aplicaes Web
na indstria (Figura 3.2). Os dados pessoais do participante, exceto o email, so
opcionais. Para todas as demais, o preenchimento obrigatrio para que o
participante seja considerado na anlise de resultados desse survey.

Figura 3.2. Tela de caracterizao do participante.

54

Cada varivel pode assumir os seguintes valores:


Nvel de Formao:
= 0, se o participante possui apenas nvel superior;
= 1, se o participante possui especializao em engenharia de software;
= 2, se o participante possui mestrado;
= 3, se o participante possui doutorado;
Nmero de Artigos: valor numrico de preenchimento livre.
Nvel de Experincia:
= 0, se o nvel de experincia baixo;
= 1, se o nvel de experincia mdio;
= 2, se o nvel de experincia alto;
= 3, se o nvel de experincia excelente;
Nmero de Projetos: valor numrico de preenchimento livre.

2 Passo) Identificao dos atributos importantes ou no importantes para


caracterizar uma abordagem WAT.
Nesse momento so listados todos os 26 atributos que compem a estrutura
inicial para caracterizar as abordagens de teste para aplicaes Web (Figura 3.3),
apresentada na Tabela 3.3 deste trabalho.
Para cada atributo, o participante deve indicar se ele ou no importante para
caracterizar uma abordagem WAT, ou seja, se ele deve compor a estrutura de
caracterizao. Alm disso, o participante pode inserir at 5 atributos adicionais que
considere importantes e que no esto includos no conjunto inicial;

3 Passo) Definio do nvel de relevncia dos atributos para seleo de


abordagens de teste para projetos de software Web.
Neste passo, os atributos indicados pelo participante como importantes para a
seleo de uma abordagem WAT para um projeto de software Web (Passo 2) so
avaliados quanto ao seu nvel de relevncia no procedimento de seleo. Seis nveis
de relevncia foram definidos:
(1)

Muito

Baixa

Relevncia:

Indica

que

caracterstica

no

afeta

significativamente a seleo de abordagens WAT para projetos de software Web. Essa


caracterstica deve ser considerada apenas em projetos de software Web muito
especficos.
(2) Baixa Relevncia: Indica que a seleo de uma abordagem WAT para um
projeto de software Web ser mais precisa caso considere esta caracterstica. Em

55

alguns cenrios especficos, poder ser mais relevante, mas, em geral, a seleo no
afetada na ausncia dessa caracterstica.
(3) Mdia Relevncia: Indica que a caracterstica tem um efeito considervel na
escolha de uma abordagem WAT para um projeto de software Web. Em geral, a
seleo afetada na ausncia desta caracterstica, mas ainda ser possvel usar a
abordagem WAT selecionada.
(4) Alta Relevncia: Indica que a caracterstica deve ser considerada ao
selecionar abordagens WAT para projetos de software Web. Apenas para um nmero
restrito de cenrios especficos, esta caracterstica no deve ser considerada na
seleo de abordagens WAT para projetos de software Web.

Figura 3.3. Tela de identificao de pertinncia.

56

(5) Muita Alta Relevncia: indica que a caracterstica absolutamente


necessria para selecionar abordagens WAT para projetos de software Web. Sua
ausncia (no us-la) indica que a abordagem escolhida WAT no deve ser capaz de
ser utilizada.

Figura 3.4. Tela de identificao de relevncia.

Na Figura 3.4 apresentado um exemplo da tela de identificao de relevncia


dos atributos para seleo de abordagens WAT para um determinado projeto de
software web. Neste passo so listados apenas os atributos indicados pelo
participante como importantes no passo anterior, que no exemplo foram: Passos
Automatizados, Critrios de Cobertura, Tipos de Defeitos, e um novo atributo inserido
pelo participante que no estava includo no conjunto inicial. A Figura 3.5 mostra a tela
de agradecimento apresentada ao participante ao trmino no survey.

57

Figura 3.5. Tela de agradecimento.

3.4.3 Execuo
Ao longo da pesquisa o survey foi executado duas vezes:
Setembro de 2010. Na primeira execuo, o questionrio do estudo ficou ativo
no perodo de 21/08/2010 a 17/09/2010 no endereo http://ese.cos.ufrj.br. Foram
enviados convites de participao do survey por email para 169 pesquisadores,
autores dos artigos cientficos descrevendo abordagens WAT identificados na primeira
execuo da quasi-reviso sistemtica descrita no Captulo 2. Desse conjunto, 42
emails retornaram com mensagem de erro indicando que o endereo de e-mail estaria
errado ou no existia. No total, o envio de e-mails para 127 pesquisadores no
resultou em falha, o que nos leva a crer que essa seria a populao disponvel para o
estudo.
Foram obtidas apenas 9 respostas, apesar dos lembretes enviados ao longo do
perodo da pesquisa, o

que resulta em um nvel de confiana em torno de 68%

(Figura 3.7) para esta populao, considerando os dados coletados de acordo com a
frmula de Clculo do Nvel de Confiana de uma Amostra (HAMBURG,1980),
apresentada na figura 3.6.

Figura 3.6. Frmula para clculo do nvel de confiana (Adaptado de HAMBURG, 1980).

58

Figura 3.7. Nvel de confiana da primeira execuo do survey.

Devido ao um baixo nmero de respostas obtidas na primeira execuo do


survey, optou-se por reexecut-lo com o objetivo melhorar o nvel de confiana dos
resultados obtidos.

Fevereiro de 2011. Nesta execuo, o questionrio do estudo ficou ativo no


perodo de 05/01/2011 a 11/02/2011 no endereo http://ese.cos.ufrj.br. Foram
enviados convites de participao do survey para 73 pesquisadores, autores dos
novos artigos cientficos descrevendo abordagens WAT identificados na segunda
execuo da quasi-reviso sistemtica descrita no Captulo 2. Desse conjunto, 10
emails retornaram com mensagem de erro indicando que o endereo de e-mail estaria
errado ou no existia.
No total, o envio de e-mails para 63 pesquisadores no resultou em falha,
sendo que 47 representavam novos autores e 16 autores j contatados na primeira
execuo do survey. Desta forma, a populao disponvel para o estudo passou a ser
174 (127 + 47).
Foram obtidas 11 novas respostas nesta execuo, totalizando uma amostra
de 20 respostas obtidas. Com esses novos dados, foi possvel melhorar o intervalo de
confiana de 68% para 79% (Figura 3.8).

Figura 3.8. Nvel de confiana aps segunda execuo do survey.

Os resultados das duas execues do survey foram agregados para a


realizao do clculo do nvel de confiana. Isto foi possvel porque as amostras das
duas execues foram selecionadas o obedecendo mesmo critrio (autores dos

59

artigos selecionados nas duas execues da quasi-reviso sistemtica). Alm disso,


foram mantidas, nas duas execues, a estratgia, a instrumentao utilizada e o
objeto da anlise. importante destacar tambm o curto espao de tempo entre as
duas execues, o que minimiza possveis interferncias nas opinies capturadas pelo
survey.

3.4.4 Anlise dos Resultados


Para a anlise dos dados, foi atribudo um peso para cada participante de
acordo com a frmula apresentada na Figura 3.9, que considera o nvel de formao
acadmica, nmero de artigos publicados sobre abordagens WAT, nvel de
experincia em teste de aplicaes Web, e o nmero de projetos de teste de
aplicaes Web que cada um participou na indstria. A frmula usada para definir os
pesos dos participantes foi baseada na proposta de DIAS NETO (2009). A Tabela 3.4
apresenta a caracterizao dos participantes.

Figura 3.9. Frmula para caracterizar os participantes do survey.

Tabela 3.4. Caracterizao dos participantes do survey.


N
Pas

Afiliao

Formao

Artigos

Nvel de

Projetos

Publicados

Experincia

usando

Peso

WAT
Brasil

Universidade de So Paulo

Mestrado

Alto

5,80

Itlia

Politecnico di Milano

Doutorado

Alto

7,06

EUA

University of Nebraska

Doutorado

Alto
4

6,93

Lincoln
EUA
Grcia
Alemanha

University of New Orleans

Doutorado

Alto

7,73

University of Pireaus

Doutorado

Alto

7,53

University of Paderborn

Mestrado

10

Alto

6,66

Canad

Universite de Montreal

Doutorado

12

Excelente

9,40

EUA

University of Maryland

Doutorado

15

Excelente

10,0

Itlia

Politecnico di Torino

Doutorado

Alto

6,80

Queen's university

Doutorado

Alto

6,46

Canad
EUA

University of Delaware

Doutorado

10

Alto

8,66

EUA

Fujitsu Labs of Amrica

Doutorado

Excelente

9,33

Tatung University

Doutorado

Alto

5,93

Taiwan
Portugal
EUA

University of Coimbra

Mestrado

Alto

5,33

Georgia Tech

Mestrado

Excelente

8,33

60

Itlia

University of Sannio

Doutorado

10

Alto

7,66

Brasil

Universidade Federal do

Doutorado

Alto

7,26

University of Naples

Especializao

Alto

6,13

EUA

Fujitsu Labs of Amrica

Doutorado

Alto

3,86

Itlia

Istituto di Scienza e

Doutorado

Alto

7,20

Paran
Itlia

Tecnologie dellInformazione

Aps o clculo dos pesos dos participantes, passou-se anlise do ndice de


Pertinncia que indica a importncia dos atributos avaliados na caracterizao das
abordagens WAT.

Se o atributo foi considerando importante pelo participante do

survey, ele tem valor 1, caso contrrio ele tem valor 0 (zero).
O ndice de pertinncia de cada atributo foi obtido pela soma das respostas de
cada um dos participantes (1 ou 0), multiplicadas pelos seus respectivos pesos. Se
todos os participantes considerarem um atributo importante (ou seja, atriburem valor
=1), o ndice de importncia alcanar o valor mximo, que no caso, ser igual a soma
dos pesos dos participantes (144.13).
A definio de que um atributo importante ou no para caracterizar uma
abordagem WAT deve ser limitada por um ponto de corte. Nesse sentido, foram
analisadas 3 medidas estatsticas: Mdia, Mediana e Quartil. A mdia uma medida
de tendncia central a partir da qual possvel verificar uma tendncia dos dados em
torno dos valores centrais. A mdia dos ndices de pertinncia 118,56.
A mediana de um conjunto de valores, dispostos segundo uma ordem
(crescente ou decrescente), o valor situado de tal forma no conjunto que o separa
em dois subconjuntos de mesmo nmero de elementos. A mediana depende da
posio e no dos valores dos elementos na srie ordenada. Essa uma das
diferenas marcantes entre mediana e mdia (que se deixa influenciar, e muito, pelos
valores extremos). A mediana dos ndices de pertinncia 124,30.
Alm das medidas de posio (mdia e mediana), h outras que, se
consideradas individualmente, no so medidas de tendncia central, mas esto
ligadas mediana relativa sua caracterstica de separar a srie em duas partes que
apresentam o mesmo nmero de valores.
Essas medidas so, juntamente com a mediana, conhecidas pelo nome
genrico de separatrizes. Nesse conjunto se incluem os quartis. Denomina-se quartis
os valores de uma srie que a dividem em quatro partes iguais.

necessrio,

portanto, 3 quartis (Q1 , Q2 e Q3) para dividir uma srie em quatro partes iguais. O
quartil 2 (Q2) sempre ser igual mediana da srie. O primeiro quartil dos ndices de
pertinncia 109,41.

61

Os ndices de pertinncia de cada atributo esto descritos na Tabela 3.5. Para


facilitar a visualizao das medidas estatsticas analisadas, foram hachurados em
vermelho os atributos cujos ndices ficaram localizados no primeiro quartil; em
amarelo, aqueles cujo valor da pertinncia menor do que a mdia dos ndices; e em
verde os atributos com ndices localizados abaixo da mediana.

Tabela 3.5. ndice de Pertinncia dos atributos.


Atributo
Unidade

ndice de

% de

Pertinncia

Pertinncia

138,33

95,98%

Tipos de Defeito

138,20

95,88%

Modelo utilizado para a gerao de teste

137,33

95,28%

Tarefas automatizadas

137,06

95,10%

Entradas

136,40

94,63%

Critrios de Cobertura

136,40

94,63%

Limitaes

135,80

94,22%

Tipo de Tcnica

132,40

91,86%

131,06

90,93%

Tecnologia de Gerao dos Testes

129,60

89,92%

Benefcios

129,33

89,73%

Caracterstica de Qualidade

128,06

88,85%

Nvel de Teste

126,13

87,51%

Categoria da aplicao Web

122,46

84,97%

Sadas

121,26

84,14%

Problemas

120,00

83,26%

Avaliao Experimental

119,00

82,56%

Camada da aplicao

117,53

81,54%

Tipo de Anlise

116,26

80,67%

Descrio

107,13

74,33%

Tarefas executadas

99,86

69,29%

Perspectiva

90,26

62,63%

Mtodos de desenvolvimento Web

87,8

60,92%

Utilizao em projetos de software anteriores

84,93

58,93%

Disponibilidade de ferramentas de apoio

80,86

56,11%

Citao em artigos cientficos anteriores

79,13

54,90%

Nvel de Complexidade dos Passos Noautomatizados

Mediana

Mdia

1 Quartil

O patamar escolhido para indicar se o atributo deve ser excludo ou no da


estrutura de caracterizao foi o primeiro quartil dos ndices de pertinncia. Na Figura
3.10, possvel observar que nesse intervalo h uma queda mais acentuada dos
ndices de pertinncia dos atributos. Desta forma, os atributos cujos ndices ficaram
localizados no primeiro quartil, abaixo de 109,41, foram descartados.

62

ndice de Pertinncia
120,00%
95,98%

% Pertinncia

100,00%

95,88% 95,28%

95,10% 94,63% 94,63% 94,22%

91,86% 90,93%

89,92% 89,73% 88,85%

87,51%

80,00%

84,97% 84,14%

83,26% 82,56% 81,54%

80,67%
74,33%
69,29%
62,63% 60,92%

60,00%

58,93% 56,11%

54,90%

40,00%
20,00%

ada
s
En
trad
as
el d
eC
eC
obe
om
rtur
ple
a
xid
L
imit
ade
a
dos
Tip
es
od
Pa
Tec
eT
sso
cn
nol
sN
ogi
i

c
o
a
ad
-au
eG
t om
era
ati.
o
..
dos
Tes
tes
Ca
r ac
Be
ter
n
efc
stic
i os
ad
eQ
ual
i
d
ade
Ca
Nv
teg
el d
or ia
eT
da
e
ste
apl
i ca
o
We
b
Sa
da
s
Ava
Pro
ble
lia
ma
o
s
Ex p
eri m
Ca
ma
ent
da
a
l
da
apl
ic a
o
Tip
od
eA
nl
ise
De
s cr
Tar
i
efa
o
se
xec
M
Uti
tod
uta
l iza
os
das
o
de
Pe
des
em
r sp
env
ec t
pro
iv a
Dis
ol v
jeto
ime
pon
sd
nto
es
ibil
ida
oftw
W
eb
de
Cit
ar e
a
de
ant
fer r
oe
er io
am
ma
res
e
rti g
nta
os
sd
cie
ea
ntf
p
oio
ico
sa
nte
r ior
es
os
d
Nv

Cri
tri

aut
o

ma
tiz

ste

Tar

efa
s

de
te

al h
a
ag
era

Un
i da
Mo
de l
ou
ti liz

ado

par
a

Tip
os

de
F

de

0,00%

Figura 3.10. Representao Grfica do ndice de Pertinncia dos Atributos.

A escolha foi influenciada tambm pelo nvel de confiana do survey (79%)


que, caso fosse escolhido como patamar de corte frente aos percentuais de
pertinncia apresentados pelos atributos, iria coincidir com o conjunto selecionado
para compor a estrutura de caracterizao a partir critrio do primeiro quartil, cujo
ltimo atributo apresenta 80,67% (percentual do ndice de pertinncia do atributo Tipo
de Anlise).
Aps a identificao dos ndices de pertinncia, foi calculado o Nvel de
Relevncia dos atributos para caracterizar as abordagens WAT, que indica o quanto
cada atributo importante para apoiar o processo de seleo de abordagens de teste
para projetos de software Web. Cada participante indicou um valor para cada atributo
definido anteriormente como importante. Os valores podiam variar de 0 a 5, conforme
detalhado no item 3.2. Aos atributos que no foram indicados como importantes, foi
atribudo o valor -5 como nvel de relevncia.
Nesse sentido, o nvel de relevncia de cada atributo foi obtido pela soma das
respostas de cada um dos participantes (0 a 5, ou -5 para os atributos indicados como
no importantes), multiplicadas pelos seus respectivos pesos. Se todos os
participantes atriburem o valor mximo de relevncia para um atributo (ou seja,
atriburem valor =5), o seu nvel alcanar o valor mximo que, no caso, ser igual a
soma dos pesos dos participantes (144.13) multiplicado por 5 (=720,65).

63

A informao do nvel de relevncia ir auxiliar na identificao dos atributos


que devero apresentar um peso diferenciado no procedimento de seleo das
abordagens de teste para projetos de software Web. Por esta razo, os nveis de
relevncia de cada atributo tambm foram analisados utilizando medidas estatsticas:
Mdia, Mediana e Quartil.
Os nveis de relevncia de cada atributo esto descritos na Tabela 3.6. Para
facilitar a visualizao das medidas estatsticas analisadas, foram hachurados em
vermelho os atributos cujos ndices ficaram localizados no primeiro quartil; em
amarelo, aqueles cujo valor da pertinncia menor do que a mdia dos ndices; e em
verde os atributos com ndices localizados abaixo da mediana.
Tabela 3.6. Nvel de relevncia dos atributos.

Atributo

Nvel de

% de

Ordem para

Relevncia

Relevncia

Seleo

Tipos de Falhas

528,40

73,32%

1 Grupo

Tarefas automatizadas

502,66

69,75%

1 Grupo

Critrios de Cobertura

498,33

69,15%

1 Grupo

Entradas

471,53

65,43%

1 Grupo

Modelo utilizado para a gerao de teste

470,20

65,25%

1 Grupo

Limitaes

463,46

64,31%

1 Grupo

Tipo de Tcnica

444,33

61,66%

1 Grupo

Unidade

443,20

61,50%

1 Grupo

Nvel de Complexidade dos Passos No-automatizados

415,33

57,63%

1 Grupo

Tecnologia de Gerao dos Testes

413,86

57,43%

1 Grupo

Caracterstica de Qualidade

405,93

56,33%

1 Grupo

Benefcios

403,00

55,92%

1 Grupo

Sadas

396,73

55,05%

1 Grupo

Nvel de Teste

363,33

50,42%

2 Grupo

Avaliao Experimental

336,40

46,68%

2 Grupo

Categoria da aplicao Web

325,60

45,18%

2 Grupo

Tipo de Anlise

322,93

44,81%

2 Grupo

Problemas

318,06

44,14%

2 Grupo

Camada da aplicao

283,80

39,38%

2 Grupo

Descrio

164,53

22,83%

Tarefas executadas

99,86

13,86%

Perspectiva

3,40

0,47%

Mtodos de desenvolvimento Web

-18,13

-2,52%

Disponibilidade de ferramentas de apoio

-29,60

-4,11%

Citao em artigos cientficos anteriores

-45,53

-6,32%

Utilizao em projetos de software anteriores

-104,26

-14,47%

Apesar do conjunto de atributos indicados ser o mesmo, considerando o quartil


como patamar de corte, possvel observar que a ordem de pertinncia dos atributos
no necessariamente coincide com a ordem de relevncia para seleo de uma

64

Mediana

Mdia
1 Quartil

abordagem WAT para projetos de Software Web. A anlise das medidas estatsticas
sugere que apesar de importantes, alguns atributos podem ser mais influentes que
outros no procedimento de seleo.
Nesse sentido, o conjunto de atributos pode ser dividido em dois grupos para
verificar a adequao das caractersticas das abordagens WAT frente a um projeto de
software Web. O primeiro grupo, composto pelos atributos no hachurados na Tabela
3.6 (atributos acima da mediana), pode ser utilizado na verificao de adequao, e o
segundo grupo (atributos entre a mediana e o primeiro quartil) pode ser utilizado como
critrio de desempate. O Captulo 4 ir apresentar, mais detalhadamente, como a
anlise das medidas estatsticas ir influenciar o procedimento de seleo proposto.
Adicionalmente, cada participante foi questionado sobre a existncia de algum
atributo considerado importante para caracterizar uma abordagem WAT que no
estava presente no conjunto apresentado. Apenas dois participantes sugeriram novos
atributos. Um deles indicou o atributo Disponibilidade de Ferramentas WAT de cdigo
aberto e associou a tal atributo o nvel de relevncia 4.

Nvel de Relevncia
80,00%
73,32%
69,75%
69,15%
65,43%
65,25%

70,00%

64,31%
61,66% 61,50%

60,00%

57,63% 57,43%
56,33% 55,92%

55,05%
50,42%

50,00%

46,68%
45,18%
44,81% 44,14%
39,38%

40,00%

30,00%
22,83%

20,00%
13,86%

10,00%

Web
mentas
de apo
io
C itao
em art ig
os ante
riores
U tiliza
o em
projeto
s anteri
ores
D isp. d

e ferra

im ento

Perspe

envolv
d e des

Mtodo
s

o
D escri

s exec
utadas
Tarefa

m as

licao

Proble

a d a ap
C am ad

Avalia

Sadas

N vel d

Benef
cios

e Teste
o Exp
erimen
tal
C atego
ria da a
plica
o Web
Tipo de
Anlise

C om ple

U nidad
e
xidade
passos
n

o
-a
uto.
Tecnolo
gia de
Gera
o dos T
est es
C aracte
r stica
de Q u a
lidade

es
Tipo de
Tcnic
a

as

tilizado

Lim ita

Modelo
u

obertura

Entrad

tizadas
automa

s de C

Tipos d
e Falha
s

Critrio

-20,00%

Tarefas

-10,00%

ctiva

0,47%
-2,52%
-4,11% -6,32% -14,47%

0,00%

Figura 3.11. Representao Grfica do Nvel de Relevncia dos Atributos.

65

Entretanto, ao analisar as respostas de todos os participantes do survey


verifica-se que o atributo Disponibilidade de ferramentas de apoio alcanou os
menores ndices de pertinncia e nvel de relevncia, abaixo inclusive do patamar de
corte definido para compor a estrutura de caracterizao de abordagens WAT, razo
pela qual no ser incorporado na estrutura proposta. Da mesma forma, o novo
atributo sugerido Disponibilidade de Ferramentas WAT de cdigo aberto, tambm foi
descartado.
Outro participante indicou o atributo Comportamento No Determinstico para
o qual ele atribuiu o nvel mximo de relevncia (=5). Comportamento no
determinstico pode ser definido como um comportamento regido por fenmenos
aleatrios. Esse atributo apresenta certa familiaridade com o atributo Tipo de Anlise,
no sentido em que, conhecendo-se o estado do sistema, no possvel prever o seu
comportamento final, devido interferncia do usurio no fluxo de execuo e as
caractersticas dinmicas da aplicao. O atributo Tipo de Anlise, includo no corpo
de conhecimento, tambm foi identificado como pertinente pelo mesmo participante.
Por esta razo, o novo atributo sugerido foi descartado.
A estrutura final para caracterizar abordagens WAT est descrita na Tabela
3.7. Em complemento, foi associado um conjunto de valores pr-definidos a alguns
atributos com o objetivo de classificar os dados, que poder auxiliar na identificao
das abordagens adequadas a determinados projetos de software Web.
A obteno desses valores foi orientada por diferentes fontes de pesquisa,tais
como, reviso inicial da literatura sobre aplicaes Web descrita no Captulo 2;
diferentes caractersticas relacionadas s abordagens de teste para aplicaes Web
analisadas na quasi-reviso sistemtica (descrita na Seo 2.7), e o conjunto de
valores associados aos atributos originalmente proposto em DIAS NETO (2009) e
VEGAS e BASILI (2005).
Para o atributo Avaliao Experimental dever ser considerada a perspectiva
do autor sobre a avaliao realizada na abordagem proposta, e poder assumir os
seguintes valores: prova de conceito, aplicao na indstria, estudo de caso, estudo
experimental. No caso das Categorias da Aplicao foram utilizados os valores
definidos por Ginige e Murugesan [8] e Kappel [10], alm dos termos Rich Internet
Application (RIAS), Servios Web, e-commerce, e-government, e-learning, utilizados
na reviso realizada.
As caractersticas de qualidade sero classificadas de acordo com as
caractersticas descritas na norma ISO/IEC 9126 (2002), destacando apenas a
segurana, que uma sub-caracterstica de funcionalidade, devido a sua importncia
para aplicaes Web. O atributo Nvel de Teste dever considerar as seguintes

66

etapas de teste: Unidade, Integrao, Sistema e Aceitao. Apesar de no ser um


nvel de teste, o Teste de Regresso tambm foi considerado para fins dessa
classificao. O atributo Camada de Aplicao poder assumir os valores FrontEnd ou Back-End.
O atributo Tipo de Tcnica poder assumir os valores Funcional ou Estrutural,
enquanto o Tipo de Anlise poder ser Dinmica ou Esttica, caso a anlise seja
influenciada ou no pela interao do usurio. O atributo Nvel de Complexidade dos
Passos No-automatizados poder ser classificado como Baixo, Mdio ou Alto de
acordo com esforo, custo, tempo e habilidades requeridas para realizar os passos da
abordagem. Os demais atributos so descritos a partir de um texto livre.

Tabela 3.7. Estrutura final para caracterizar abordagens WAT.


Categoria

Atributos

Histrico

Valores
[prova de conceito, aplicao na indstria, estudo de caso,

Avaliao Experimental

estudo experimental]

Benefcios

[Texto livre]

Problemas

[Texto livre]
[Aplicaes Browser-Based, Rich Internet Application

Objeto

(RIAS), Servios Web, Workflow, Colaborao, baseada


no Conhecimento, Ubquas, e-commerce, e-government,
Categoria da aplicao Web

e-learning]
[Eficincia, Funcionalidade, Confiabilidade, Segurana,

Tcnica

Caracterstica de Qualidade

Usabilidade, Portabilidade]

Unidade

[Texto livre]

Nvel de Teste

[Unidade, Integrao, Sistema, Aceitao, Regresso]

Camada da aplicao

[Front-End, Back-End]

Tipo de Tcnica

[Funcional, Estrutural]

Tipo de Anlise

[Esttico, Dinmico]

Tipo de Falhas

[Texto livre]

Critrios de Cobertura

[Texto livre]

Entradas

[Texto livre]

Sadas

[Texto livre]

Limitaes

[Texto livre]

Modelo utilizado para a gerao de teste

[Texto livre]

Tecnologia de Gerao dos Testes

[Texto livre]

Tarefas automatizadas

[Sim, No]

Nvel de Complexidade dos Passos No-

[Baixo, Mdio, Alto]

automatizados

A Tabela 3.8 mostra um exemplo de caracterizao utilizando a estrutura


proposta. Foi utilizada a abordagem de teste para aplicaes Web definida por REZA
et al.(2008).

67

Tabela 3.8. Exemplo: A model based testing technique to test Web applications using
StateCharts (REZA et al 2008).
Categoria

Atributos

Histrico

Avaliao Experimental

Estudo de Caso

Benefcios

No relatado.

Problemas

No relatado.

Objeto

Tcnica

Valores

Categoria da aplicao Web

Aplicao Browser-Based

Caracterstica de Qualidade

Funcionalidade, Confiabilidade

Unidade

Links, Formulrios e Imagens

Nvel de Teste

Teste de Unidade, Teste de Integrao

Camada da aplicao

Front-End

Tipo de Tcnica

Estrutural

Tipo de Anlise

Dinmico
Lgica Incorreta no Cdigo, Falhas nos links (Pginas
Inacessveis, links quebrados), Incorreta transies de

Tipo de Falhas

estado.
Todas as imagens, todas as transaes, todos os pares,

Critrios de Cobertura

todas as condies e todos os caminhos.

Entradas

Diagrama de Estado

Sadas

Casos de Teste
No considerado problema de compatibilidade dos
navegadores

Web.

No

encontraram

soluo

para

problemas relacionados modelagem de concorrncia e


Limitaes

"back-ends" das aplicaes Web.

Modelo utilizado para a gerao de teste

Diagrama de Estado

Tecnologia de Gerao dos Testes

UML

Tarefas automatizadas

Sim

Nvel de Complexidade dos Passos No-

Baixa, apenas a modelagem inicial requerida

automatizados

3.5 Consideraes Finais do Captulo


Este captulo apresentou uma estrutura de caracterizao de abordagens de
teste de aplicaes Web, a partir dos resultados obtidos na quasi-reviso sistemtica
descritos anteriormente e de trabalhos relacionados identificados na literatura. Alm
disso, foi apresenta a avaliao da estrutura proposta atravs de um survey realizado
com especialistas.
A motivao para organizar esta estrutura de caracterizao se apia na
premissa de que a existncia de tal estrutura pode prover informaes para apoiar a
tomada de deciso a respeito da seleo de abordagens de teste para determinados
projetos de software.

68

Nesse sentido, importante manter a atualizar o corpo de conhecimento e os


ndices de relevncia dos seus atributos, a partir da realizao de novas revises
sistemticas. Alm disso, uma importante contribuio a ser realizada em trabalhos
futuros seria submeter

avaliao da estrutura do corpo de conhecimento aos

profissionais da indstria tambm, visto que o survey foi submetido a membros da


comunidade acadmica.
O prximo captulo apresenta o procedimento Porantim-WAT, uma instncia
especializada de Porantim (DIAS NETO, 2009) cujo objetivo indicar a abordagem de
teste mais apropriada para um projeto, a partir do clculo do grau de adequao entre
os atributos das abordagens existentes no corpo de conhecimento e as caractersticas
do projeto onde elas seriam aplicadas.

69

CAPTULO 4 - PORANTIM-WAT - PROCEDIMENTO


PARA APOIAR A SELEO DE ABORDAGENS DE
TESTE PARA PROJETOS DE SOFTWARE WEB

Neste captulo apresentado o procedimento Porantim-WAT, que prov apoio


seleo de abordagens de teste para projetos de software Web (seo 4.3). Trata-se
de uma instncia especializada de Porantim (seo 4.2)

e, da mesma forma,

fundamentada nos mesmos elementos: um corpo de conhecimento sobre abordagens


WAT e um mecanismo que avalia o grau de adequao entre as abordagens de teste
e as caractersticas de um projeto de software Web. Ao final, apresentada a
adaptao de uma infra-estrutura computacional para apoiar o procedimento de
seleo proposto (seo 4.4).

4.1 Introduo
A partir dos resultados obtidos na quasi-reviso sistemtica, foi apresentada a
estrutura de caracterizao de abordagens de teste para aplicaes Web. A motivao
para organizar esta estrutura de caracterizao se apia na premissa de que a
existncia de tal estrutura pode auxiliar a seleo da abordagem de teste a ser
aplicada em um projeto de software Web.
Em (DIAS NETO, 2009), foi apresentada uma soluo para o problema da
seleo de tcnicas de teste baseado em modelos (TTBM) com base no esquema de
caracterizao de VEGAS e BASILI (2005), a partir do desenvolvimento do corpo de
conhecimento sobre TTBMs e de um procedimento de seleo automatizado
denominado Porantim, que calcula o grau de adequao entre atributos das TTBMs e
as caractersticas do projeto de software onde elas seriam aplicadas.
Neste captulo, ser apresentada a criao de uma instncia especializada do
procedimento Porantim para apoiar a seleo de abordagens de teste para projetos de
software Web.

70

4.2 Porantim: Procedimento de apoio para seleo de


tecnologias
4.2.1 Viso Geral
O procedimento Porantim, proposto por DIAS NETO (2009), objetiva prover
informaes para apoiar a tomada de deciso a respeito da seleo de tcnicas de
teste baseado em modelos para determinados projetos de software. Trata-se de uma
evoluo do mecanismo de apoio seleo de tcnicas de teste chamada de
Esquema de Caracterizao, proposta por VEGAS e BASILI (2005), cuja
caracterizao dos atributos para a tcnica de teste foram atualizados com as
caractersticas especficas do MBT para elaborao de um corpo de conhecimento
especfico.
O procedimento baseado em dois elementos: a) Corpo de Conhecimento
sobre tcnicas TBM, que funciona como um repositrio de tcnicas que podem ser
utilizados em um projeto de software; e b) Mecanismo de Seleo que indica quais as
tcnicas teste mais adequadas, alm de analisar o impacto do seu uso sobre um
projeto de software.
O Mecanismo de Seleo composto por 5 atividades:

Figura 4.1. Viso Geral do Procedimento Porantim (DIAS NETO 2009).

Caracterizar Projeto de Software: a equipe de teste precisa preencher um


questionrio sobre as caractersticas de projetos de software onde as tcnicas de
teste sero aplicadas. No total, 16 atributos em relao ao projeto de software
devem ser preenchidos, tais como: plataforma de execuo, a linguagem de
programao, modelos fornecidos pelo processo de desenvolvimento, nvel de
teste exigido, as caractersticas de qualidade do software a ser avaliado, entre
outros.

71

Calcular o Grau de Adequao: internamente, Porantim calcula o grau de


adequao entre o projeto de software caracterizado na etapa anterior para cada
tcnica TBM includa no repositrio, utilizando o conceito matemtico de distncia
euclidiana. A noo de distncia conceitual realizada, matematicamente, pela
norma da diferena entre dois vetores v1 e v2, conforme apresentado na Figura
4.2.

Figura 4.2. Frmula para clculo de distncia entre vetores (DIAS NETO 2009).

Para o clculo do Grau de Adequao, as caractersticas do projeto e de cada


TTBM so transformadas em valores que posteriormente so representados
atravs de vetores (v1 vetor das caractersticas do projeto de software) e (v2
vetor das caractersticas de cada TTBM). A distncia entre eles indica o grau de
adequao de uma TTBM para o projeto de software. Quanto mais prximos eles
estiverem, mais adequada ao projeto a TTBM.
Cada atributo do projeto de software que pode ser confrontado com os
atributos de caracterizao de TTBMs possui um peso2 especfico. A lista dos
pesos de cada atributo pode ser encontrada em DIAS NETO (2009). A regra de
transformao utilizada para representar o vetor v1 (vetor das caractersticas do
projeto de software) foi utilizar o valor do peso de cada atributo. A regra de
transformao utilizada para representar o vetor v2 (vetor das caractersticas de
cada TTBM) est descrita a seguir:
SE [atributo do projeto de software = atributo da TTBM]
ENTO atributo da TTBM transformado em 1 x influncia do atributo;
CASO CONTRRIO recebe o valor 0.
2

Para cada atributo de caracterizao das tcnicas de teste baseadas em modelos foi atribudo um

peso obtido atravs dos resultados de um survey. Esses pesos simbolizam o nvel de relevncia de cada
atributo na seleo das tcnicas para um determinado projeto.

72

Uma vez definidas as regras de transformao, o passo seguinte consiste


na formalizao da representao vetorial para projeto de software e TTBM e
clculo da distncia entre os vetores.

Indicar Tcnicas mais adequadas: depois de calcular o grau de adequao,


Porantim lista, em ordem decrescente, o subconjunto de tcnicas de teste que
mais se adequam ao projeto, indicando o grau de adequao de cada uma delas.
possvel consultar os detalhes das caractersticas das tcnicas listadas.

Selecionar Tcnicas: a equipe de teste precisa selecionar o subconjunto das


tcnicas, sugeridas na etapa anterior, que deseja utilizar no projeto de software.

Analisar combinao das Tcnicas: aps a equipe selecionar o subconjunto de


tcnicas que deseja utilizar no projeto de software, Porantim analisa o impacto da
combinao das tcnicas selecionadas sobre algumas variveis do processo de
teste, tais como a cobertura de projetos de software, modelagem, esforo e
recursos humanos necessrios para utilizar as tcnicas.

Apresentada a viso geral do procedimento Porantim, sero descritas a seguir


as adaptaes necessrias que devero ser realizadas no mecanismo de seleo das
abordagens de teste voltado para aplicaes Web. A construo de um repositrio
com atributos de caracterizao especficos para o domnio de teste de aplicaes
Web, descrito no captulo anterior, representa o primeiro passo na direo da criao
de uma instncia especializada de Porantim para apoiar a seleo de tcnicas de teste
para projetos de software Web.

4.3 Porantim-WAT: Adaptao de Procedimento para apoiar a


seleo de abordagens de teste para projetos Web
Porantim-WAT representa uma instncia especializada do procedimento de
apoio seleo de tcnicas de teste baseado em modelos, proposto por DIAS NETO
(2009). Sendo uma extenso de Porantim, este procedimento fundamentado nos
mesmos elementos principais: Corpo de Conhecimento e Mecanismo de Seleo de
Tcnicas de Teste, composto por 5 atividades.
Entretanto, para a criao de uma instncia especializada do procedimento
Porantim para apoiar a seleo de abordagens WAT para projetos de software Web,

73

alm da criao de um repositrio com atributos de caracterizao especficos para o


domnio de teste de aplicaes Web, ser necessrio ajustar todas as atividades do
mecanismo de seleo das abordagens.
Porantim-WAT tambm ir apresentar 5 atividades no mecanismo de seleo.
Entretanto apresentao um caminho alternativo adicional que possibilitar o
refinamento da seleo de abordagens de teste para aplicaes Web. Sero
apresentados a seguir os requisitos de adaptao requeridos em cada atividade do
mecanismo de seleo, nas quais sero necessrias implementaes de ajustes.

Refinar Seleo

Equipe de
Teste

Caracterizar
Projeto de
Software Web

Porantim
WAT

Calcular
Grau de
Adequao

Porantim
WAT

Equipe de
Teste

Porantim
WAT

Indicar abordagens
WAT mais
Adequadas

Selecionar
Abordagens WAT
para o Projeto Web

Analisar
Combinaes das
Abordagens WAT

Refinamento:
Critrio de
Desempate
Corpo de Conhecimento
de Abordagens WAT

Figura 4.3. Viso Geral Procedimento Porantim-WAT.

Caracterizar Projeto de Software Web: a equipe de teste ir preencher um


questionrio sobre as caractersticas de projetos de software Web onde as
abordagens de teste sero aplicadas. Inicialmente, 9 atributos em relao ao
projeto de software Web devem ser preenchidos, tais como: Modelos fornecidos
pelo processo de desenvolvimento, Tipo de falhas, as caractersticas de qualidade
de software a ser avaliado, entre outros.
Ao final do procedimento de seleo, caso haja empate no grau de
adequao entre as abordagens selecionadas por Porantim-WAT, ou ainda, caso
seja desejvel refinar a seleo das abordagens de teste por qualquer motivo, a
etapa Caracterizar Projeto de Software Web poder ser novamente submetida
equipe de teste. Nesse momento, um segundo grupo de informaes sobre a
caracterizao do projeto, composto por 5 novos atributos, ser informado pela
equipe de teste e ser utilizado como critrio de desempate. Desta forma, esperase obter um resultado mais refinado da busca, visto que 14 atributos sero
considerados pelo mecanismo de seleo.

74

Calcular o Grau de Adequao: analogamente a Porantim, o procedimento


Porantim-WAT calcula o grau de adequao entre o projeto de software Web,
caracterizado na etapa anterior, para cada abordagem WAT includa no corpo de
conhecimento, utilizando o conceito matemtico de distncia euclidiana.
Para o clculo do Grau de Adequao, as caractersticas do projeto de
software Web e de cada abordagem WAT so transformadas em valores que
posteriormente so representados atravs de vetores. A distncia entre eles indica
o grau de adequao de uma abordagem WAT para o projeto de software Web. Na
Seo 4.3.6 ser apresentado um exemplo da transformao em vetores e do
clculo do grau de adequao.

Indicar Abordagens WAT mais Adequadas: depois de calcular o grau de


adequao, Porantim-WAT lista, em ordem decrescente, o subconjunto das
abordagens WAT que mais se adequaram ao projeto, indicando o grau de
adequao de cada uma delas. possvel consultar os detalhes das
caractersticas das abordagens listadas.

Selecionar Abordagens WAT para um Projeto Web: nesse momento sero


apresentadas duas opes equipe de teste. A primeira consiste na seleo de
um subconjunto das abordagens WAT, sugeridas na etapa anterior, que sero
utilizadas no projeto de software Web caracterizado. Na segunda, a equipe de
teste poder optar pelo refinamento da busca. A equipe ento dever escolher
quais abordagens sero submetidas ao refinamento do procedimento de seleo.
Nesse caso, Porantim-WAT ir retornar etapa Caracterizar Projeto de Software
Web onde novos atributos do projeto devero ser informados e sero utilizados
como critrio de desempate.

Analisar Combinao das Abordagens WAT: aps a equipe selecionar o


subconjunto de abordagens WAT que deseja utilizar no projeto de software Web,
Porantim-WAT analisa o impacto da combinao das abordagens selecionadas
sobre algumas variveis do processo de teste, tais como a cobertura de projetos
de software, modelagem, esforo e recursos humanos necessrios para utilizar as
tcnicas.

75

4.3.1 Adaptao da etapa Caracterizar Projeto


Os atributos de caracterizao de projeto de software utilizados em Porantim
esto apresentados na Tabela 4.1, apresentada a seguir, junto com um conjunto de
exemplos de possveis valores que podem ser associados a eles. Tratam-se de 16
atributos divididos em 2 categorias:

Caractersticas do projeto de software a ser desenvolvido, e;

Requisitos de teste para o projeto de software.

Tabela 4.1. Atributos de Caracterizao de Projeto de Software (DIAS NETO, 2009).


Categoria

Atributos de Caracterizao
1. Plataforma de execuo do software

Ex:

Exemplo de Valores
web,
desktop,

sw

embarcado

Caractersticas
do Projeto

2. Paradigma de desenvolvimento adotado no


projeto

Ex: Estruturado, Orientado a

3. Linguagem de programao adotada para


construir o software

Ex: Java, C++, PHP, Phyton,

4. Modelo comportamental/estrutural de
software provido pelo projeto

Ex: Diagramas UML, Mquina

5. Tecnologia usada para modelagem do


software
6. Durao estimada para o projeto
7. Indicador de complexidade do problema
8. Indicador de volatilidade dos requisitos
9. Indicador de tamanho estimado da
aplicao
10. Habilidade provida pela equipe de teste
alocada para o projeto

Ex: UML, TSL, OCL

11. Nvel(is) de Teste desejado(s) para o


projeto
12. Tipo de Tcnica de Teste a ser aplicada
13. Caractersticas de qualidade definidas
nos requisitos e que devem ser avaliadas ao
longo do projeto

Objetos, Orientado a Aspectos

Ruby

de Estado Finito, Grafos

Em meses
Alta, Mdia, Baixa
Alta, Mdia, Baixa
Grande, Mdia, Pequena
Ex: conhecimento em uma
linguagem de programao ou
de modelagem, conhecimento
sobre um tipo de tcnica de
teste aplicvel a uma
plataforma de execuo
Ex: unidade, integrao,
Sistema, aceitao
Ex: Funcional ou Estrutural
Caractersticas

qualidade da norma ISO/IEC


9126

Requisitos de
Teste

de

(ex:

eficincia,

funcionalidade, usabilidade)
14. Tipos de Defeitos que desejam ser
reveladas
15. Apoio Ferramental requerido para testes

16. Custo esperado para os testes

76

Ex: Tipo de Dados Incorreto,


Falha de Banco de Dados,
Falha de Navegao
No requer o uso de
ferramenta,
Apenas ferramentas gratuitas,
Possibilidade de adquirir
Ferramenta
Alto, Mdio, Baixo

O requisito de adaptao para caracterizao de um projeto de software Web


consiste na adequao do conjunto de atributos para este tipo de aplicao, orientado
por diferentes fontes de pesquisa:

O conjunto de atributos originalmente proposto em DIAS NETO (2009)


para caracterizar projetos de software;

quasi-reviso sistemtica para identificar as caractersticas das


abordagens de teste para aplicaes Web disponveis na literatura
tcnica, e ;

Conjunto de atributos de caracterizao das abordagens WAT


confirmados a partir do survey que apoiou a definio da estrutura do
corpo de conhecimento de abordagens de teste para aplicaes Web,
descrito no Captulo 3.

Alm disso, a partir da anlise de resultados do survey no captulo anterior, foi


possvel observar que alguns atributos seriam mais influentes no procedimento de
seleo. Nesse sentido, o conjunto de atributos foi dividido em dois grupos para
verificar a adequao das caractersticas das abordagens WAT frente a um projeto de
software Web. O primeiro grupo, ser utilizado na verificao de adequao
propriamente dita. O segundo ser utilizado como critrio de desempate, caso seja
necessrio realizar um refinamento das abordagens selecionadas.
Desta forma, os atributos de caracterizao de um projeto de software Web,
utilizado em Porantim-WAT, esto apresentados na Tabela 4.2.

Tabela 4.2. Atributos de Caracterizao de Projeto de Software Web.


Categoria

Caractersticas
do Projeto

Atributos de Caracterizao
1. Modelo comportamental/estrutural de

Ex: Diagramas UML, Mquina

software provido pelo projeto

de Estado Finito, Grafos

2. Tecnologia usada para modelagem

Ex: UML, WSDL

3. Habilidade provida pela equipe de teste

Ex: conhecimento em um tipo


de modelagem, conhecimento
sobre um tipo de tcnica de
teste aplicvel a uma
plataforma de execuo
Ex: Tipo de Dados Incorreto,
Falha de Banco de Dados,
Falha de Navegao
Ex: Funcional ou Estrutural

alocada para o projeto

Requisitos de
Teste

Exemplo de Valores

4. Tipos de Defeitos que desejam ser


reveladas
5. Tipo de Tcnica de Teste a ser aplicada

7. Caractersticas de qualidade definidas nos

Ex: Classe de Equivalncia,


Todos os caminhos, etc.
Caractersticas de qualidade da

requisitos e que devem ser avaliadas ao

norma

6. Critrio de Cobertura

77

ISO/IEC

9126

(ex:

longo do projeto

eficincia,

funcionalidade,

usabilidade)
8. Tarefas Automatizadas

Ex: Sim ou No

9. Nvel de Complexidade dos passos no

Ex: Baixo, Mdio, Alto

automatizados

A adequao do conjunto de atributos de caracterizao de projeto de software


Web resultou na necessidade de evoluir a estrutura do corpo de conhecimento sobre
abordagens WAT definido no Captulo 3. Foi necessria a incluso do atributo
Habilidades Requeridas pela Abordagem para que ficassem compatveis aos
atributos usados para caracterizao do projeto. Este atributo herdar o peso obtido
no atributo que indica as limitaes /restries para utilizao da abordagem WAT.
Em caso de empate, ou seja, quando duas ou mais abordagens apresentam o
mesmo nvel de adequao para um determinado projeto de software Web, ou ainda,
quando for necessrio refinar a seleo das abordagens de teste, um segundo grupo
de informaes sobre a caracterizao do projeto, ser utilizado como critrio de
desempate. Desta forma, outros atributos de caracterizao de um projeto de software
Web devero ser informados. Os atributos utilizados em Porantim-WAT como critrio
de desempate, esto apresentados na tabela 4.3.

Tabela 4.3. Atributos utilizados como critrio desempate na Caracterizao de Projeto.


Categoria

Atributos de Caracterizao
1. Categoria da Aplicao Web

Caractersticas
do Projeto
Requisitos de
Teste

Exemplo de Valores
Ex: Browser-Based, Servios
Web, e-commerce, workflow,
colaborativas

2. Nvel(is) de Teste desejado(s) para o


projeto
3. Anlise de Teste

Ex: unidade, integrao,


Sistema, aceitao
Ex: Dinmica ou Esttica

4. Tipo de Avaliao da Abordagem

Ex: Estudo de Caso,


Estudo Experimental
Ex: Front-End ou Back-End

5. Camada da aplicao a ser testada

4.3.2 Adaptao da etapa Calcular o Grau de Adequao


Para o clculo do Grau de Adequao, os atributos do projeto de software
devero ser confrontados com os atributos de caracterizao das abordagens WAT,
seguindo o algoritmo proposto em DIAS NETO (2009) que utiliza o conceito
matemtico de distncia euclidiana (BOLDRINI et al., 1980).
Este mecanismo transforma as caractersticas do projeto e de cada abordagem
de teste em valores, que posteriormente so representados atravs de vetores (v1

78

vetor das caractersticas do projeto de software; e v2 vetor das caractersticas de


cada abordagem de teste). A distncia entre os vetores indica o grau de adequao de
uma abordagem de teste para o projeto de software. Quanto mais prximos, maior o
grau de adequao.
Nesse contexto, o clculo de adequao dever ser adaptado apenas em
relao aos atributos especficos das abordagens WAT (descrito no Captulo 3) e aos
atributos de caracterizao do projeto de software Web (descrito na seo anterior).

Tabela 4.4. Relacionamento entre Atributos de Caracterizao de Projeto Web e


abordagens WAT.
Atributos de Caracterizao
1. Categoria da Aplicao Web

Atributos WAT
Categoria da aplicao

Observao
Utilizado apenas como

que a abordagem pode

critrio de desempate

ser utilizada
2. Modelo comportamental/estrutural
de software provido pelo projeto

Modelos utilizados pela

3. Tecnologia usada para


modelagem do software

Tecnologia utilizada para

4. Habilidade provida pela equipe de


teste alocada para o projeto
5. Nvel(is) de Teste desejado(s)
para o projeto

Habilidade requerida para


ser operada
Nveis de Teste
explorados ela
abordagem
Indicao da tcnica que

6. Tipo de Tcnica de Teste a ser


aplicada
7. Anlise de Teste a ser realizada

8. Caractersticas de qualidade
definidas nos requisitos e que devem
ser avaliadas ao longo do projeto

abordagem

gerao dos testes

Utilizado apenas como


critrio de desempate

a abordagem utiliza
Tipo de anlise realizada

Utilizado apenas como

pela abordagem

critrio de desempate

Caractersticas de
qualidade que a
abordagem WAT capaz
de avaliar

9. Tipos de Defeitos que desejam


ser reveladas
10. Tipo de Avaliao da Abordagem

11. Camada da aplicao a ser


testada
12. Tarefas Automatizadas

13. Nvel de Complexidade dos

Tipos de defeitos que a


abordagem capaz de
revelar.
Indicao sobre a
estratgia experimental e
as evidncias adquiridas
atravs da
experimentao da
abordagem WAT.
Informaes sobre qual
camada a abordagem
WAT pode ser aplicada.
Descreve se a
abordagem WAT
automatizada
Indicao sobre o

79

Utilizado apenas como


critrio de desempate

Utilizado apenas como


critrio de desempate

passos no automatizados

14. Critrio de Cobertura

esforo, tempo, custo e


para executar as tarefas
no-automatizadas na
utilizao da abordagem
WAT.
Informao sobre as
regras utilizadas pela
abordagem WAT para
gerar casos de teste

Alm disso, cada atributo possui um peso especfico definido pelo ndice de
Relevncia apresentado no Captulo 3. Desta forma, os atributos exercem influncias
diferenciadas no procedimento de seleo. A influncia de cada atributo calculada
pela diviso do peso do atributo pela soma dos pesos de todos os atributos. Os
atributos das abordagens WAT que no podem ser confrontados com os atributos do
projeto no so usados para calcular o Grau de Adequao. No entanto, eles
compem a abordagem para prover mais informaes que podem ser consultadas
para apoiar a tomada de deciso no momento da seleo das tcnicas. A lista de
atributos, seus pesos e influncia esto apresentados na Tabela 4.5

Tabela 4.5. Atributos de Caracterizao de Projeto de Software e seus pesos.


Atributos de Caracterizao
1. Modelos

Pesos
0,6525

Influncias
8,14%

2. Tecnologia de modelagem

0,5743

7,17%

3. Habilidades

0,6431

8,03%

4. Tipos de Falhas

0,7332

9,15%

5. Tcnica de Teste

0,6166

7,69%

6. Critrio de Cobertura

0,6915

8,63%

7. Caractersticas de qualidade

0,5633

7,03%

8.Tarefas Automatizadas

0,6975

8,70%

9.Nvel de Complexidade dos passos no


automatizados
10. Categoria da Aplicao Web

0,5763

7,19%

0,4518

5,64%

11. Nvel de Teste

0,5042

6,29%

12. Anlise de Teste

0,4481

5,59%

12.Tipo de Avaliao da Abordagem

0,4668

5,83%

14.Camada da aplicao a ser testada

0,3938

4,91%

De acordo com o algoritmo proposto em DIAS NETO (2009), para a


representao do vetor de um determinado projeto de software, cada atributo de
caracterizao do projeto ser transformado nos valores definidos pela sua influncia,
conforme detalhado no quadro abaixo:

80

V1 = (X1 | X2 | X3 | X4 | X5 | X6 | X7 | X8 | X9 | X10 | X11 | X12 | X13 | X14)


Onde:
V1 o vetor representa um projeto de software Web.
Xi a valor da influncia do atributo i que caracteriza o projeto de software Web
(identificados na tabela 4.5).

Desta forma, o vetor ser composto pela influncia dos atributos abaixo
listados:
X1 Valor da influncia do atributo Modelos.
X2 Valor da influncia do atributo Tecnologia de modelagem.
X3 Valor da influncia do atributo Habilidades.
X4 Valor da influncia do atributo Tipos de Falhas.
X5 Valor da influncia do atributo Tcnica de Teste.
X6 Valor da influncia do atributo Critrio de Cobertura.
X7 Valor da influncia do atributo Caractersticas de qualidade.
X8 Valor da influncia do atributo Tarefas Automatizadas.
X9 Valor da influncia do atributo Nvel de Complexidade dos passos
no automatizados.
X10 Valor da influncia do atributo Categoria da Aplicao Web.
X11 Valor da influncia do atributo Nvel de Teste.
X12 Valor da influncia do atributo Anlise de Teste.
X13 Valor da influncia do atributo Tipo de Avaliao da Abordagem.
X14 Valor da influncia do atributo Camada da aplicao a ser
testada.

Para a representao do vetor que ir representar uma determinada


abordagem WAT, as transformaes de cada atributo em valores sero realizadas
obedecendo seguinte regra:
SE [atributo do projeto de software = atributo da abordagem de teste]
ENTO atributo da abordagem de teste transformado em 1 x influncia do atributo
CASO CONTRRIO recebe valor 0

81

4.3.3 Adaptao da etapa Indicar Abordagens WAT mais Adequadas


Nesta etapa do procedimento de seleo lista, em ordem decrescente, o
subconjunto das abordagens WAT que mais se adequam ao projeto. Alm disso,
possvel consultar os detalhes das caractersticas das abordagens listadas.
Neste contexto a apresentao das abordagens dever ser adaptada para
apresentar informaes associadas s abordagens WAT.

4.3.4 Adaptao da etapa Selecionar Abordagens WAT para Projeto de


Software Web
O requisito de adaptao desta etapa consiste principalmente em oferecer um
fluxo alternativo para o usurio. A motivao para este novo fluxo de execuo baseiase no fato de que cada atributo possui um peso especfico definido pelo ndice de
Relevncia (apresentado no Captulo 3) e que, desta forma, exercem influncias
diferenciadas no procedimento de seleo.
Nesse sentido, o conjunto de atributos que caracterizam as abordagens WAT
foi dividido em dois grupos para verificar a sua adequao frente a um projeto de
software Web. O primeiro grupo composto pelos 9 atributos apresentados na Tabela
4.2, e ser utilizado na primeira iterao do clculo do grau de adequao.
Ao final da primeira iterao do procedimento de seleo, caso haja empate no
grau de adequao entre as abordagens selecionadas por Porantim-WAT, ou ainda,
caso seja desejvel refinar a seleo das abordagens de teste por qualquer motivo,
ser disponibilizada ao usurio a opo Refinar Seleo.
Ao escolher essa opo, o procedimento ser retornado etapa Caracterizar
Projeto de Software Web. Nesse momento a equipe de teste ir complementar a
caracterizao do projeto Web, informando 5 novos atributos, descritos na Tabela 4.3.
Desta forma, espera-se obter um resultado mais refinado da busca, visto que, no total,
14 atributos sero considerados pelo mecanismo de seleo.

4.3.5 Adaptao da etapa Analisar a Combinao das Abordagens


WAT
A anlise do uso combinado de tcnicas de teste baseado em modelos
utilizado por Porantim no ser alterada no procedimento Porantim-WAT proposto. No
entanto, necessrio adaptar o mecanismo de anlise em relao aos atributos
especficos das abordagens WAT (descrito no Captulo 3) e aos atributos de
caracterizao do projeto de software Web (descrito na seo anterior).

82

4.3.6 Exemplo
As Tabelas 4.6 e 4.7 apresentam exemplos fictcios de instanciao da
caracterizao de um projeto de software Web e a caracterizao referente a duas
abordagens WAT, identificadas como WAT#1 e WAT#2. Essas abordagens sero
utilizadas para exemplificar o clculo da distncia entre projetos e abordagens WAT,
de acordo com o procedimento Porantim-WAT proposto. So apresentados dois
cenrios:
Cenrio 1) No haver empate entre as abordagens quanto adequao ao
projeto de software web caracterizado.
Cenrio 2) Haver empate entre as abordagens quanto adequao ao projeto
de software web caracterizado. Nesse caso, ser necessrio utilizar os atributos de
caracterizao adicionais, como critrio de desempate.

Tabela 4.6. Exemplo de caracterizao de projeto e abordagens WAT (Cenrio 1).


Atributos de Caracterizao
1. Modelos

Projeto
Diagrama de Classe

WAT #1
Diagrama

de

WAT #2
Diagrama

de

Classe

Casos de Uso

UML

UML
Conhecimento
em UML
Tipo Incorreto
de Dados
Funcional
Classe
de
Equivalncia
Confiabilidade

2. Tecnologia de modelagem

UML

3. Habilidades

Conhecimento em UML

4. Tipos de Defeitos

Tipo Incorreto de Dados

5. Tcnica de Teste

Funcional

6. Critrio de Cobertura

Valores Limtrofes

7. Caractersticas de qualidade

Confiabilidade

Conhecimento
em UML
Tipo Incorreto
de Dados
Funcional
Valores
Limtrofes
Confiabilidade

8. Tarefas automatizadas

NO

NO

NO

9. Complexidades Passo no
automatizados
Grau de Adequao

Baixo

Baixo

Mdio

100%

86,12%

Representao vetorial do Projeto e das abordagens WAT#1 e WAT#2

Transformao das caractersticas do projeto no vetor VProjeto

VProjeto= (0,0814 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719)

Transformao das caractersticas da abordagem WAT#1 no vetor VWat#1

VWat#1= (0,0814 * 1 | 0,0717 * 1 | 0,0803 * 1 | 0,091 5* 1 | 0,0769 * 1 | 0,0863 * 1 | 0,0703 * 1 | 0,0870 * 1


VWat#1= (0,0814 | 0,0717 | 0,0803 | 0,091 5 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719)

83

| 0,0719 * 1)

Transformao das caractersticas da abordagem WAT#2 no vetor VWat#2

VWat#2= (0,0814 * 0 | 0,0717 * 1 | 0,0803 * 1 | 0,0915 * 1 | 0,0769 * 1 | 0,0863 * 0 | 0,0703 * 1 | 0,0870 * 1

| 0,0719 * 0)

VWat#2= (0 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0 | 0,0703 | 0,0870 | 0)

Clculo da distncia entre a representao vetorial do Projeto e a representao


vetorial de cada abordagem:

Clculo do nvel de adequao entre VProjeto e VWat#1

Nvel de Adequao (VProjeto, VWat#1) =|1 distancia(VProjeto, VWat#1 ) | *100


distncia( VProjeto, VWat#1) = (VProjeto - VWat#1)
distncia( VProjeto, VWat#1) = 0 = 0
Nvel de Adequao (VProjeto, VWat#1) =|1 0 | *100 100%

Clculo do nvel de adequao entre VProjeto e VWat#2

Nvel de Adequao (VProjeto, VWat#2) =|1 distancia(VProjeto, VWat#2 ) | *100


distncia( VProjeto, VWat#2) = (VProjeto - VWat#2)
distncia( VProjeto, VWat#2) = (0,0814 -0 ) + 0 + 0 + 0 + 0 +( 0,0863-0) + 0 +

0 +( 0,0719- 0)

distncia( VProjeto, VWat#1) = 0,00662596 + 0,00744769 +0,00516961


distncia( VProjeto, VWat#2) = 0,01924326
distncia( VProjeto, VWat#2) = 0,13872007
Nvel de Adequao (VProjeto, VWat#2) =|1 0,13872007 | *100
Nvel de Adequao (VProjeto, VWat#2) = 0,86127992 *100 = 86,12 %

Tabela 4.7. Exemplo de caracterizao de projeto e abordagens WAT (Cenrio 2).


Atributos de Caracterizao
1. Modelos

Projeto
Diagrama de Classe

WAT #1
Diagrama

de

WAT #2
Diagrama

Classe

Classe

de

2. Tecnologia de modelagem

UML

UML

UML

3. Habilidades

Conhecimento em UML

4. Tipos de Falhas

Tipo Incorreto de Dados

5. Tcnica de Teste

Funcional

Conhecimento
em UML
Erro de
Interface
Funcional

Conhecimento
em UML
Erros de
Formulrio
Funcional

6. Critrio de Cobertura

Valores

Classe de

Classe de

Limtrofes

Equivalncia

Equivalncia

7. Caractersticas de qualidade

Confiabilidade

Confiabilidade

Confiabilidade

8. Tarefas automatizadas

No

No

No

9. Complexidades Passo no
automatizados

Baixo

Mdio

Alto

84

Grau de Adequao
10. Categoria da Aplicao
11. Nvel de Teste
12. Anlise de Teste
13.Tipo de Avaliao

85,34%
Servios Web
Integrao
Dinmico
Estudo de
Caso
Cliente
82,18%

Browser-Based
Unidade
Esttico
Estudo de Caso

14. Camada da Aplicao


Cliente
Grau de Adequao Critrio Desempate

85,34%
Browser-Based
Unidade
Esttico
Estudo de
Caso
Cliente
85,34%

Representao vetorial do Projeto e das abordagens WAT#1 e WAT#2

Transformao das caractersticas do projeto no vetor VProjeto

VProjeto= (0,0814 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719)

Transformao das caractersticas da abordagem WAT#1 no vetor VWat#1

VWat#1= (0,0814 * 1 | 0,0717 * 1 | 0,0803 * 1 | 0,091 5* 0 | 0,0769 * 1 | 0,0863 * 0 | 0,0703 * 1 | 0,0870 * 1

| 0,0719 * 0)

VWat#1= (0,0814 | 0,0717 | 0,0803 | 0 | 0,0769 | 0 | 0,0703 | 0,0870 | 0)

Transformao das caractersticas da abordagem WAT#2 no vetor VWat#2

VWat#2= (0,0814 * 1 | 0,0717 * 1 | 0,0803 * 1 | 0,091 5* 0 | 0,0769 * 1 | 0,0863 * 0 | 0,0703 * 1 | 0,0870 * 1

| 0,0719 * 0)

VWat#2= (0,0814 | 0,0717 | 0,0803 | 0 | 0,0769 | 0 | 0,0703 | 0,0870 | 0)

Clculo da distncia entre a representao vetorial do Projeto e a representao


vetorial de cada abordagem:

Clculo do nvel de adequao entre VProjeto e VWat#1 ou (VWat#2)

Nvel de Adequao (VProjeto, VWat#1) =|1 distancia(VProjeto, VWat#1 ) | *100


distncia( VProjeto, VWat#1) = (VProjeto - VWat#1)
distncia( VProjeto, VWat#1) = 0 + 0 + 0 + (0,0915-0) + 0 + (0,0863 - 0) + 0 + 0 + ( 0,0719 - 0)
distncia( VProjeto, VWat#1) = 0,00837225 + 0,00744769 +0,00516961
distncia( VProjeto, VWat#1) = 0,02148955
distncia( VProjeto, VWat#1) = 0,14659314
Nvel de Adequao (VProjeto, VWat#1) =|1 0,14659314 | *100
Nvel de Adequao (VProjeto, VWat#1) = 0,85340685 *100 = 85,34 %

Podemos observar que VWat#1 igual a VWat#2. Desta forma, a distncia (VProjeto,
VWat#1) tambm ser igual distncia (VProjeto,, VWat#2). Nesse cenrio houve empate entre
as abordagens quanto adequao ao projeto de software web caracterizado. Nesse
caso, ser necessrio utilizar os atributos de caracterizao adicionais, como critrio
de desempate.

85

Representao vetorial do Projeto e das abordagens WAT#1 e WAT#2,


observando os atributos do critrio de desempate

Transformao das caractersticas do projeto no vetor VProjeto

VProjeto= (0,0814 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719 | 0,0564 | 0,0629 | 0,0559 |
0,0583 | 0,0491)

Transformao das caractersticas da abordagem WAT#1 no vetor VWat#1

VWat#1= (0,0814 * 1 | 0,0717 * 1 | 0,0803 * 1 | 0,091 5* 0 | 0,0769 * 1 | 0,0863 * 0 | 0,0703 * 1 | 0,0870 * 1

| 0,0719 * 0 |

0,0564 * 0 | 0,0629 * 0 | 0,0559 * 0 | 0,0583 * 1 | 0,0491 * 1)

VWat#1= (0,0814 | 0,0717 | 0,0803 | 0 | 0,0769 | 0 | 0,0703 | 0,0870 | 0 | 0 | 0 | 0 | 0,0583 | 0,0491)

Transformao das caractersticas da abordagem WAT#2 no vetor VWat#2

VWat#2= (0,0814 * 1 | 0,0717 * 1 | 0,0803 * 1 | 0,091 5* 0 | 0,0769 * 1 | 0,0863 * 0 | 0,0703 * 1 | 0,0870 * 1

| 0,0719 * 0 |

0,0564 * 1 | 0,0629 * 1 | 0,0559 * 1 | 0,0583 * 1 | 0,0491 * 1)

VWat#2= (0,0814 | 0,0717 | 0,0803 | 0 | 0,0769 | 0 | 0,0703 | 0,0870 | 0 | 0,0564 | 0,0629 | 0,0559 | 0,0583 | 0,0491)

Clculo da distncia entre a representao vetorial do Projeto e a representao


vetorial de cada abordagem:

Clculo do nvel de adequao entre VProjeto e VWat#1

Nvel de Adequao (VProjeto, VWat#1) =|1 distancia(VProjeto, VWat#1 ) | *100


distncia( VProjeto, VWat#1) = (VProjeto - VWat#1)
distncia( VProjeto, VWat#1) = 0 + 0 + 0 + (0,0915-0) + 0 + (0,0863 - 0) + 0 + 0 + ( 0,0719 - 0) + (0,0564 - 0)
+ (0,0629 - 0) + (0,0559 - 0) + 0 + 0

distncia( VProjeto, VWat#1) = 0,00837225 + 0,00744769 +0,00516961+ 0,00318096 + 0,00395641 + 0,00312481


distncia( VProjeto, VWat#1) = 0,03175173
distncia( VProjeto, VWat#1) = 0,17819015
Nvel de Adequao (VProjeto, VWat#1) =|1 0,17819015 | *100
Nvel de Adequao (VProjeto, VWat#1) = 0,82180984 *100 = 82,18 %

Clculo do nvel de adequao entre VProjeto e VWat#2

Nvel de Adequao (VProjeto, VWat#2) =|1 distancia(VProjeto, VWat#2 ) | *100


distncia( VProjeto, VWat#2) = (VProjeto - VWat#2)
distncia( VProjeto, VWat#2) = 0+ 0+ 0+(0,0915-0)+ 0+ (0,0863-0) + 0+ 0+ ( 0,0719-0) + 0 + 0+ 0 + 0 + 0
distncia( VProjeto, VWat#2) = 0,00837225 + 0,00744769 +0,00516961
distncia( VProjeto, VWat#2) = 0,02148955
distncia( VProjeto, VWat#2) = 0,14659314

86

Nvel de Adequao (VProjeto, VWat#2) =|1 0,14659314 | *100


Nvel de Adequao (VProjeto, VWat#2) = 0,85340685 *100 = 85,34 %

Resultado: WAT#2 mais adequada ao Projeto caracterizado.

4.4 Marak: Infraestrutura computacional para apoiar o


procedimento Porantim-WAT
4.4.1 Viso Geral e Evoluo
Marak uma infra-estrutura computacional que apia o planejamento e
controle do processo de teste, proposta por DIAS NETO e TRAVASSOS (2006),
desenvolvida sobre o framework de uso livre Joomla! (www.joomla.org) e utiliza as
tecnologias PHP+MySQL.
A infra-estrutura Marak foi originalmente projetada para apoiar o planejamento
e controle de testes de software atravs do acompanhamento do processo de testes e
a

documentao

das

atividades

realizadas

ao

longo

deste

processo.

As

funcionalidades inicialmente fornecidas envolvem: (a) o gerenciamento da equipe de


teste; (b) o gerenciamento das atividades de teste, a partir da criao de novas
atividades de teste a serem acompanhadas atravs da infra-estrutura e da consulta
aos artefatos produzidos; e (c) o gerenciamento do processo de testes, atravs do
acompanhamento

do

processo

(planejamento,

projeto

execuo

de

casos/procedimentos de teste), para cada atividade de teste criada.


Posteriormente,

infra-estrutura

foi

evoluda

para

prover

apoio

ao

procedimento de seleo de TTBMs, a partir da incluso do repositrio de Tcnicas


TBM e do componente Gerenciador de Porantim, que est diretamente associado ao
componente de Marak responsvel pelo gerenciamento do processo de teste para
um projeto de software.
Este trabalho prope uma nova evoluo de Marak para automatizar o
procedimento Porantim-WAT, cujo objetivo apoiar a seleo de abordagens WAT
para projetos de software Web. Para isso, foram includos o repositrio de abordagens
de teste para aplicaes Web e o componente Gerenciador Porantim-WAT, ilustrado
na Figura 4.2.

87

Figura 4.4. Evoluo da Arquitetura de Marak.

O repositrio das abordagens WAT implementa o corpo de conhecimento de


abordagens de teste para aplicaes Web, apresentado no Captulo 3 deste trabalho,
enquanto que o componente Gerenciador Porantim-WAT implementa o procedimento
de seleo das abordagens WAT para um projeto de software Web (apresentado na
Seo 4.3). O componente Gerenciador Porantim-WAT responsvel pelas seguintes
funcionalidades:

Configurao do corpo de conhecimento: trata-se do gerenciamento


das abordagens WAT atravs de mecanismos de cadastro, edio,
excluso, visualizao e importao.

Configurao dos parmetros adotados por Porantim-WAT: o


procedimento de seleo das abordagens de teste para projetos de
software Web inclui a definio dos pesos de cada atributo de

88

caracterizao das abordagens WAT e definio da quantidade mxima


de abordagens a serem exibidas no procedimento de seleo.

Execuo do procedimento de seleo de abordagens WAT:


realizado para cada projeto de teste atravs do clculo de adequao
entre as caractersticas do projeto de software Web e as caractersticas
das abordagens WAT.

A seguir sero descritas as funcionalidades implementadas no componente


Gerenciador de Porantim-WAT para apoiar o uso do procedimento atravs da infraestrutura Marak.

4.4.2 Funcionalidades Adaptadas


4.4.2.1 Configurao do Corpo de Conhecimento
A configurao do corpo de conhecimento de Porantim-WAT, inclui aes de
cadastro, edio, excluso, visualizao e importao das abordagens de teste para
aplicaes Web. Para acessar esta funcionalidade, a partir da tela inicial de Marak,
escolha a opo Configurao Abordagens WAT (Figura 4.5).
Desta forma, ser apresentada uma tela que ir listar as abordagens WAT
existentes no repositrio e as funcionalidades de cadastro, edio, excluso e
visualizao (Figura 4.6).

Figura 4.5. Tela de Configurao da Infra-Estrutura Marak.

89

Figura 4.6. Tela de Gerenciamento do Corpo de Conhecimento.

Alm do cadastro manual das abordagens de teste, Marak apresenta a


funcionalidade de importao, que tambm pode ser acessada a partir da pgina
apresentada na Figura 4.6. Tal funcionalidade permite que as abordagens WAT
listadas na ferramenta JabRef3 tenham seus dados importados em lotes para o
repositrio mantido por Marak.
A carga realizada utilizando arquivos BibTeX (extenso .bib) que dever
apresentar um formato pr-definido, contendo um conjunto de campos que descrevem
os atributos de caracterizao de uma abordagem WAT. Para definir os campos que
iro compor o formulrio, acessar o menu Options Set up General Fields no
JabRef, e inserir as linhas destacadas na Figura 4.7.

Figura 4.7. Configurao dos campos de caracterizao das abordagens WAT no JabRef.

Alm disso, algumas regras para preenchimento dos campos de caracterizao


das abordagens WAT na ferramenta JabRef devem ser respeitadas. Essas regras
esto descritas na Tabela 4.8.

JabRef - Ferramenta de gerenciamento de referncias bibliogrficas (http://jabref.sourceforge.net)

90

Tabela 4.8. Regras de Mapeamento e Preenchimento do Jabref.


Atributo da Abordagem
WAT
Benefcios

Regra de Preenchimento

Tag JabRef

Texto Livre

Benefits

Camada da Aplicao
Applicationlayer
Caracterstica de
qualitycharacteristics
Qualidade
Categoria da Aplicao
applicationdomain
Complexidade dos
Passos nocomplexityofnotautomatedsteps
automatizados
Descrio da
complexitydescription
Complexidade
Critrios de Cobertura
Testcoverage

Utilizar , como separador


Utilizar , como separador
Utilizar , como separador
1- Baixo,
2- Mdio,
3- Alto
Texto Livre
Utilizar , como separador

Descrio

approachdescription

Texto Livre

Entradas

Inputs

Texto Livre

Habilidades

Skillrequired

Utilizar , como separador

Limitaes
Metodologia de
Desenvolvimento
Nvel de Teste

limitationsoftheapproach

Texto Livre

webdevelopmentmethods
Testinglevel

Utilizar , como separador

Modelo

modelingtechnology

Utilizar , como separador

Automao

Automatedsteps

Descrio das tarefas


automatizadas
Ferramenta

Texto Livre

0 - No
1 - Sim
Texto Livre

Automatedstepsdescription
Tool

Texto Livre

Tipo de Ferramenta

Tooltype

[Prottipo, Comercial]

Problemas

Problems

Texto Livre

Sadas
Tecnologia de
Modelagem

Outputs

Texto Livre

Testgenerationtechnology

Utilizar , como separador

Tipo de Estudo

Typeofstudy

Tipo de Tcnica

Typeoftestingtechnique

[Estudo de Caso, Estudo


Experimental, Prova de
Conceito, Exemplo]
Utilizar , como separador

Tipo de Anlise

Typeoftestinganalisys

Utilizar , como separador

Unidade

Unit

Texto Livre

Para executar a importao basta clicar no boto Importar Abordagem WAT


disponvel na tela mostrada na Figura 4.8, que ir solicitar a indicao de um arquivo.
O prximo passo consiste na escolha das abordagens WAT identificadas no arquivo
que devero ser importadas para o repositrio em Marak.

91

Figura 4.8. Passos para importao de abordagens utilizando arquivo bibtex.

4.4.2.2 Configurao dos Parmetros adotados por Porantim-WAT


possvel ajustar o peso dos atributos de caracterizao das abordagens WAT
para o procedimento de seleo. Os valores default dos pesos foram atribudos a partir
do ndice de Relevncia obtido atravs do survey publicado em (SANTA ISABEL e
TRAVASSOS, 2011) e descrito no Captulo 3.
importante destacar que o valor dos pesos pode ser alterado a qualquer
tempo, de acordo com as caractersticas e necessidades do projeto de software que
esteja utilizando o procedimento Porantim-WAT. Entretanto, a soma dos pesos de
todos os atributos de caracterizao sempre dever ser igual a 1, representando
100%.
Alm disso, possvel configurar se o atributo ser obrigatoriamente
considerado no procedimento de seleo atravs da marcao de opcionalidade,
localizado ao lado do campo de peso de cada atributo de caracterizao (Figura 4.9).

92

Outra configurao possvel a identificao da quantidade mxima de


abordagens WAT a serem sugeridas pela infra-estrutura. Todas as funcionalidades
que acabam de ser descritas podem ser acessadas na opo Configurao
Configurar Porantim WAT, a partir da tela inicial de Marak.

Figura 4.9. Tela de Configurao dos pesos dos Atributos de Caracterizao de


abordagens WAT e seus pesos.

4.4.2.3 Execuo do Procedimento de Seleo das Abordagens WAT


A execuo do procedimento de seleo das abordagens WAT para um projeto
de software Web ocorre na sub-atividade chamada Definir Tcnicas de Teste durante
a atividade Planejar Testes. Na verso anterior de Marak, esta atividade podia feita
atravs da descrio manual das tcnicas de teste ou com o auxlio de Porantim,
lembrando que Porantim s se aplica ao contexto de TTBMs.
Com o advento de Porantim-WAT surge uma nova funcionalidade em Marak e
uma nova opo apresentada durante a execuo da sub-atividade chamada Definir
Tcnicas de Teste: Porantim-WAT Procedimento de apoio na seleo de
abordagens de teste para aplicaes Web, conforme apresentado na figura 4.10.

93

Figura 4.10. Tela de Escolha do Procedimento para Seleo de Tcnicas de Teste em


Marak.

O boto Iniciar o uso de Porantim-WAT implementa o mecanismo de seleo,


apresentado na Seo 4.3. Na etapa Caracterizar Projeto de Software,
apresentado um formulrio (Figura 4.11) que possibilita a caracterizao de um projeto
de software Web.

Figura 4.11. Formulrio de caracterizao de projeto software Web.

94

Aps o clculo, a ferramenta apresenta uma lista que informa as abordagens


WAT selecionadas para o projeto informado, exibidas em ordem decrescente por grau
de adequao.
Nesse momento, possvel selecionar as abordagens que sero utilizadas no
projeto, acionando o boto Prxima atividade, ou optar por um refinamento na
seleo, clicando no boto Refinar (Figura 4.12).

Figura 4.12. Abordagens WAT selecionadas para refinamento da seleo.

Ao optar pelo refinamento, so requeridas informaes adicionais para a


caracterizao do projeto, conforme ilustrado na Figura 4.13. Desta forma, o clculo do
grau de adequao realizado novamente considerando as novas caractersticas
informadas (Figura 4.14).

Figura 4.13. Refinamento da seleo Caracterizao adicional do projeto de teste.

95

Figura 4.14. Novo grau de adequao entre as abordagens.

Ao final apresentada a lista de abordagens WAT selecionadas para o projeto


(Figura 4.15), indicando o grau de adequao, cujo clculo considera as novas
caractersticas informadas para o

projeto. Alm disso, tambm apresentada a

anlise do uso combinado dessas abordagens, onde os requisitos de teste para o


projeto de software so confrontados com as caractersticas das abordagens WAT
selecionadas.

Figura 4.15. Resultado do Refinamento e Anlise da combinao das abordagens WAT.

96

4.4.3 Exemplo
Nesta seo, o procedimento Porantim-WAT ser aplicado em um projeto de
software Web real, apoiado pela utilizao da ferramenta Marak. O objetivo deste
exemplo avaliar as funcionalidades providas pela infra-estrutura computacional de
apoio ao procedimento Porantim-WAT, analisando o comportamento e viabilidade da
infra-estrutura adaptada.
Para execuo deste exemplo foi selecionado o projeto SIGIC - Sistema de
Gesto de Informaes (SIGIC) da Fundao COPPETEC. O conjunto de abordagens
de teste para aplicaes Web utilizado ser composto pelas 101 abordagens WAT
selecionadas na quasi-reviso sistemtica, descrita na Seo 2.7
4.4.3.1 Caracterizao do Projeto
O projeto SIGIC consiste no desenvolvimento e manuteno do Sistema de
Gesto de Informaes (SIGIC) da Fundao COPPETEC. Trata-se de uma aplicao
Web que faz a gesto das solicitaes de desembolsos e relatrios de
acompanhamento financeiro nos mbitos dos projetos da fundao. A Tabela 4.9
apresenta a caracterizao do projeto, de acordo com os atributos propostos neste
trabalho (detalhados na seo 4.3.1), realizada por um engenheiro de software que
integra a equipe responsvel pela manuteno do sistema.

Tabela 4.9. Caracterizao do Projeto SIGIC.


Atributos de Caracterizao
1. Modelos

2. Tecnologia de modelagem
3. Habilidades
4. Tipos de Falhas

5. Tcnica de Teste
6. Critrio de Cobertura

Projeto
Diagrama de Casos de Uso
Diagrama de Classe
Diagrama de Estado
Diagrama de Seqncia
Modelos Estruturais
UML2.0
XML
Conhecimento em UML
Comportamento da aplicao no atende os
requisitos funcionais
Dados de entrada invlidos
Erro de Banco de dados
Erro de Exceo
Erro de execuo de Script
Erros de Formulrio
Erros de Interface
Erros de Navegao
Falhas no controle de acesso
Seqncia de execuo invlida
Funcional
Classes de equivalncia
Combinao de diferentes sesses de usurio
Fluxo de Controle
Fluxo de Dados
Fluxos de Exceo

97

Usabilidade
Funcionalidade
8. Tarefas automatizadas
Sim
9. Complexidades Passo no automatizados Mdio
Atributos de Caracterizao Critrio Desempate
10. Categoria da Aplicao
Browser-Based
Workflow
11. Nvel de Teste
Sistema
12. Anlise de Teste
Dinmico, Esttico
13.Tipo de Avaliao
Prova de Conceito
14. Camada da Aplicao
Front-End
7. Caractersticas de qualidade

As informaes que caracterizam o projeto SIGIC foram submetidas na


ferramenta Marak, conforme pode ser observado na Figura 4.16.

98

Figura 4.16. Caracterizao inicial do projeto SIGIC

4.4.3.2 Aplicao Porantim-WAT


Aps a caracterizao do projeto SIGIC, Marak ir calcular automaticamente o
grau de adequao entre o projeto de software Web, caracterizado na etapa anterior,
para cada uma das 101 abordagens WAT descritas no corpo de conhecimento,
utilizando as frmulas providas por Porantim-WAT.
As abordagens mais adequadas ao projeto SIGIC e o respectivo grau de
adequao so listados pela ferramenta, conforme mostrado na Figura 4.17.

Figura 4.17. Abordagens WAT mais adequadas ao projeto SIGIC.

99

Devido ao grau de adequao das diferentes abordagens retornadas


apresentarem valores muito prximos, optou-se pelo refinamento do procedimento de
seleo. Desta forma, informaes adicionais para a caracterizao do projeto foram
requeridas e preenchidas, conforme ilustrado na Figura 4.18. Aps novo clculo do
grau de adequao (Figura 4.19), foram selecionadas duas abordagens que juntas
apresentam maior grau de cobertura ao projeto SIGIC (Figura 4.20.).

Figura 4.18. Caracterizao adicional do projeto SIGIC.

Figura 4.19. Novo grau de adequao entre as abordagens WAT e o projeto SIGIC.

100

Figura 4.20. Resultado do procedimento de seleo para o projeto SIGIC.

4.5 Consideraes Finais do Captulo


Neste captulo, foi definido o procedimento Porantim-WAT para apoiar
seleo de abordagens WAT para projetos de software Web. Este procedimento
representa uma evoluo de Porantim, proposto por DIAS NETO (2009).
Alm

disso,

foi

apresentada

tambm

extenso

da

infra-estrutura

computacional Marak atravs da criao de um repositrio de abordagens WAT e do


componente Porantim-WAT, para aplicao do procedimento de apoio seleo de
abordagens de teste para projetos de software Web, proposto neste trabalho.
A utilizao dessa infra-estrutura foi demonstrada a partir da sua aplicao em
um projeto de software Web denominado SIGIC, a fim de observar a viabilidade de
seu uso no apoio seleo de tcnicas de teste.

101

O prximo captulo apresenta as consideraes finais deste trabalho,


descrevendo suas concluses, resultados obtidos, limitaes e futuras linhas de
pesquisas a serem seguidas para continuidade desta pesquisa.

102

CAPTULO 5 - CONCLUSO

Neste captulo so apresentadas as consideraes finais deste trabalho


(seo 5.1), bem como as contribuies da dissertao (seo 5.2), suas
limitaes (seo 5.3) e perspectivas futuras (seo 5.4).

5.1 Consideraes Finais


A evoluo tecnolgica das aplicaes Web aumentou a demanda por tcnicas
e ferramentas que abordam o problema da garantia de qualidade dessas aplicaes. A
partir da execuo de revises na literatura tcnica, foi identificada a disponibilidade
de diferentes estratgias de teste para estas aplicaes. A existncia de diferentes
mtodos e tipos de aplicaes que envolvem a Web aumenta a dificuldade da seleo
de tcnicas de teste para um projeto de software Web.
Este trabalho apresentou os resultados de uma pesquisa sobre aplicaes Web
e definiu um procedimento de seleo de abordagens de teste voltadas para este tipo
de aplicao, alm da construo de uma infra-estrutura computacional elaborada
para

apoiar

execuo

do

procedimento

proposto

em

organizaes

de

desenvolvimento de software Web.


Para isso, foi organizado um corpo de conhecimento inicial que contempla a
caracterizao de 101 abordagens de teste para aplicaes Web, a partir dos
resultados obtidos em uma quasi-reviso sistemtica da literatura tcnica que
classificou as abordagens quanto utilizao de apoio ferramental, categorias de
aplicaes cuja abordagem aplicvel, caracterstica de qualidade avaliada, nvel de
abstrao de teste utilizado, tipo de anlise realizada, tipo de estudo utilizado para
avaliar a abordagem e quanto insero em alguma metodologia de desenvolvimento
de aplicaes Web conhecidas e identificadas por trabalhos anteriores na rea.
A motivao para organizar o corpo de conhecimento se apoiou na premissa
de que a existncia de tal estrutura pode prover informaes para apoiar a tomada de
deciso a respeito da seleo de abordagens de teste para projetos de software Web.
A estrutura de caracterizao proposta foi avaliada atravs de um survey realizado
com pesquisadores da rea e autores das abordagens selecionadas na quasi-reviso
sistemtica realizada.

103

Aps a definio da estrutura e da construo do corpo de conhecimento, foi


apresentado o procedimento Porantim-WAT. Trata-se de um procedimento para apoiar
a seleo de tcnicas de teste para projetos de software Web, que consulta o
repositrio de conhecimento com as informaes que caracterizam as abordagens de
teste para aplicaes Web (WAT) e utiliza um mecanismo que avalia o grau de
adequao entre as abordagens e as caractersticas de um projeto de software Web.
Ao final, foi apresentada a adaptao de uma infra-estrutura computacional para
apoiar o procedimento de seleo proposto, cuja utilizao foi ilustrada por um
exemplo.

5.2 Contribuies
As principais contribuies desta dissertao so:

Definio de um protocolo de pesquisa para identificar e caracterizar


abordagens de teste para aplicaes Web;
Foi realizado um estudo na rea de teste de aplicaes Web visando

identificar as abordagens propostas e suas principais caractersticas. Isto


implicou na definio de um protocolo para realizao de uma quasi-reviso
sistemtica. Este protocolo pode ser utilizado/estendido em novas pesquisas
sobre este tema.

Corpo de conhecimento de abordagens WAT;


Foi construdo um corpo de conhecimento contendo a caracterizao de

101 abordagens WAT identificadas na literatura tcnica a partir de uma quasireviso sistemtica. A estrutura do corpo de conhecimento foi avaliada por
pesquisadores da rea atravs de um survey (pesquisa de opinio), cujo
objetivo era identificar o conjunto de atributos que caracterizam as abordagens
WAT e qual a relevncia de cada atributo para a seleo de uma abordagem
em um projeto de software Web.
Foi criado um banco de dados na infra-estrutura Marak para
armazenar o corpo de conhecimento de abordagens de teste para aplicaes
Web. Alm dessa estrutura, o corpo de conhecimento tambm est
armazenado em um banco de dados da ferramenta JabRef. Ambas estruturas
foram disponibilizadas como resultado desta pesquisa.

104

Definio do procedimento Porantim-WAT.


Foi proposto um procedimento para apoiar a seleo de abordagens de

teste para projetos de software Web, denominado Porantim-WAT. Trata-se de


uma instncia especializada do procedimento Porantim proposto por DIAS
NETO (2009) que apia a seleo de tcnicas de teste baseado em modelos.
O procedimento consiste em capturar as informaes sobre o projeto de
software Web no qual as abordagens WAT devem ser aplicadas. A partir das
informaes do projeto, o procedimento consulta o corpo de conhecimento das
abordagens WAT e indica aquelas mais adequadas ao projeto.

Adaptao da Infra-estrutura computacional Marak para apoiar o uso


de Porantim-WAT;
Foi apresentada a extenso da infra-estrutura computacional Marak

para apoiar nas atividades que compem o mecanismo de seleo de


abordagens teste para projetos Web. Foi construdo um banco de dados
contendo as abordagens de teste para aplicaes Web e um componente que
automatiza o procedimento Porantim-WAT.
A utilizao dessa infra-estrutura foi demonstrada a partir da sua
aplicao em um projeto de software Web denominado SIGIC, a fim de
observar a viabilidade de seu uso no apoio seleo de tcnicas de teste.

Glossrio bilnge de termos referentes s tecnologias empregadas


nas aplicaes Web.
Ao longo da realizao da reviso da literatura e da quasi-reviso

sistemtica para identificar e caracterizar as abordagens de testes para


aplicaes Web, foi identificada uma grande variedade de tecnologias
empregadas nesta rea de pesquisa. Foi criado ento um glossrio bilnge
com o objetivo de reunir, de forma breve e objetiva, os significados dos
variados termos, expresses e palavras utilizadas para referenciar as
tecnologias empregadas nas aplicaes Web. Trata-se de uma coletnea de
expresses com a respectiva explicao de conceitos dos termos encontrados
descritos em ingls e em portugus.

5.3 Limitaes
Diversos aspectos podem influenciar na seleo de uma tecnologia para um
projeto de software, tais como cronograma do projeto, esforo, custo e qualificao da

105

equipe. No entanto, a proposta desta dissertao foca apenas em aspectos tcnicos


para caracterizar abordagens WAT e avaliar a sua adequao a um projeto de
software Web, sem considerar os outros aspectos, que tambm possuem relevncia
para apoiar a tomada de deciso sobre a seleo da abordagem mais adequada para
determinado projeto.
Alm disso, as abordagens de teste para aplicaes Web, selecionadas na
quasi-Reviso Sistemtica, foram classificadas de acordo com os elementos
apresentados nos artigos, que eventualmente podem no explicitar todas as
caractersticas da abordagem proposta.
Outra limitao a ser destacada nesse trabalho est associada ao fato de que o
survey que avaliou a estrutura do corpo de conhecimento para caracterizar as
abordagens WAT foi submetido a membros da comunidade acadmica, no tendo sido
observado a opinio de profissionais da indstria sobre o tema.
Tambm no foi possvel executar estudos experimentais para avaliar a
viabilidade do procedimento proposto bem como da ferramenta de apoio, muito
embora o procedimento e a ferramenta tenham sido avaliados em sua origem.
Entretanto, foi apresentado um exemplo (prova de conceito) da utilizao do
procedimento proposto, a fim de observar a viabilidade de seu uso no apoio seleo
de tcnicas de teste.

5.4 Perspectivas Futuras


A realizao desse trabalho de pesquisa levou ao desenvolvimento de um
procedimento de seleo de abordagens de teste voltada para aplicaes Web, alm
da construo de uma infra-estrutura computacional elaborada para apoiar execuo
do procedimento proposto em organizaes de desenvolvimento de software Web.
O corpo de conhecimento, construdo a partir abordagens de teste identificadas
por uma quasi-Reviso Sistemtica e avaliado por pesquisadores atravs de um
survey, o elemento que apia o processo de seleo proposto. Nesse sentido,
importante evoluir o protocolo da reviso realizada, considerando a utilizao de
outras fontes de pesquisa, com o objetivo de manter a atualizar o corpo de
conhecimento e os ndices de relevncia dos seus atributos. Alm disso, uma
importante contribuio a ser realizada em trabalhos futuros realizar a avaliao da
estrutura do corpo de conhecimento pelos profissionais da indstria.
Para a elaborao da proposta, esta pesquisa se baseou em uma metodologia
baseada em evidncias (SHULL et al. 2001; MAFRA et al. 2006; SPNOLA 2008). A
metodologia composta por duas etapas: concepo e avaliao da abordagem
proposta. Para a realizao deste trabalho foram executadas as atividades da etapa

106

de concepo, na qual SPNOLA et al. (2008) descreve a forma como os estudos


secundrios devem ser executados, e inclui a realizao de estudos primrios para
avaliar o conhecimento obtido atravs dos estudos secundrios.
Apesar da utilizao da infra-estrutura ter sido demonstrada a partir da sua
aplicao em um projeto de software Web denominado SIGIC, a fim de observar a
viabilidade de seu uso no apoio seleo de tcnicas de teste, no foi possvel
executar estudos experimentais para avaliar a viabilidade do procedimento proposto
bem como da ferramenta de apoio.
Nesse sentido, interessante a realizao de trabalhos futuros para conduzir
estudos experimentais em diferentes contextos para avaliar o procedimento proposto
at que seja considerado maduro o suficiente para ser utilizado na indstria.

107

REFERNCIAS BIBLIOGRFICAS

ANDREWS, A. A., OFFUTT, J., ALEXANDER, R.T. (2005) Testing Web applications
by modeling with FSMs, Software and Systems Modeling Journal, Vol. 4, p. 326-345.

ARAJO, M. A. P., TRAVASSOS, G. H. (2008) A System Dynamics Model based on


Cause and Effect Diagram to Observe Object-Oriented Software Decay. Relatrio
Tcnico, COPPE/UFRJ.

ARTZ, S. , KIEZUN, A. , DOLBY, J. , TIP, F. , DIG, D. , PARADKAR, A. , ERNSF, M.D.


(2008) Finding bugs in dynamic web applications, Conference of 2008 International
Symposium on Software Testing and Analysis, ISSTA.

BEIZER, B. (1995) Black-Box Testing: Techniques for Functional Testing of Software


and Systems, John Wiley & Sons.

BARESI, L., FRATERNALI,P., TISI, M., MORASCA, S. (2005)Towards model-driven


testing of a Web application generator, International Conference on Web Engineering,
ICWE, vol 3579, p. 75-86.

BARESI, L., COLAZZO, S. , MAINETTI, L., MORASCA, S., (2006) W2000: A Modeling
Notation for Complex Web Applications. In E. Mendes and N. Mosley (eds.) Web
Engineering: Theory and Practice of Metrics and Measurement for Web Development.

CACHERO, C., GMEZ, J., PASTOR, O., (2001) Conceptual Modeling of DeviceIndependent WebApplications, IEEE Multimedia, (Abr-Jun), p. 26 39.

CERI, S., FRATERNALI, P., BONGIO, A. (2000) Web Modeling Language (WebML): a
Modeling Language for Designing Web Sites. WWW9 Conference, Amsterdam.

CHO, Y., LEE, W., CHONG, K. (2005) The technique of test case design based on the
UML sequence diagram for the development of Web applications, International
Conference on Computational Science and Applications, ICCSA, LNCS 3480, p. 110.

108

CONALLEN., J. (2002) Building Web Applications with UML, Addison-Wesley


Publishing Company.

CONTE, T. U., MENDES, E., TRAVASSOS, G.H. (2005) Reviso Sistemtica sobre
Processos

de

Desenvolvimento

para

Aplicaes

Web,

Relatrio

Tcnico,

PESC/COPPE/UFRJ.

CONTE, T. U. (2009) Tcnica de Inspeo de Usabilidade Baseada em Perspectivas


de Projeto Web, Tese de Doutorado, COPPE/UFRJ.

DELAMARO, M. E., MALDONADO, J. C., JINO, M. (2007) Introduo ao Teste de


Software, Elsevier, Rio de Janeiro.

DESHPANDE, Y.; HANSEN, S. (2001) Web engineering: creating a discipline among


disciplines. Multimedia, IEEE. Volume 8, Issue 2, p. 82 87.

DI LUCCA, G. A., FASOLINO, A., FARALLI, F., DE CARLINI, U. (2002) Testing Web
applications, International Conference on Software Maintenance (ICSM02), Montreal,
Canada.

DI LUCCA, G.A., FASOLINO, A.R. (2006) Testing Web Applications: The state of the
art and future trends, J. Inf. Softw. Technol. 48(2), p. 11721186.

DIAS NETO, A. C., NATALI, A. C. C., ROCHA, A. R. C., TRAVASSOS, G. H. (2006)


Caracterizao do Estado da Prtica das Atividades de Teste em um Cenrio de
Desenvolvimento de Software Brasileiro Simpsio Brasileiro de Qualidade de
Software, 2006, Vila Velha. Simpsio Brasileiro de Qualidade de Software.

DIAS NETO, A. C. (2006) Uma Infra-estrutura Computacional para Apoiar o


Planejamento

Controle

de

Testes

de

Software.

Dissertao

de

M.Sc.,

COPPE/UFRJ.

DIAS NETO, A.C., TRAVASSOS, G.H. (2006) Marak: Apoio ao Planejamento e


Controle de Testes de Software XIII Sesso de Ferramentas (20 Simpsio Brasileiro
de Engenharia de Software), Florianpolis, SC.

109

DIAS NETO, A. C. (2009) Porantim: Uma Abordagem para Apoiar a Seleo


Combinada de Tcnicas de Teste Baseado em Modelos em Projetos de Software,
Tese de Doutorado, COPPE/UFRJ, 2009.

DIAS NETO, A. C., SPINOLA, R. O., TRAVASSOS, G. H. (2010) Developing Software


Technologies through Experimentation: Experiences from the Battlefield. CIBSE
Conferencia Ibero Americana de Software Engineering.

DIAZ, P., MONTERO, S., AEDO, I. (2004) Modelling hypermedia and Web
applications: the Ariadne Development Method, Information Systems.

EATON, C., MEMON, A.M. (2007) An empirical approach to evaluating web


application compliance across diverse client platform configurations, International
Journal of Web Engineering and Technology, Vol. 3, p. 227-253.

EBSE (2007) Guidelines for performing Systematic Literature Reviews in Software


Engineering,

EBSE

Technical

Report

EBSE-2007-001,

Available

http://www.dur.ac.uk/ebse/resources/guidelines/Systematic-reviews-5-8.pdf.

at
Last

access in 12/08/2009.

GARZOTTO, F., PAOLINI, P., SCHWABE, D. (1993) HDM A Model-based Approach


to Hypertext Application Design, ACM Transactions on Information Systems, vol.11,
n. 1, p.1-26.

GINIGE, A., MURUGESAN, S. (2001) Web Engineering: an Introduction, IEEE


Multimedia, Vol. 8, Issue: 1, p. 14 -18.

HAMBURG, M. (1980) Basic Statistics: A Modern Approach, Journal of the Royal


Statistical Society, Series A (General), Vol. 143, No. 1, 2a edio.

ISAKOWITZ, T., STOHR, E., BALASUBRAMANIAN, P. (1995) RMM: a methodology


for structured hypermedia design, Communications ACM, vol. 38, no. 8, p. 34 44.

ISO/IEC (2002) ISO-9126-1: Software engineering Product Quality Part 1 Quality


model, The International Organization for Standardization and the International
Electrotechnical Commission.

110

MAFRA, S.N., TRAVASSOS, G.H. (2006) Estudos Primrios e Secundrios apoiando


a busca por evidncias em Engenharia de Software, Relatrio Tcnico PESC 687/06 COPPE/UFRJ.

KAPPEL, G. (2004) Web Engineering - Old Wine in New Bottles?. Invited Talk, Fourth
International

Conference

on

Web

Engineering

(ICWE04),

disponvel

emhttp://www.icwe2004.org/download/ICWE_Kappel.pdf , Munique.

KITCHENHAM, B. (2004) Procedures for Performing Systematic Reviews, Keele


technical report SE0401 and NICTA technical report 0400011T.1.

KITCHENHAM, B. , PEARL BRERETON, O. , BUDGEN, D. , TURNER, M. , BAILEY,


J. , LINKMAN, S. (2009) "Systematic literature reviews in software engineering - A
systematic literature review", Information and Software Technology, Volume 51, Issue
1, Pages 7-15.

KOCH, N., KRAUS, A. (2001) The expressive Power of UML-based Web


Engineering,

Second

Int.

Workshop

on

Web-oriented

Software

Technology

(IWWOST02).

MAFRA, S.N., BARCELOS, R.F., TRAVASSOS, G.H. (2006) Aplicando uma


Metodologia Baseada em Evidncia na Definio de Novas Tecnologias de Software,
XX SBES, pp. 239-254.

MANSOUR, N., HOURI, M. (2007) Testing Web applications, Information and


Software Technology 48 (1), pp. 31-42.

MASSOLLAR,

J.

(2008)

Uma

abordagem

baseada

na

engenharia

para

desenvolvimento e garantia a qualidade de Aplicaes Web, Exame de Qualificao,


COPPE/UFRJ.

MASSOLLAR, J. (2011) Uma abordagem para especificao de requisitos dirigida por


modelos integrada ao controle de qualidade de Aplicaes Web, Tese de Doutorado,
COPPE/UFRJ.

111

MENDES, E., MOSLEY, N., COUNSELL, S. (2006) The Need for Web Engineering:
An Introduction. In: Mendes, E., Mosley, N. (eds), Web Engineering, Chapter 1, New
York, Spinger Verlag.

MUSTAFA, G., SHAH, A. A., ASIF, K. H., ALI, A. (2007) A strategy for testing of Web
based software, Information Technology Journal 6 (1), p. 74-81, 2007.

NBR ISO/IEC 9126-1 (2003) Engenharia de software - Qualidade de produto - Parte


1: Modelo de qualidade, ABNT - Associao Brasileira de Normas Tcnicas.

OFFUT, A. J. (2002) Quality atributes of Web software applications, IEEE Software:


Special Issue on Software Engineering of Internet Software, 19(2):25-32.

OFFUTT, J., WU, Y., DU, X., HUANG, H. (2004) Bypass testing of Web applications
ISSRE 2004, p. 187-197.

PAI, M. (2004) Systematic reviews and meta-analyses: an illustrated, step-by-step


guide The National Medical Journal of India, vol. 17, no. 2, 2004.

PASTOR, O., GMEZ, J., INSFRN, E., PELECHANO, V. (2001) The OO-Method
Approach for Information Systems Modeling: From Object-Oriented Conceptual
Modeling to Automated Programming, Information Systems, Elsevier Science, vol. 26,
p. 507-534, no. 7.

PRESSMAN, R.S. (2000), What a Tangled Web We Weave, IEEE Software 17, 1,
1821.

QI, Y., KUNG, D., WONG, E. (2005) An agent-based testing approach for Web
applications, Proceedings - International Computer Software and Applications
Conference 2, art. no. 1508082, p. 45-50.

REZA, H., OGAARD, K., MALGE, A. (2008) A model based testing technique to test
Web applications using StateCharts. In: Conference of International Conference on
Information Technology: New Generations, ITNG 2008, p. 183-188.

RICCA, F., TONELLA, P. (2001) Analysis and testing of Web applications,


Proceedings of the 23rd International Conference on Software Engineering.

112

RICCA, F., TONELLA, P. (2002), Testing processes of web applications, Annals of


Software Engineering (14:1-4),pp. 93-114.

RICCA, F., TONELLA, P. (2005) Anomaly detection in Web applications: a review


ofalready conducted case studies, Ninth European Conference on Software
Maintanence and Reegineering.

SANTA ISABEL, S. L.; TRAVASSOS, G. H. (2010) Abordagens de Teste para


Projetos de Software Web. Relatrio Tcnico, COPPE/UFRJ (2010). Disponvel em
http://lens-ese.cos.ufrj.br.

SANTA ISABEL, S. L., TRAVASSOS, G. H. (2011) Caractersticas de Tcnicas de


Teste de Software para Uso em Projetos WEB. CIBSE Conferencia Ibero Americana
de Software Engineering.

SCHWABE, D., ROSSI, G., BARBOSA, S. (1996) Systematic Hypermedia Design with
OOHDM, ACM Conference on Hypertext.

SPNOLA, R.O., PINTO, F.C.D.R., TRAVASSOS, G.H. (2010) UbiCheck: An approach


to support requirements definition in the ubicomp domain. SAC '10 Proceedings of the
2010 ACM Symposium on Applied Computing, pp. 306-310.

SPINOLA, R. O. ; DIAS-NETO, A. C.; TRAVASSOS, G. H. (2008) Abordagem para


Desenvolver Tecnologia de Software com Apoio de Estudos Secundrios e Primrio.
In: Experimental Software Engineering Latin American Workshop (ESELAW),
Salvador, Novembro.

SHULL, F., CARVER, J., TRAVASSOS, G. (2001) An Empirical Methodology for


Introducing Software Processes, No: Joint 8th ESEC and 9th ACM SIGSOFT FSE-9,
pp. 288-296.

TARHINI, A., ISMAIL, Z., MANSOUR, N. (2008) Regression testing Web applications,
International Conference on Advanced Computer Theory and Engineering, ICACTE,
art. no. 4737088, p. 902-906.

113

TRAVASSOS, G. H., SANTOS, P. S. M., MIAN, P., DIAS NETO, A. C., BIOLCHINI, J.
(2008) An Environment to Support Large Scale Experimentation in Software
Engineering, In: IEEE International Conference on Engineering of Complex Computer
Systems, Belfast. Proceedings of ICECCS p. 193-202.

VEGAS, S., BASILI, V. (2005) A Characterization Schema for Software Testing


Techniques, Empirical Software Engineering, vol.10 no.4, p.437-466.

XU, L., XU, B. (2006) Testing forms in Web applications automatically. Wuhan
University Journal of Natural Sciences, vol 11, p. 561-566.

YIN, R. K. (2003) Case Study Research: Design and Methods (3rd edition), London:
Sage.

WU, Y., OFFUTT, J. (2002) Modeling and Testing Web-based Applications, Technical
Report ISE-TR-02-08, George Mason University, Fairfax, VA, USA. Disponvel em
http://cs.gmu.edu/~tr-admin/papers/ISE-TR-02-08.pdf.

WIKI ESE (2011), Glossrio de Termos ESE, Grupo de Engenharia de Software


Experimental

COPPE/UFRJ.

Disponvel

em

ese.cos.ufrj.br/wikiese/index.php/Experimental_Software_Engineering__Glossary_of_Terms

114

http://lens-

APNDICES

APNDICE A LISTA DE ARTIGOS IDENTIFICADOS


NA REVISO SISTEMTICA
Este apndice apresenta a lista completa dos artigos identificados ao longo das
duas execues do protocolo da reviso descrito no item 2.7 deste trabalho.

Este apndice apresenta a lista completa dos artigos identificados ao longo das
execues do protocolo da reviso realizadas neste trabalho. Foram realizadas duas
execues do protocolo: A primeira em Agosto/2009 e a segunda em Setembro/2011.
O procedimento de seleo foi dividido em duas etapas. A primeira etapa
consiste na anlise dos ttulos e abstracts de todos os artigos retornados na pesquisa
quanto aos critrios de incluso e excluso descritos no item 2.7.2.6. Aps a
avaliao, os artigos foram classificados como Candidato Incluso, Excludo ou
Indefinido, sendo excludos os trabalhos que apresentam qualquer caracterstica
descrita nos critrios de excluso.
Na segunda etapa do procedimento de seleo, todos os artigos classificados
como Candidato Incluso ou Indefinido foram analisados qualitativamente e
novamente avaliados sob a perspectiva da presena dos critrios de incluso ou
ausncia dos critrios de excluso. Aps esta anlise eles foram classificados como
Includo, Excludo ou Indefinido.
O objetivo deste apndice identificar no apenas os artigos selecionados
para escopo desta pesquisa (detalhados no item 2.7.3), mas tambm identificar
aqueles que foram descartados, sendo possvel verificar o critrio que motivou a
excluso de cada publicao e a etapa da reviso na qual a publicao foi excluda.
Os critrios de excluso adotados foram:
[01] O artigo no apresenta abordagem de teste para aplicaes Web
[02] O artigo apresenta apenas o apoio automatizado, sem se preocupar em
descrever esta abordagem;
[03] O artigo apresenta apenas uma estratgia de gerao automtica de casos
de teste, sem se preocupar em descrever esta abordagem;

115

[04] O artigo apresenta apenas uma estratgia de gerao automtica de


dados de teste, sem se preocupar em descrever esta abordagem;
[05] O artigo apresenta uma abordagem depende de alguma forma de
transformao dos modelos em outras representaes, como redes de Petri,
algoritmos, grafos, representao matemtica ou cadeia de Markov.
[06] O artigo apresenta uma abordagem baseada em cdigo de teste ou
baseadas em agentes;
[07] Artigo duplicado;
[08] O artigo apresenta uma abordagem de teste para aplicaes Web,
entretanto no apresenta nenhum tipo de avaliao da abordagem proposta;
[09] No um artigo, e sim um "Proceedings".
[10] Artigo no est disponvel pelo acesso CAPES e no foi disponibilizado
pelo autor.

Sero apresentados a seguir todos os artigos retornados nas duas execues


do protocolo da reviso (Agosto/2009 e Setembro/2011), identificando o ano da
publicao (coluna Year), os autores (Coluna Author), e o ttulo (Coluna Title).
Alm disso, possvel verificar o critrio que motivou a excluso de cada publicao e
a etapa na qual a publicao foi excluda. A coluna Deciso descreve a classificao
do trabalho aps a concluso da primeira etapa, que pode ser EXCLUDO,
INDEFINIDO ou CANDIDATO A INCLUSO. O campo Visto1 indica o critrio de
excluso adotado na primeira etapa da reviso.
Apenas os artigos classificados como Candidato Incluso ou Indefinido foram
submetidos anlise da segunda etapa da reviso. A coluna Deciso2 descreve a
classificao do trabalho aps a concluso da segunda etapa, que pode ser
EXCLUDO, INDEFINIDO ou INCLUDO. O campo Visto2 indica o critrio de
excluso adotado na segunda etapa da reviso. Os campos Deciso2 e Visto2 no
possuem valores para os trabalhos excludos na primeira etapa da reviso.

116

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

117

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

118

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

119

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

120

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

121

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

122

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

123

1 Execuo (Agosto de 2009): Foram retornados 564 trabalhos

124

2 Execuo (Setembro de 2010): Foram retornados mais 237 novos trabalhos

125

2 Execuo (Setembro de 2010): Foram retornados mais 237 novos trabalhos

126

2 Execuo (Setembro de 2010): Foram retornados mais 237 novos trabalhos

127

2 Execuo (Setembro de 2010): Foram retornados mais 237 novos trabalhos

128

APNDICE B EVOLUO DA INFRA-ESTRUTURA


COMPUTACIONAL MARAK
Este apndice descreve os requisitos de adaptao da infra-estrutura Marak
para suportar o procedimento Porantim-WAT. Sero descritos os ajustes realizados no
banco de dados e no cdigo fonte.

REQUISITO 1) Criao de repositrio das abordagens WAT


Dever ser criada uma tabela que armazene os atributos propostos na
estrutura de caracterizao de abordagens WAT. Essa tabela ser denominada
mos_tecnicasWAT. Alguns atributos sero associados a tabelas de domnio, que
tambm devero ser criadas.
Devero

ser

criadas

ainda

as

tabelas

de

relacionamento

mos_tecnicasWAT e as tabelas de domnio de valores.

Segue abaixo o

detalhamento das tabelas a serem criadas.

Nome da tabela: mos_tecnicasWAT


Campo

Tipo

Tamanho

Observao

Id

bigint

12

Chave auto-incremental

Ano

Artigo

varchar
varchar

100

Autores

varchar

100

Descrio

text

Entradas

text

Limitaes

text

metodoDesenv

varchar

20

Ferramenta

int

11

nomeFerramenta

varchar

100

tipoferramenta

varchar

50

refereciaCompleta

varchar

100

Sadas

Text

Unidade

Varchar

100

complexidadePassos

Int

11

descricaoPassos

longtext

tarefasAutomaticas

Int

11

129

entre

0-No, 1-Sim

1-Baixo, 2-Mdio, 3-Alto

0-No, 1-Sim

tarefasAutomaticasDescricao varchar

1000

tipoEstudo

varchar

50

Benefcios

varchar

100

Problemas

varchar

100

Tabelas de domnio de valores. As tabelas de domnio de valor sero


compostas por 2 colunas: id da tabela, que ser uma chave auto-incremental, e a
coluna que ir descrever o domnio de valores de determinados atributos da tcnica
WAT. Seguindo essa formao, sero criadas as seguintes tabelas:

mos_tecnicaTeste

mos_analiseTeste

mos_dominio

mos_camada

mos_criterio

Exemplo:
Tabela: mos_ tecnicaTeste
Campo

Tipo

Tamanho

Observao

Id

Bigint

12

Chave auto-incremental

Nome

Texto

50

Ex: Funcional, Estrutural

Tabelas de relacionamento. As tabelas de relacionamento sero compostas


por 3 colunas: id da tabela, que ser uma chave auto-incremental, id da tcnica WAT e
o id da tabelas de domnio de valor que se relaciona com a tcnica. Seguindo essa
formao, sero criadas as seguintes tabelas de relacionamento:

mos_tecnicasWAT_ tecnicaTeste

mos_tecnicasWAT_ analiseTeste

mos_tecnicasWAT_dominio

mos_tecnicasWAT_camada

mos_tecnicasWAT_criterio

130

Exemplo:
Tabela: mos_tecnicasWAT_tecnicaTeste
Campo

Tipo

Tamanho

Observao

Id

Bigint

12

Chave auto-incremental

idTecnicaWAT

Bigint

12

Chave estrangeira mos_tecnicasWAT

idTopoTecnica

Bigint

12

Chave estrangeira mos_ tecnicaTeste

REQUISITO 2) Caracterizao de Projetos de software Web


A tabela que armazena os atributos de caracterizao de projeto de software,
denominada mos_caracterizacaoprojeto, dever ser adaptada para armazenar os
atributos prospostos para a caracterizao de projetos de software Web. Alguns
atributos sero associados a tabelas de domnio, descritas anteriormente.
Devero

ser

criadas

ainda

as

tabelas

de

relacionamento

entre

mos_caracterizacaoprojeto e as tabelas de domnio de valores. Segue abaixo o


detalhamento das tabelas a serem adaptadas/criadas.

Nome da tabela: mos_caracterizacaoprojeto


Campo

Tipo

Tamanho

Exibir

id

12

No

idPlano

Bigint
Bigint

12

No

idplataforma

Bigint

12

No

idparadigma

Bigint

12

No

idlinguagem

Bigint

12

No

idtecnologia

Bigint

12

Sim

tipoteste

Smallint

Sim

duracao

Varchar

40

No

complexidade

Smallint

No

frequencia

Smallint

No

tamanho

Smallint

No

custoteste

Smallint

No

ferramenta

Smallint

No

iddominioAplicacao

Smallint

Cond

idcamadaAplicacao

Smallint

Cond

idcomplexidadePassos

Smallint

Sim

Novo. Combo Box.

idnivelautomao

Smallint

Sim

Novo. Combo Box.

idtipoestudo

Smallint

Cond

Novo. Combo Box.

obrigatoriedadedominioAplicacao

Smallint

Cond

Novo.

131

Observao
Chave auto-incremental

Combo Box.

Cond

Novo.

obrigatoriedadecomplexidadePassos Smallint

Sim

Novo.

obrigatoriedadenivelautomao

Smallint

Sim

Novo.

obrigatoriedadetipoestudo

Smallint

Cond

Novo.

obrigatoriedadePlataforma

Smallint

No

obrigatoriedadeParadigma

Smallint

No

obrigatoriedadeLinguagem

Smallint

No

obrigatoriedadeModelo

Smallint

Sim

obrigatoriedadeTecnologia

Smallint

Sim

obrigatoriedadeNivelTeste

Smallint

Sim

obrigatoriedadeTipoTeste

Smallint

Sim

obrigatoriedadeCaracteristica

Smallint

Sim

obrigatoriedadeTipoFalha

Smallint

Sim

obrigatoriedadeFerramenta

Smallint

No

indicadorCobertura

Float

Default

No

Utilizado na combinao (Passo 4)

indicadorModelagem

Float

Default

No

Utilizado na combinao (Passo 4)

indicadorRH

Float

Default

No

Utilizado na combinao (Passo 4)

obrigatoriedadecamadaAplicacao

Smallint

Tabelas de relacionamento. As tabelas de relacionamento sero compostas


por 3 colunas: id da tabela, que ser uma chave auto-incremental, id da tcnica WAT e o
id da tabelas de domnio de valor que se relaciona com a tcnica. Seguindo essa formao,
ser criada a seguinte tabela de relacionamento:

mos_ caracterizacaoprojeto_criterio

Exemplo:
Tabela: mos_ caracterizacaoprojeto_criterio
Campo

Tipo

Tamanho

Observao

Id

Numrico

12

Chave auto-incremental

idTecnicaWAT

Numrico

12

Chave estrangeira mos_tecnicasWAT

idCriterio

Numrico

12

Chave estrangeira mos_ criterio

Observao: Tabelas de relacionamento que j existem e que sero utilizadas:

mos_caracterizacaoprojeto_caracteristicas (A ser exibido)

mos_caracterizacaoprojeto_modelos (A ser exibido)

mos_caracterizacaoprojeto_niveis (Exibio Condicional)

132

mos_caracterizacaoprojeto_tipofalha (A ser exibido)

REQUISITO 3) Incluso do componente Gerenciador de Porantim-WAT

Criao de um componente para gerenciar as funcionalidades que sero


providas pelo Porantim WAT.
Requisito 3.1) Marak dever prover funcionalidades para a manuteno do corpo de
conhecimento Porantim-WAT, tais como cadastro, edio, excluso e visualizao das
abordagens de teste para aplicaes Web.
Na visualizao das abordagens, devero ser exibidos os atributos abaixo
listados:

Ano

Autores

Ttulo

Ferramenta

Tipo de Estudo

Requisito 3.2) Marak dever prover funcionalidade para realizar a carga em lote de
abordagens WAT para o corpo de conhecimento, a partir de um arquivo no formato
bibtex.

Atributo Abordagem
WAT
Ano

mos_tecnicasWAT.ano

Year

Regra de
Preenchimento
-

Artigo

mos_tecnicasWAT.artigo

Title

Autores

mos_tecnicasWAT.autores

Autor

refereciaCompleta

Mos_tecnicasWAT.RefernciaCompleta

Concatenao de vrias tags

Ferramenta

Mos_tecnicasWAT.nomeFerramenta

Tool

Texto Livre

Tipo de Estudo

mos_tecnicasWAT.tipoEstudo

typeofstudy

Texto Livre

Benefcios

mos_tecnicasWAT.beneficios

Benefits

Texto Livre

Problemas
Domnio da
Aplicao
Caracterstica de
Qualidade
Unidade

mos_tecnicasWAT.problemas

Problems

Texto Livre

applicationdomain

Texto Livre

qualitycharacteristics

Separador ,

mos_tecnicasWAT.unidade

Unit

Texto Livre

mos_tecnicasWat_camada

Applicationlayer

Separador ,

Camada da

Tabela.Campo

Tag JabRef

mos_tecnicaswat_dominios
mos_tecnicasWAT_caracteristicas

133

Aplicao
Nvel de Teste
Descrio da
Abordagem
Limitaes
Tipos de Falhas
Tipo da Tcnica
Tipo de Anlise
Habilidade
Requeridas
Entradas

mos_ tecnicasWAT_niveis

Testinglevel

Separador ,

approachdescription

Texto Livre

mos_tecnicasWAT.limitacoes

limitationsoftheapproach

Texto Livre

mos_tecnicasWAT_tiposFalhas
mos_ tecnicasWAT_tecnicaTeste

typeoffailures

Separador ,
[Funcional,
Estrutural]
[Esttico,
Dinmico]

mos_tecnicasWAT.descricao

typeoftestingtechnique

mos tecnicasWAT_analiseTeste

typeoftestinganalisys

mos_ tecnicasWAT_habilidades
mos_tecnicasWAT.entradas

skillrequired

Separador ,

Inputs

Texto Livre

Mos_tecnicasWAT.saidas

Sadas
Outputs
Criterios de
mos_ tecnicasWAT_criterioCobertura
testcoverage
Cobertura
mos_ tecnicasWAT_modelos
Modelo
modelingtechnology
Tecnologia de
mos_ tecnicasWAT_tecnologias
testgenerationtechnology
Modelagem
Nvel de
Mos_tecnicasWAT.tarefasAutomaticas
Automatedsteps
Automao
Descrio Nvel de
mos_tecnicasWAT.
Automatedstepsdescription
Automao
tarefasAutomaticasDescricao
Complexidade dos Mos_tecnicasWAT.complexidadePassos
complexityofnotautomatedsteps
Passos no
automatizados
Descrio da
Mos_tecnicasWAT.descricaoPassos
complexitydescription
Complexidade

Texto Livre
Separador ,
Separador ,
Separador ,
0 No
1 Sim
Texto Livre
1- Baixo
2- Mdio
3- Alto
Texto Livre

Requisito 3.3) Marak dever prover funcionalidade que permita a definio dos pesos
de cada atributo de caracterizao das abordagens WAT. Esses pesos sero
considerados no clculo de adequao entre as caractersticas do projeto de software
Web e as abordagens WAT. A definio dos pesos poder ser realizada tambm para
os atributos que podero ser utilizados como critrio de desempate.
A tabela que armazena o peso dos atributos no procedimento de seleo, denominada
mos_configporantim, dever ser adaptada para armazenar os atributos propostos
para as abordagens WAT. Nesse sentido, devero ser includos os campos abaixo
listados:

Tabela: mos_configporantim
Campo

Tipo

Tamanho

dominioAplicacao

Float

camadaAplicacao

Float

complexidadePassos

Float

134

Nivelautomao

Float

tipoestudo

Float

Critrio

Float

Requisito 3.4) Marak dever prover funcionalidade que permita a e definio da


quantidade mxima de abordagens a serem exibidas no procedimento de seleo;

Requisito 3.5) Marak dever ser adaptado para executar o procedimento de seleo
das abordagens de teste para aplicaes Web provido por Porantim-WAT, realizado
para cada projeto de teste de software Web.

Para implementar os requisitos listados, foram criados os arquivo abaixo:

Diretrio: /Componentes/Com_configferramenta

Arquivo: tecnicaWAT.php e tecnicaWAT.html.php

Diretrio: /Componentes/com_processmanager

Arquivo: porantim-wat.html.php e porantim-wat.php

Adicionalmente, foram includas algumas funes nos arquivos abaixo:

Diretrio: /Componentes/Com_configferramenta

Arquivo: configferramenta.php e configferramenta.html.php

Diretrio: /Componentes/com_processmanager

Arquivo: processmanager.php

Diretrio: /Componentes/com_processmanager/languages

Arquivo: brazilian_portuguese.php e english.php

135

APNDICE C GLOSSRIO
Este apndice descreve o glossrio de termos referentes s tecnologias
empregadas nas aplicaes Web, identificadas nas abordagens WAT publicadas na
literatura tcnica e selecionadas na quasi-reviso sistemtica executada neste
trabalho.

Ao longo da realizao da reviso da literatura e da reviso quasi sistemtica


para identificar e caracterizar as abordagens de testes para aplicaes Web, foi
identificada uma grande variedade de tecnologias empregadas nesta rea de
pesquisa. Este apndice apresenta um glossrio bilnge com o objetivo de reunir, de
forma breve e objetiva, os significados dos variados termos, expresses e palavras
utilizadas para Refernciar as tecnologias empregadas nas aplicaes Web. Trata-se
de uma coletnea de expresses com a respectiva explicao de conceitos dos
termos encontrados descritos em ingls e em portugus.

AJAX

Portugus:
Acrnimo para "Assncrono de javascript e XML". Aplicaes AJAX se baseiam
na comunicao cliente / servidor assncrono, na manipulao da rvore DOM
em tempo de execuo do lado do cliente. Isto no s torna este tipo de
aplicao fundamentalmente diferente das aplicaes web tradicionais, mas
tambm a torna mais propensa a erros e mais difcil de testar.
Ajax um conjunto de tecnologias utilizadas para desenvolver aplicativos ricos
e interativos da Web. Um cliente tpico Ajax executado localmente no
navegador Web do usurio e atualiza sua interface em tempo real em resposta
a entrada do usurio.

Ingls:
Asynchronous Javascript and XML acronym. AJAX-based Web applications rely
on stateful asynchronous client/server communication, and client-side runtime
manipulation of the DOM tree. This not only makes them fundamentally different
from traditional web applications, but also more error-prone and harder to test.
Ajax is a collection of technologies used to develop rich and interactive Web
applications. A typical Ajax client runs locally in the users Web browser and
refreshes its interface on the fly in response to user input.

136

Referncia: (Mesbah, 2009) (Hall, 2010)

BPEL

Portugus:
Linguagem de Execuo de Processo de Negcios - BPEL - uma linguagem
padro para a composio de Servios Web.

Ingls:
Business Process Execution Language BPEL is a standard language for
Web services composition.

Referncia: (Lallali, 2008)

BPEL4WS

Portugus:
BPEL4WS ou WS-BPEL ou ainda apenas BPEL um exemplo de Linguagem
de Execuo de Processo de Negcios de composio de Servios Web.
Existem outras linguagens: BPMN, WfXML, XPDL, XLANG, WSFL, etc. Todas
elas descrevem um processo de negcio atravs da composio de servios
web.

Ingls:
The Business Process Execution Language for Web Services (BPEL4WS, or
WS-BPEL as the new name, abbr. BPEL) is an example of business process
programming language for web service composition. Other languages include:
BPMN, WfXML, XPDL, XLANG, WSFL, etc. They all describe a business
process by composing web services.

Referncia: (Li, 2006)

BPMN

Portugus:
Sigla para Notao para Modelagem de Processos de Negcio. A BPMN uma
notao grfica padro proposta pelo Business Process Management Initiative

137

(BPMI) para representar processos de negcio. Ao adaptar a notao BPMN, o


modelo analtico proposto pode servir como um mecanismo de comunicao
entre os desenvolvedores e os testadores do processo WS-BPEL de modo a
facilitar as atividades de anlise e teste das composies de servios.

Ingls:
Abbrevitation for Business Process Modeling Notation. The BPMN is a standard
graphical notation proposed by Business Process Management Initiative (BPMI)
to represent business processes. By adapting the BPMN notation, the proposed
test model can serve as a communication mechanism between the WS-BPEL
process developers and testers so as to facilitate the service compositions
analyzing and testing.

Referncia: (Liu et al, 2008)

ECS

Portugus:
Sigla para servio de comrcio eletrnico.

Ingls:
Abbrevitation for e-Commerce Service.

Referncia: (Hall, 2010)

LWP

Portugus:
LWP uma pgina da Web inteira ou parte de uma pgina da Web que aceita
dados do usurio atravs de um formulrio HTML e, em seguida, envia os
dados para um mdulo de software especfico.

Ingls:
An LWP is either an entire physical Web page or the portion of a Web page that
accepts data from the user through an HTML form and then sends the data to a
specic software module.

138

Referncia: (Andrews et al, 2005)

OWL-S

Portugus:
OWL-S facilita a especificao de Servios Web com um conjunto de
construes de linguagem de marcao para descrever as propriedades e
capacidades de WS sem ambigidades. OWL-S suporta a automatizao de
tarefas, incluindo automao na identificao, invocao, interoperabilidade,
composio e monitoramento da execuo de servios Web.

Ingls:
OWL-S facilitates WS specification with a core set of markup language
constructs for describing the properties and capabilities of WS in unambiguous
and computerinterpretable form. OWL-S supports the automation of WS tasks
including automated WS discovery, invocation, interoperation, composition, and
execution monitoring.

Referncia: (Tsai et al, 2005)

Phishing

Portugus:
O phishing um ataque baseado na web que atrai os usurios finais a visitar
sites fraudulentos e dar informaes pessoais (por exemplo, userid, senha). A
informao utilizada para realizar atividades ilegtimas, como servios
bancrios online.

Ingls:
Phishing is a web-based attack which allures end users to visit fraudulent
websites and give away personal information (e.g., userid, password). The
information is used to perform illegitimate activities such as online banking.

Referncia: (Shahriar, 2010)

139

RIAS

Portugus:
Aplicao de Internet Rica utiliza tecnologias como Ajax, Flex ou Silverlight, e
rompe com a abordagem tradicional de aplicaes Web devido camada
servidora de computao e comunicao sncrona entre o cliente e servidores
web. Este tipo de aplicao introduz novos desafios, novas vulnerabilidades de
segurana, e seu comportamento torna a atividade de teste difcil.

Ingls:
Rich Internet applications (RIAs), using technologies such as Ajax, Flex, or
Silverlight, break away from the traditional approach of Web applications having
server-side computation and synchronous communications between the web
client and servers. RIAs introduce new challenges, new security vulnerabilities,
and their behavior makes it difficult or impossible to test with current web
application security scanners

Referncia: (Benjamin, 2010)

SDL

Portugus:
Sigla para Linguagem de Especificao e Descrio. uma poderosa
linguagem para projetar, desenvolver e testar sistemas e-commerce baseados
em CORBA.

Ingls:
Specification and Description Language (SDL) is a powerful design language, to
develop and test CORBA-based e-commerce systems

Referncia: (Probert et al, 2003)

SESSION

Portugus:
Uma sesso pode ser considerada como uma seqncia de solicitaes
interdependentes submetidas por um nico usurio

140

Ingls:
A session being a sequence of inter-dependent requests submitted by a single
user

Referncia: (Krishnamurthy, 2010)

SOAP

Portugus:
SOAP, um protocolo de comunicao padro para a transmisso de
mensagens XML. O Protocolo Simples de Acesso a Objetos (SOAP) um
protocolo leve baseado em XML para troca de informaes em um ambiente
descentralizado e distribudo.

Ingls:
SOAP, a standard communication protocol for transmitting XML messages.
The Simple Object Access Protocol (SOAP) is a lightweight, XML-based
protocol for exchanging information in a decentralized distributed environment.

Referncia: (Hall, 2010)

SQL injection

Portugus:
Consiste na possibilidade em que o usurio tem de injetar fragmentos de
consultas SQL em campos de entrada do aplicativo da Web. Se esses campos
ou os resultados da consulta SQL a serem enviados para o banco de dados
no so devidamente validados, ento poder ser possvel para o invasor
acessar dados no autorizados, fazer engenharia reversa da estrutura do
banco, ou mesmo inserir / excluir dados.

Ingls:
Consists in the possibility the user has to inject fragments of SQL queries in
Web application input fields. If these fields or the resulting SQL query to be sent
to the database are not properly validated, then it might be possible for the

141

attacker to access unauthorized data, reverse engineer the database structure,


or even to insert/delete data.

Referncia: (Ciampa, 2010)

SWRL

Portugus:
Sigla para Regras semnticas de Linguagem Web representa linguagem de
regra para a web semntica que consiste em antecedentes (corpo) e
subseqentes

(cabea),

como

uma

forma

de

equao

antecedentessubseqentes. Pode ser escrita como uma expresso lgica


com conjunes positivas.

Ingls:
The semantic web rule language (SWRL) represents rule language for semantic
web which consists antecedent (body) and consequent (head), such as a form
antecedent -> consequent. It can be written as an logic expression with positive
conjunctions only.

Referncia: (Noikajana and Suwannasart, 2008)

TTCN-3

Portugus:
TTCN-3 significa Notao de Teste e Controle de Teste Verso 3.
uma linguagem de testes padronizada internacionalmente e desenvolvida
pelo Comit Tcnico ETSI MTS (Mtodos de Teste e Especificao),
especificamente concebida para teste e certificao. A TTCN pode ser
interpretada apenas por um sistema de teste equipado adequadamente, visto
que no to fcil para um ser humano para ler e entender. A principal
desvantagem o fato de que, a fim de executar casos de teste TTCN-3,
necessrio compilador adequado. Entretanto, at o momento no existem
ferramentas open source para compilar e interpretar TTCN-3.

Ingls:
TTCN-3 means Testing and Test Control Notation Version 3.

142

It is a core language, an internationally standardizd testing language developed


by the ETSI Technical Committee MTS (Methods for Testing and Specification),
specifically designed for testing and certification. The TTCN can be exactly and
repeatedly interpreted only by a suitably equipped test system, while it is not so
easy for a human to read and understand it. A major drawback is the fact that in
order to run and execute the TTCN-3 test cases, an appropriate TTCN-3
compiler is needed.It should be noted, that until now there are no open source
tools for compiling and interpreting TTCN-3.

Referncia: (Dong 2009) (Pentafronimos, 2008)

UCTMs

Portugus:
UCTMs significa Modelos de Transio de Casos de Uso. Trata-se de um perfil
hierrquico de diagramas de caso de uso.

Ingls:
UCTMs means Use Case Transition Models. It is an hierarchical profile usecase diagrams.

Referncia: (Li, L.a b , Miao, H.a , 2008)

Widget

Portugus:
Pginas

Ajax

podem

ser

compostas

de

componentes

de

interface

independente do usurio, muitas vezes chamados widgets. Esses widgets so


mini-aplicativos compostos por um pedao de cdigo que pode ser incorporado
em uma pgina HTML e executar de forma independente e prximas umas das
outras, oferecendo contedo dinmico e funcionalidades para uma variedade
de tarefas como mostrar as ltimas notcias, previso do tempo, ou uma lista
de novas mensagens de e-mail. Exemplos altamente visveis incluem sites
como o iGoogle e Netvibes que permitem aos usurios selecionar widgets a
partir de um catlogo, personalizar e hosped-los em sua prpria pgina inicial.
Eles tambm fornecem APIs para desenvolvedores externos criarem e
inclurem novos widgets nos catlogos do widget.

143

Ingls:
Ajax pages can be composed from independent user interface components,
often called web widgets. These widgets are mini-applications composed of a
chunk of code that can be embedded in an HTML page, and run independently
and next to each other, providing dynamic content and functionality for a wide
variety of tasks such as showing the latest news headlines, weather predictions,
or a list of new email messages. Highly visible examples include Mashup sites
such as iGoogle and Netvibes, which allow users to select widgets from a
catalog, and customize and host them on their own start page. They also
provide APIs for external developers to build and include new widgets in the
widget catalogs.

Referncia: (Bezemer, 2009)

WS - Web Services

Portugus:
Um servio Web definido pelo W3C como "um sistema de software projetado
para suportar interao mquina-mquina interoperveis sobre uma rede".
Servios Web interagem entre si trocando mensagens codificadas usando
XML. Em sua forma bsica, a arquitetura de servios Web consiste em um
modelo RPC simples em que um cliente invoca operaes exportadas por um
provedor de servios usando SOAP. Cada servio Web publica a sua interface
de chamada (por exemplo, endereo de rede, portas operaes previstas, e
com os formatos esperados de mensagens XML para invocar o servio),
utilizando o WSDL - Web Service Description Language.
Servios da Web podem ser combinadas de forma colaborativa para criar um
novo sistema de servios Web (WSS), para resolver problemas mais
complexos.

Ingls:
A Web service is defined by the W3C as a software system designed to
support interoperable machine-to-machine interaction over a network.
Web services interact with each other by exchanging messages encoded using
XML. In its basic form, the Web service architecture consists of a simple RPC
model in which a client invokes operations exported by a service provider using

144

SOAP, a standard communication protocol for transmitting XML messages.


Each Web service publishes its invocation interface (for example, network
address, ports, operations provided, and the expected XML message formats to
invoke the service) using the Web Service Description Language. The WSDL
specification serves as a contract between the client and the server that (in part)
defines the valid interactions.
Web services can be combined in a collaborative way to create a new Web
services system (WSS) to solve more complex problems.

Referncia: (Hall, 2010) (Mao, 2009)

WS-BPEL

Portugus:
Mesmo que BPEL4WS ou apenas BPEL. um exemplo de Linguagem de
Execuo de Processo de Negcios de composio de Servios Web.

Ingls:
The Business Process Execution Language for Web Services (BPEL4WS, or
WS-BPEL as the new name, abbr. BPEL) is an example of business process
programming language for web service composition.

Referncia: (Li, 2006)

WSMO

Portugus:
Sigla para Ontologia para Modelagem de Servios Web. um framework que
fornece uma plataforma semanticamente enriquecida para documentar,
identificar e executar servios web.

Ingls:
Web Service Modelling Ontology (WSMO) framework. It provides a semantically
enriched platform for documenting, discovering and executing SWS

Referncia: (Jokhio, 2009)

145

WSC

Portugus:
Sigla para Composio de Servios Web. WSC uma das idias mais
promissoras

relacionadas

com

os

Servios

Web

(WSs),

onde

os

desenvolvedores e os usurios podem resolver problemas complexos atravs


da combinao do WSS disponveis. WSC reduz o tempo de desenvolvimento
e prov melhores possibilidades de reutilizao. WSC pode ser desenvolvido
em dois paradigmas: coreografia e orquestrao. Na coreografia, cada servio
envolvido sabe exatamente quando executar suas operaes e com quem
interagir. A coreografia mais colaborativa e deixa que cada parte envolvida
descreva a sua participao. Na orquestra, um coordenador central possui o
controle do WSs envolvidos e coordena a execuo de diferentes operaes de
WS, de acordo com requisitos de orquestrao pr-estabelecidos.

Ingls:
Web Service Compositions abreviation. WSC is one of the most promising
ideas related to WSs, where developers and users can solve complex problems
by combining available WSs. WSC reduces the development time, improves the
reuse of WSs and the consummation of complex WSs. WSC can be developed
in two paradigms: choreography and orchestration. In choreography, each
involved WS knows exactly when it should execute its operations and with
whom it should interact. Choreography is more colaborative and let each
involved part describes its participation. In orchestration, a central coordinator
possesses the control of involved WSs and coordinates the execution of
different

WS

operations,

according

to

pre-established

orchestration

requirements.

Referncia: (Endo et al, 2008)

WSDL

Portugus:
Descrio de Linguagem de Servios Web (WSDL) um formato XML para
descrever servios de rede com informaes do orientado a RPC e orientado a
mensagem. Programadores ou ferramentas de desenvolvimento automatizado

146

podem criar arquivos WSDL para descrever um servio e pode disponibilizar


essa descrio atravs da Internet.

Ingls:
Web Services Description Language (WSDL) is an XML format for describing
network services containing RPC-oriented and message-oriented information.
Programmers or automated development tools can create WSDL files to
describe a service and can make this description available over the Internet.

Referncia: (Kumar Ashok, 2009)

WSDL-S

Portugus:
A especificao WSDL serve como um contrato entre o cliente e o servidor que
(em parte) define as interaes vlidas e prov uma descrio sinttica de um
servio. WSDL opera no nvel sinttico e carece de descrio semntica e
contexto do comportamento.

Ingls:
The WSDL specification serves as a contract between the client and the server
that (in part) defines the valid interactions and provides the syntactic description
of a single service. WSDL operates at the syntactic level and lacks semantic
description and behavior context.

Referncia: (Hall, 2010) (Dong, 2009)

147

Você também pode gostar