Geração automática de suíte de teste para GUI a partir de Rede de Petri



Documentos relacionados
Uma Análise de Práticas na Aplicação de SCRUM em Projetos de Grande Porte

Rafael Jessen Werneck de Almeida Martins. Recomendação de pessoas em redes sociais com base em conexões entre usuários

Um estudo sobre a geração e narração automática de estórias. Dissertação apresentada como requisito parcial para obtenção

Análise de Persistência de Participantes em Planos de Previdência

Um Processo Controlável de Desenvolvimento de Software Focado na Gestão da Qualidade em Pequenos Projetos

Um Modelo de Componentes de Software com Suporte a Múltiplas Versões

Uma arquitetura baseada em agentes de software para a automação de processos de gerênciadefalhasemredesde telecomunicações

Luiz Fernando Fernandes de Albuquerque. Avaliação de algoritmos online para seleção de links patrocinados. Dissertação de Mestrado

Credit Default Swap: Exemplos de Apreçamento

Leonardo Pereira Rodrigues dos Santos

Controle de estoque de peças de reposição: revisão da literatura e um estudo de caso

Heloisa Iara Colchete Provenzano. Personalidade e Risco: Um estudo em Finanças Comportamentais. Dissertação de Mestrado

Dimensionamento de Estoque de Segurança de Derivados de Petróleo: Metodologia e um Estudo de Caso

Dimensionando uma Frota Heterogênea de Veículos Ótima em Tamanho e Composição

Processo de Internacionalização na Indústria Calçadista Brasileira: Estudo de Caso da Calçados Azaléia S.A.

" Controle de Estoque com a Utilização do Sistema Kanban"

Marcelo Novaes Coutinho. Um Processo de Gerência de Estratégia de Rastreabilidade: Um Caso em Ambiente Oracle. Dissertação de Mestrado

Proposta para otimização de processos licitatórios na Companhia Brasileira de Trens Urbanos - CBTU

Wilson Reis de Souza Neto. O Teorema de Paris-Harrington. Dissertação de Mestrado

Distribuição Eletrônica na Hotelaria: Desenvolvimento de Serviços para a Internet

Sílvio Glicério Mendonça. O impacto dos Sistemas Integrados de Gestão (ERP) nas instituições de ensino. Dissertação de Mestrado (Opção profissional)

Empresas com Fundos de Private Equity Possuem Maior Valor e Remuneram Melhor Seus Executivos? Evidencia do Mercado Brasileiro

Ricardo Gomes Clemente. Uma arquitetura para processamento de eventos de log em tempo real. Dissertação de Mestrado

Livia Pires Chaves. Gestão de Estoque na Indústria de Manutenção de Motores Aeronáuticos: Estudo de Caso. Dissertação de Mestrado

Danielle de Rezende Jorge. Frações contínuas: propriedades ergódicas e de. Dissertação de Mestrado

Análise da Governança Corporativa como Determinante das Despesas de Auditoria e Consultoria no Brasil

Nathalia Tavares Barbosa. Gestão da Mudança Organizacional: O Caso da Empresa GAMA. Dissertação de Mestrado

Terceira Idade: Perfil de uso do cartão de crédito

Máquinas de Estados Hierárquicas em Jogos Eletrônicos

Análise de Sistemas de Planejamento Avançado (APS): conceituação e avaliação

Análise Probabilística de Semântica Latente aplicada a sistemas de recomendação

Análise Temporal dos Preços da Commodity Cobre Usando o Modelo Box & Jenkins

Elbio Renato Torres Abib. Escalonamento de Tarefas Divisíveis em Redes Estrela MESTRADO. Informática DEPARTAMENTO DE INFORMÁTICA

CONSUMO E TRANSFORMAÇÃO DA IMAGEM DO SURFE

Empresas de Gestão Conservadora: Potencial da Previsão de Demanda e Simulação Computacional

Comportamento do Consumidor em Relação à Educação a Distância: Abordagem Funcional das Atitudes Aplicada ao Marketing

Gestão Hospitalar O caso de hospitais privados do Rio de Janeiro

Luiz Marques Afonso. Um Estudo Sobre Contratos em Sistemas de Componentes de Software. Dissertação de Mestrado

Antônio Carlos Theóphilo Costa Júnior. Soluções para a Travessia de Firewalls/NAT usando CORBA DISSERTAÇÃO DE MESTRADO

Análise da Eficiência de Empresas de Comércio Eletrônico usando Técnicas da Análise Envoltória de Dados

Vigilância e Monitoramento em Tempo Real de Veículos em Rodovias com Câmeras Não-Calibradas

Reflexão e fundamento: a validade universal do juízo de gosto na estética de Kant

