Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertao
de
Mestrado
apresentada
ao
Computao,
COPPE,
da
Rio de Janeiro
Julho de 2011
Examinada por:
________________________________________________
Prof. Guilherme Horta Travassos, D.Sc.
________________________________________________
Profa. Cludia Maria Lima Werner, D.Sc.
________________________________________________
Profa. Silvia Regina Vergilio, D.Sc.
de
Software
Experimental.
I.
Travassos,
Programa
de
Engenharia
iii
de
Sistemas
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.
Julho/2011
vi
July/2011
vii
NDICE
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
NDICE DE FIGURAS
xi
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
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 :
apresentada
adaptao
de
uma
infra-estrutura
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 C Glossrio
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
tais
aplicaes
para
melhor
compreender
suas
caractersticas,
10
envolvem
as
pessoas
envolvidas
no
desenvolvimento
(equipe
11
contexto,
sugiram
novas
preocupaes
cerca
do
processo
de
12
prtica
de
desenvolvimento
de
aplicaes
tradicionais
sofreu
problemas
13
era:
Quais processos de desenvolvimento tm sido utilizados para desenvolver
aplicaes Web?
(entidade-relacionamento)
influenciou
vrios
mtodos
subseqentes.
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
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.
sua
qualidade,
expondo
possveis
defeitos
os
desvios do
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.
16
17
18
19
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.
20
Manutenibilidade:
capacidade
do
software
de
ser
modificado.
21
apenas
segurana
que
representa
uma
sub-caracterstica
de
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
Populao,
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.
24
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:
25
Onde:
Termos da Populao = conjunto de termos que identificam aplicaes Web.
Termos da Interveno = conjunto de termos sobre Abordagem e Teste.
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
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:
27
artigo duplicado;
28
29
9126
(2002)
(funcionalidade,
eficincia,
usabilidade,
confiabilidade,
30
MASSOLAR (2008),
Estudo
de
caso:
So
estudos
que
investigam
um
fenmeno
31
Ttulo do Artigo
Autores
Fonte
Ano de Publicao
32
Foram removidas as
33
34
Quantidade de
Artigos
359
52
26
07
40
14
38
41
58
65
700
Total:
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
Funcionalidade
Confiabilidade
Browser-Based Usabilidade
No
Aceitao
Dinmico
Estudo de Caso
Browser-Based
No
Sistema
Funcional
Funcional
Estrutural
Dinmico
Estudo de Caso
Exemplo
Browser-Based
Eficincia
Sim
Sistema
Funcional
Dinmico
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
Servios Web
No
Sistema
Sistema
Sistema
Sistema
Unidade
Integrao
Funcional
Dinmico
Estudo de Caso
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
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
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
Segurana
Estudo Experimental
Estudo de Caso
Aplicao
WebML
Estudo de Caso
35
Funcional
Funcional
Estrutural
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
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
Sim
Li et al. 2009
Servios Web
Servios Web
Browser-Based
Servios Web
Browser-Based
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
Funcionalidade
Confiabilidade
Dinmico
Browser-Based
Mao 2009
Funcional
Sim
Sim
No
Sistema
Funcionalidade
Confiabilidade
Funcionalidade
Segurana
Confiabilidade
Funcionalidade
Confiabilidade
Funcionalidade
Browser-Based
Segurana
Browser-Based Funcionalidade
Browser-Based Confiabilidade
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
Eficincia
Confiabildiade
Raffelt et al. 2008
Rajan et al. 2009
Reza et al. 2008
Browser-Based
Funcionalidade
Segurana
Funcionalidade
Browser-Based
Confiabildiade
Browser-Based
Browser-Based
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
-
Browser-Based
Tian e Ma 2006
Browser-Based
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
Browser-Based Confiabilidade
No
Esttico
Dinmico
Estudo de Caso
Sim
Dinmico
Estudo de Caso
No
Dinmico
Estudo de Caso
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
37
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
38
que
maior
parte
das
abordagens
de
teste
selecionada
No h indicao de apoio
ferramental
64
37
39
Quantidade de Artigos
Browser-Based
55
Servios Web
38
Comrcio Eletrnico
Workflow
e-gorvernment
RIAS (Rich Internet
Applications)
0
0
40
Quantidade de Artigos
Confiabilidade
47
Funcionalidade
38
Segurana
24
Eficincia
13
Usabilidade
Portabilidade
No Identificado
16
41
Quantidade de Artigos
Unidade
26
Integrao
21
Sistema
54
Aceitao
Regresso
18
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.
Quantidade de
Artigos
Funcional (Caixa-Preta)
64
Estrutural (Caixa-Branca)
31
Ambas (Caixa-Cinza)
43
Quantidade de Artigos
Dinmica
72
Esttica
23
Ambos
44
Quantidade de Artigos
Estudo de Caso
38
Estudo Experimental
26
Relato de Uso
37
45
de
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
Elemento
Agentes
Ferramentas
Tcnicas
Atributo
Descrio
Conhecimento
Experincia
Identificador
Nome da ferramenta
Automao
Custo
Ambiente
Suporte
Comprensibilidade
Custo da aplicao
Entradas
Critrios de Adequao
tcnica
Dependncias
Repetibilidade
47
Fontes de Informao
Completude
Preciso
Casos de Teste
Tcnica
Efetividade
Tipo de defeito
N de casos de testes
gerados
Objeto
Projeto
Histrico
Satisfao
Elemento
Aspecto
Tipo de Software
Linguagem de Programao
Mtodo de desenvolvimento
Mtodo de desenvolvimento
Tamanho
Tamanho do software
Projetos referenciados
Ferramentas utilizadas
Equipe
Opinio
Benefcios
Problemas
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.
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
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
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
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
V&B (2005)
DN (2009)
Histrico
Problemas
Avaliao
Experimental
Objeto
Categoria da
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
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)
51
52
53
54
Muito
Baixa
Relevncia:
Indica
que
caracterstica
no
afeta
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.
56
57
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
(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
59
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
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
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
Doutorado
Alto
3,86
Itlia
Istituto di Scienza e
Doutorado
Alto
7,20
Paran
Itlia
Tecnologie dellInformazione
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
ndice de
% de
Pertinncia
Pertinncia
138,33
95,98%
Tipos de Defeito
138,20
95,88%
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%
129,60
89,92%
Benefcios
129,33
89,73%
Caracterstica de Qualidade
128,06
88,85%
Nvel de Teste
126,13
87,51%
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%
87,8
60,92%
84,93
58,93%
80,86
56,11%
79,13
54,90%
Mediana
Mdia
1 Quartil
62
ndice de Pertinncia
120,00%
95,98%
% Pertinncia
100,00%
95,88% 95,28%
91,86% 90,93%
87,51%
80,00%
84,97% 84,14%
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%
63
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
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
415,33
57,63%
1 Grupo
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
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%
-18,13
-2,52%
-29,60
-4,11%
-45,53
-6,32%
-104,26
-14,47%
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%
65
66
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
e-learning]
[Eficincia, Funcionalidade, Confiabilidade, Segurana,
Tcnica
Caracterstica de Qualidade
Usabilidade, Portabilidade]
Unidade
[Texto livre]
Nvel de Teste
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]
[Texto livre]
[Texto livre]
Tarefas automatizadas
[Sim, No]
automatizados
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
Aplicao Browser-Based
Caracterstica de Qualidade
Funcionalidade, Confiabilidade
Unidade
Nvel de Teste
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
Entradas
Diagrama de Estado
Sadas
Casos de Teste
No considerado problema de compatibilidade dos
navegadores
Web.
No
encontraram
soluo
para
Diagrama de Estado
UML
Tarefas automatizadas
Sim
automatizados
68
69
e, da mesma forma,
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
71
Figura 4.2. Frmula para clculo de distncia entre vetores (DIAS NETO 2009).
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
73
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
74
75
Atributos de Caracterizao
1. Plataforma de execuo do software
Ex:
Exemplo de Valores
web,
desktop,
sw
embarcado
Caractersticas
do Projeto
4. Modelo comportamental/estrutural de
software provido pelo projeto
Ruby
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
Requisitos de
Teste
de
(ex:
eficincia,
funcionalidade, usabilidade)
14. Tipos de Defeitos que desejam ser
reveladas
15. Apoio Ferramental requerido para testes
76
Caractersticas
do Projeto
Atributos de Caracterizao
1. Modelo comportamental/estrutural de
Requisitos de
Teste
Exemplo de Valores
norma
6. Critrio de Cobertura
77
ISO/IEC
9126
(ex:
longo do projeto
eficincia,
funcionalidade,
usabilidade)
8. Tarefas Automatizadas
Ex: Sim ou No
automatizados
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
78
Atributos WAT
Categoria da aplicao
Observao
Utilizado apenas como
critrio de desempate
ser utilizada
2. Modelo comportamental/estrutural
de software provido pelo projeto
8. Caractersticas de qualidade
definidas nos requisitos e que devem
ser avaliadas ao longo do projeto
abordagem
a abordagem utiliza
Tipo de anlise realizada
pela abordagem
critrio de desempate
Caractersticas de
qualidade que a
abordagem WAT capaz
de avaliar
79
passos no automatizados
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
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%
0,5763
7,19%
0,4518
5,64%
0,5042
6,29%
0,4481
5,59%
0,4668
5,83%
0,3938
4,91%
80
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.
81
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.
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
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%
VProjeto= (0,0814 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719)
83
| 0,0719 * 1)
| 0,0719 * 0)
0 +( 0,0719- 0)
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
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
85,34%
Browser-Based
Unidade
Esttico
Estudo de
Caso
Cliente
85,34%
VProjeto= (0,0814 | 0,0717 | 0,0803 | 0,0915 | 0,0769 | 0,0863 | 0,0703 | 0,0870 | 0,0719)
| 0,0719 * 0)
| 0,0719 * 0)
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
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)
| 0,0719 * 0 |
| 0,0719 * 0 |
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)
86
documentao
das
atividades
realizadas
ao
longo
deste
processo.
As
do
processo
(planejamento,
projeto
execuo
de
infra-estrutura
foi
evoluda
para
prover
apoio
ao
87
88
89
Figura 4.7. Configurao dos campos de caracterizao das abordagens WAT no JabRef.
90
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
Descrio
approachdescription
Texto Livre
Entradas
Inputs
Texto Livre
Habilidades
Skillrequired
Limitaes
Metodologia de
Desenvolvimento
Nvel de Teste
limitationsoftheapproach
Texto Livre
webdevelopmentmethods
Testinglevel
Modelo
modelingtechnology
Automao
Automatedsteps
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
Tipo de Estudo
Typeofstudy
Tipo de Tcnica
Typeoftestingtechnique
Tipo de Anlise
Typeoftestinganalisys
Unidade
Unit
Texto Livre
91
92
93
94
95
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.
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
98
99
Figura 4.19. Novo grau de adequao entre as abordagens WAT e o projeto SIGIC.
100
disso,
foi
apresentada
tambm
extenso
da
infra-estrutura
101
102
CAPTULO 5 - CONCLUSO
apoiar
execuo
do
procedimento
proposto
em
organizaes
de
103
5.2 Contribuies
As principais contribuies desta dissertao so:
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
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
106
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.
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
CONTE, T. U., MENDES, E., TRAVASSOS, G.H. (2005) Reviso Sistemtica sobre
Processos
de
Desenvolvimento
para
Aplicaes
Web,
Relatrio
Tcnico,
PESC/COPPE/UFRJ.
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.
Controle
de
Testes
de
Software.
Dissertao
de
M.Sc.,
COPPE/UFRJ.
109
DIAZ, P., MONTERO, S., AEDO, I. (2004) Modelling hypermedia and Web
applications: the Ariadne Development Method, Information Systems.
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.
110
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.
Second
Int.
Workshop
on
Web-oriented
Software
Technology
(IWWOST02).
MASSOLLAR,
J.
(2008)
Uma
abordagem
baseada
na
engenharia
para
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.
OFFUTT, J., WU, Y., DU, X., HUANG, H. (2004) Bypass testing of Web applications
ISSRE 2004, p. 187-197.
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.
112
SCHWABE, D., ROSSI, G., BARBOSA, S. (1996) Systematic Hypermedia Design with
OOHDM, ACM Conference on Hypertext.
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.
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.
COPPE/UFRJ.
Disponvel
em
ese.cos.ufrj.br/wikiese/index.php/Experimental_Software_Engineering__Glossary_of_Terms
114
http://lens-
APNDICES
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
116
117
118
119
120
121
122
123
124
125
126
127
128
ser
criadas
ainda
as
tabelas
de
relacionamento
Segue abaixo o
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
0-No, 1-Sim
tarefasAutomaticasDescricao varchar
1000
tipoEstudo
varchar
50
Benefcios
varchar
100
Problemas
varchar
100
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
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
idTopoTecnica
Bigint
12
ser
criadas
ainda
as
tabelas
de
relacionamento
entre
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
idnivelautomao
Smallint
Sim
idtipoestudo
Smallint
Cond
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
indicadorModelagem
Float
Default
No
indicadorRH
Float
Default
No
obrigatoriedadecamadaAplicacao
Smallint
mos_ caracterizacaoprojeto_criterio
Exemplo:
Tabela: mos_ caracterizacaoprojeto_criterio
Campo
Tipo
Tamanho
Observao
Id
Numrico
12
Chave auto-incremental
idTecnicaWAT
Numrico
12
idCriterio
Numrico
12
132
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
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.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.
Diretrio: /Componentes/Com_configferramenta
Diretrio: /Componentes/com_processmanager
Diretrio: /Componentes/Com_configferramenta
Diretrio: /Componentes/com_processmanager
Arquivo: processmanager.php
Diretrio: /Componentes/com_processmanager/languages
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.
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
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.
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.
BPMN
Portugus:
Sigla para Notao para Modelagem de Processos de Negcio. A BPMN uma
notao grfica padro proposta pelo Business Process Management Initiative
137
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.
ECS
Portugus:
Sigla para servio de comrcio eletrnico.
Ingls:
Abbrevitation for e-Commerce Service.
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
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.
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.
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
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
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
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.
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
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
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.
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
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.
Widget
Portugus:
Pginas
Ajax
podem
ser
compostas
de
componentes
de
interface
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.
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
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.
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
145
WSC
Portugus:
Sigla para Composio de Servios Web. WSC uma das idias mais
promissoras
relacionadas
com
os
Servios
Web
(WSs),
onde
os
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.
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
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.
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.
147