English

CIn - Centro de Informática UFPE




Eventos Relacionados

Defesa de Dissertação de Mestrado Nº1.703: "Test Automation from Natural Language with Reusable Capture & Replay and Consistency Analysis"

O aluno Filipe Marques Chaves de Arruda irá defender sua pesquisa no dia 31 de março, às 14h, na Sala D220 Início: 31/03/2017 às 14:00 Término: 31/03/2017 às 00:00 Local: Sala D220

Pós-Graduação em Ciência da Computação – UFPE
Defesa de Dissertação de Mestrado Nº 1.703

Aluno: Filipe Marques Chaves de Arruda
Orientador: Prof. Augusto Cesar Alves Sampaio
Co-orientadora: Profa. Flavia de Almeida Barros
Título: Test Automation from Natural Language with Reusable Capture & Replay and Consistency Analysis
Data: 31/03/2017
Hora/Local: 14h – Centro de Informática – Sala D220
Banca Examinadora:
Prof. Leopoldo Motta Teixeira (UFPE / CIn)
Prof. Wilkerson de Lucena Andrade (UFCG / Departamento de Sistemas e Computação)
Prof. Augusto Cesar Alves Sampaio (UFPE / CIn)

ABSTRCT:

A common scenario when automating tests begins with a test engineer writing test cases with no formal specification or software supervision. Then, there is a developer that tries to understand what the ambiguous test means in order to transform it into code. Finally, there is usually a experienced tester that is responsible to supervise the execution and check if the failures are indeed bugs or a mistake from the developer/test engineer or just a matter of change in the requirements/user interface.
To reduce the misunderstandings and bottlenecks in test automation, we propose a unified process, providing a complete but modular approach: write test cases using a controlled natural language to check consistency and dependencies automatically or search for similar test descriptions written in free natural language; adopt a reusable capture & replay strategy, so anyone can automate tests even without previous knowledge about coding besides mitigating scalability/maintainability issues by reusing actions from others; represent test actions with an abstract framework-free notation; use plugins, including voice recording and image processing; and apply a proactive traceability for elements in the user interface.
We developed and evaluated our strategy in the context of a partnership with Motorola Mobility, by which we achieved a reuse ratio up to 71% for test cases written with no standard whatsoever, presenting time gains similar to traditional C&R approaches when compared to coding. Besides, in order to improve even more the reuse and provide automatic consistency and dependency analysis, we created a controlled natural language plus a corresponding
semantic mechanism incorporated into an editor to help test engineers write consistent
test cases from the beginning.

Palavras-chave: test automation; capture and replay; reuse; mobile applications; natural language processing; formal methods.

RESUMO:

Um cenário comum na automação de testes inicia-se a partir da escrita dos casos de testes por um engenheiro de testes, sem alguma especificação formal ou supervisão por software. Então, um desenvolvedor tenta interpretar o que o teste potencialmente ambíguo significa antes de transformá-lo em código executável. Finalmente, um testador é responsável por verificar se as falhas são realmente bugs, ou erros cometidos pelo desenvolvedor, pelo engenheiro de teste ou apenas uma mudança nos requisitos ou na interface de usuário.
Para reduzir estes problemas recorrentes na automação de testes, nós propomos um processo unificado de escrita de casos de testes usando linguagem natural controlada que permite a verificação automática de consistência e dependências na escrita de ações de teste, ou usando uma busca por descrições similares de ações quando escritas em linguagem natural livre. O processo proposto é aplicado em uma  estratégia de Capture & Replay reusável, assim permitindo a automação por pessoas sem background em programação, além de mitigar problemas intrínsecos de escalabilidade e manutenibilidade através do reuso de ações de teste com granularidade que pode variar desde comandos simples, como abrir um aplicativo, um caso de testes inteiro, ou mesmo uma suite de testes. As ações são representadas através de uma notação abstrata e framework-agnóstica. Além disso, a implementação ainda abrange plugins que incluem captura de voz e processamento de imagem; e rastreabilidade proativa para os artefatos.
A estratégia foi concretizada através de sua implementação em uma ferramenta Zygon e avaliada no contexto de uma parceria com a Motorola Mobility, tendo sido adotada na prática em diferentes suítes de testes usando a linguagem natural livre, atingindo um reuso de até 71% com ganho de tempo similar a abordagens de Capture & Replay quando comparadas à programação.
Além disso, através da padronização da linguagem natural controlada, foi possível definir uma noção de consistência e capturar um grafo de associações (dependências e cancelamentos) entre ações de teste. A partir destas associações, foi possível estabelecer mecanismos para garantir que cada ação de um teste devesse ser precedida por ações das quais a mesma depende para ser executada.
Um editor (Kaki) foi implementado para mecanizar tanto aderência à CNL, como a dependência entre ações de teste. A partir das associações informadas na interface gráfica, Kaki cria automaticamente um modelo Alloy e usa o Alloy Analyzer para fazer a verificação de consistência, além de possivelmente sugerir a inserção de ações de teste para satisfazer as relações de dependências, automaticamente.
  • © Centro de Informática UFPE - Todos os direitos reservados
    Tel +55 81 2126.8430 - Cidade Universitária - 50740-560 - Recife/PE
Plano4 Consultoria Web