Técnicas de modelagem do improvement para construção de tábuas geracionais

Planejamento do sequenciamento de caminhões em um ambiente de produção sob encomenda

Mudança Organizacional em uma Empresa Familiar Brasileira: um estudo de caso

Modelo GARCH de Apreçamento de Opções via Simulação Histórica Filtrada: Uma Aplicação para o Mercado Brasileiro

A contribuição do coaching executivo para o aprendizado individual: a percepção dos executivos

DISSERTAÇÃO DE MESTRADO

Thiago Rezende Pinto. Aplicação de Modelos Não Lineares em Negociação Automática no Mercado Acionário Brasileiro DISSERTAÇÃO DE MESTRADO

Avaliação do Impacto do Sistema de Rastreamento de Veículos na Logística

Wilson Lins Morgado. Método de classificação de risco aplicado ao mercado de seguros de automóveis. Dissertação de Mestrado

Uma Abordagem para a Avaliação de Processos de Desenvolvimento de Software Baseada em Risco e Conformidade

Bruno Loureiro Rezende. Um Framework para a Automação de Testes com Linguagens de Especificação Configuráveis DISSERTAÇÃO DE MESTRADO

A CONVERSÃO ADJETIVO/SUBSTANTIVO EM FORMAÇÕES DEVERBAIS X-DO NO PORTUGUÊS DO BRASIL

O transporte ferroviário de carga no Brasil: Estudo de caso do transporte de combustíveis na Região Sul

Mensuração do Desempenho do Gerenciamento de Portfólio de Projetos: Proposta de Modelo Conceitual

Fábio da Silva Abrate

Ricardo Magalhães Gomes

Análise da Fidelidade nos Serviços de Consultoria de Informática para o Mercado Corporativo

O celular como instrumento de pagamento e controle financeiro pelas classes de baixa renda na cidade do Rio de Janeiro

Simulação e Estratégias de Negociação de Ações com Agentes de Software

Saulo de Souza Ladeira. Técnica, território e ensino a distância: Articulações histórico-teóricas. Dissertação de Mestrado

Relato de experiência da implantação de boas práticas de Engenharia de Software em um ambiente heterogêneo

Eduarda Machado Lowndes Carpenter. Um Modelo de Análise de Risco de Crédito de Clientes em Relações B2B. Dissertação de Mestrado

Marcos Paulo Garrido Bittencourt de Oliveira. O uso de mídias sociais como ferramentas para criação de novos negócios: Estudo de caso

Os destinos da tristeza na contemporaneidade

Projeto de Serviços: proposta de modelo teórico para sites de compras coletivas

Silvano Nogueira Buback. Utilizando aprendizado de máquina para construção de uma ferramenta de apoio a moderação de comentários

Aprimoramento das Aquisições na Administração Pública: um Estudo de Caso

Adoção do Serviço de Mensagens de Texto (SMS) pelos usuários de telefonia móvel: Uma proposta baseada no Modelo de Aceitação da Tecnologia

Clubes de futebol com boa governança possuem melhor desempenho? Evidências do mercado brasileiro

A Retenção de Clientes no Setor de Ensino: Estudo de Caso em um Curso de Inglês

Pierre Alexandre Charles Burban. Apreçamento de opções exóticas: Uma abordagem pela simulação de Monte-Carlo. Dissertação de Mestrado

CINEMA BRASILEIRO E SUAS POSSIBILIDADES COMO FORMA DE PENSAMENTO ENSAÍSTICO Um percurso através de São-Bernardo, Vidas secas e Insônia

Modelagem do Controle de Tensão por Geradores e de Múltiplas Barras Swing na Avaliação das Condições de Estabilidade de Tensão

Jornalismo potencializador e as formas de narrar o outro - a alteridade brasileira no New York Times

Maria Alice de Faria Nogueira. Consumo e publicidade: Apropriação localizada e mensagem global. Dissertação de Mestrado

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO

Logística Lean: Conceituação e aplicação em uma empresa de cosmético.

Classificação de Imagens de Sensoriamento Remoto usando SVM

Graziela Xavier Fortunato. Otimização dos Dispêndios de Publicidade sob Incerteza dos Ciclos Econômicos. Tese de Doutorado

Infraestrutura, Gestão Escolar e Desempenho em Leitura e Matemática: um estudo a partir do Projeto Geres

Uma Especificação de Máquina de Registradores para Java

Identificação de Modelos GARCH Usando Inteligência Computacional

Terceirização da Operação Logística Estudo de caso sobre a terceirização da Logística de Distribuição de uma Indústria Farmacêutica

Impasses e Conflitos na Relação entre TI e Business:

Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

Renato Maia Silva. Redes Neurais Artificiais aplicadas à Detecção de Intrusão em Redes TCP/IP. Dissertação de Mestrado

As práticas de marketing de relacionamento das empresas brasileiras: panorama e desempenho

Identidade e Identificação nas Organizações: Um Estudo de Caso sobre a Gestão destes Conceitos em uma Empresa de Consultoria e Outsourcing

INGLÊS PARA A ÁREA DE TURISMO: análise de necessidades do mercado e de aprendizagem

A Dinâmica em um Projeto de Tecnologia de Grande Porte

Efeitos de mudanças de ratings soberanos de países emergentes sobre o mercado acionário brasileiro

Carolina Ferreira Szczerbacki. Formação de Preços de Energia Elétrica para o Mercado Brasileiro. Dissertação de Mestrado

Estratégias de TI para a integração eletrônica da informação - um estudo sobre o estado da arte e da prática

Gerador de aplicações para consultas a bases RDF/RDFS

Jacileide de Almeida Serafim

DISSERTAÇÃO DE MESTRADO

FUNDAÇÃO INSTITUTO CAPIXABA DE PESQUISAS EM CONTABILIDADE, ECONOMIA E FINANÇAS GEORGE PINHEIRO RAMOS

Transcrição:

Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós-graduação em Informática da PUC-Rio. Orientador: Prof. Arndt Von Staa Rio de Janeiro Agosto de 2014

Raquel Jauffret Guilhon Geração automática de suíte de teste para GUI a partir de Rede de Petri Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pós-graduação em Informática da PUC-Rio. Aprovada pela Comissão Examinadora abaixo assinada. Prof. Arndt Von Staa Orientador Departamento de Informática PUC-Rio Prof. Alberto Barbosa Raposo Departamento de Informática PUC-Rio Prof. Hélio Cortes Vieira Lopes Departamento de Informática PUC-Rio Prof. José Eugênio Leal Coordenador Setorial do Centro Técnico Científico PUC-Rio Rio de Janeiro, 22 de Agosto de 2014

Todos os direitos reservados. É proibida a reprodução total ou parcial do trabalho sem autorização da universidade, da autora e do orientador. Raquel Jauffret Guilhon Graduou-se em Engenharia da Computação pela Pontifícia Universidade Católica do Rio de Janeiro, em 2009. Atua como Analista de Sistemas em um projeto de pesquisa do instituto Tecgraf/PUC-Rio desde 2009. Interessada em prover soluções práticas e funcionais para problemas de desenvolvimento de software em geral. Ficha Catalográfica Guilhon, Raquel Jauffret Geração automática de suíte de teste para GUI a partir de Rede de Petri / Raquel Jauffret Guilhon ; orientador: Arndt Von Staa. 2014. 110 f. : il. (color.) ; 30 cm Dissertação(mestrado) Pontifícia Universidade Católica do Rio de Janeiro, Departamento de Informática, 2014. Inclui bibliografia 1. Informática Teses. 2. Rede de Petri. 3. Teste de GUI. 4. Teste baseado em modelo. I. Staa, Arndt Von. II. Pontifícia Universidade Católica do Rio de Janeiro. Departamento de Informática. III. Título. CDD: 004

Agradecimentos À minha família, pelo apoio, respeito e amor de sempre. A meu orientador Arndt Von Staa, pela colaboração fundamental para a realização deste trabalho e pela forma como conduziu a orientação. Ao Pedro Mário Cruz e Silva, coordenador do projeto V3O2/Tecgraf, por me conceder a oportunidade deste mestrado e pelo apoio ao longo da etapa. A todos os amigos do V3O2, pelo entendimento, carinho e apoio de sempre. Aos professores da banca examinadora, por terem aceitado fazer parte desta importante etapa.

Resumo Guilhon, Raquel Jauffret; Staa, Arndt Von. Geração automática de suíte de teste para GUI a partir de Rede de Petri. Rio de Janeiro, 2014. 110p. Dissertação de Mestrado - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. Na etapa de testes de software, as falhas podem ser reveladas e em seguida diagnosticadas a fim de identificar os defeitos que a causaram. Os testes devem idealmente ser aplicados desde o nível da unidade até o nível mais elevado do software, como o teste de sistema. Em um destes níveis está o teste da interface gráfica, ou Graphical User Interface (GUI). Garantir o correto funcionamento da GUI quanto ao estado de seus elementos após diversos eventos de usuário, é tão importante quanto o teste de outras camadas, pois a GUI é um meio direto de interação com a aplicação, sendo o recurso que mais influencia em como será qualificada a experiência pelo usuário final. Este trabalho propõe uma abordagem de teste baseado em modelo, ou Model-Based Testing (MBT), utilizando Redes de Petri (RP) de alto nível para representar a interface gráfica. A Rede de Petri é uma ferramenta de modelagem e uma linguagem de especificação de base matemática que define graficamente a estrutura de sistemas especialmente concorrentes. Uma característica importante das RPs é que elas podem ser simuladas, permitindo que se observe o comportamento do sistema e que se obtenha a geração de casos de teste a partir dos caminhos executados na simulação. Foi investigada a geração de suítes de teste para interface gráfica a partir do modelo Rede de Petri. Para isso, considerou-se a relação entre as ações do usuário e os estados resultantes na GUI, percebendo como uma RP pode modelá-los. Uma ferramenta de apoio foi desenvolvida para que, a partir das simulações realizadas na Rede de Petri, suítes de teste fossem geradas na linguagem C++, tornando possível a execução automática em um software de estudo. Por fim, o critério de teste Análise de Mutantes, que mede a eficácia da suíte gerada a partir da RP, foi empregado como um dos meios de validação deste trabalho. Palavras-chave Rede de Petri; Teste de GUI; Teste baseado em modelo

Abstract Guilhon, Raquel Jauffret; Staa, Arndt Von (Advisor). GUI test suite automatic generation from Petri Net. Rio de Janeiro, 2014. 110p. MSc. Dissertation - Departamento de Informática, Pontifícia Universidade Católica do Rio de Janeiro. In software testing stage, faults can be revealed and then diagnosed to identify defects that caused it. Tests should ideally be applied from the unit level to the higher level of software, such as system testing. In one of these levels resides GUI (Graphical User Interface) testing. Ensuring the correct operation of the GUI on the state of its elements after various user events is as important as the other layers tests, since GUI is a direct way to interact with the application, being the feature that most influences how the experience will be qualified by the end user. This paper proposes a Model-Based Testing (MBT) approach using highlevel Petri Nets (RP) to represent graphical user interface. Petri Net is a modeling tool and a mathematical specification language that graphically defines the structure of systems, specially the concurrent ones. An important feature of RPs is that they can be simulated, allowing one to observe the behavior of the system and to obtain the generation of test cases from the paths executed in the simulation. The generation of test suites for GUI from the Petri Net model was investigated. For this, we considered the relationship between user actions and resulting states in the GUI, realizing how an RP can model them. A support tool was developed so that, from the simulations of Petri Net, test suites were generated in C++ language, making it possible to auto-run them on a study software. Finally, the Mutation Analysis test criterion, which measures the effectiveness of the suite generated from RP, was employed as a means of validation of this work. Keywords Petri Net; GUI Testing; Model based testing

Sumário 1. Introdução 9 1.1 Testes de software 9 1.2 Testes em GUI 10 1.3 Motivação 14 1.4 Estrutura da Dissertação 21 2. Teste baseado em modelo 23 2.1 Redes de Petri 23 2.2 GUI como Rede de Petri 28 3. Revisão bibliográfica 36 3.1 Teste de GUI a partir de modelo 36 3.2 GUI como Rede de Petri 39 3.3 Ferramentas de teste em GUI 39 3.4 Análise de mutantes no nível funcional 40 4. Metodologia e ferramenta desenvolvida 43 4.1 Modelagem da Rede de Petri 43 4.1.1 Construção do modelo da GUI 44 4.1.2 Simulação 50 4.1.3 Exemplo de funcionalidade real 53 4.1.4 Configurações extras de modelagem 60 4.2 Geração da suíte de teste Ferramenta guiftg 63 4.2.1 Geração da suíte de teste genérica 66 4.2.2 Geração da suíte especializada para uma 67 ferramenta de execução de teste automatizada 4.3 Execução dos testes no SUT (Software Under Test) 69 5. Critério de teste Análise de Mutantes 70 5.1 AM tradicional 72 5.2 AM no nível funcional e de sistema 73

5.3 Análise de Mutantes no SUT 73 5.3.1 Operadores 74 5.3.2 Ferramenta desenvolvida 75 5.3.3 Execução da AM no SUT 76 6. Experimentação do processo proposto 78 6.1 Funcionalidades testadas e estatísticas 78 6.2 Análise dos resultados 93 6.2.1 Avaliação quanto à eficiência 93 6.2.2 Avaliação quanto à eficácia 94 6.2.3 Evidências quanto às ferramentas Capture/Replay 97 6.3 Considerações 98 7. Conclusão 100 7.1 Limitações deste trabalho 103 7.2 Contribuições 104 7.3 Trabalhos futuros 104 8. Referências Bibliográficas 107