artigo angラlica rodrigues da silva 2 · automação de testes e aplicando automação de testes...

25
RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa AUTOMAÇÃO DE TESTES: UM ESTUDO APLICADO AO SISTEMA CORUJA Angélica Rodrigues da Silva Márcio Belo Rodrigues da Silva RESUMO. O presente trabalho tem como objetivo apresentar automação de testes como uma das alternativas para melhorar a qualidade dos softwares produzidos, descrever o processo e analisar os impactos de sua implantação em uma organização, bem como discutir técnicas e avaliar em que situações deve ser utilizada. Para alcançar o objetivo, foi realizado um estudo de caso, aplicando automação de testes ao Sistema Coruja, o sistema de gestão acadêmica utilizado pela instituição FAETERJ-Rio. Com o projeto desenvolvido foi possível comprovar que apesar da onerosidade na implementação dos testes automatizados, o investimento aplicado é válido já que esforços futuros com tarefas repetitivas serão poupados, fazendo que os profissionais possam utilizar o tempo em outras atividades referentes ao projeto ou até mesmo executando testes manuais que exijam raciocínio humano. Palavras-chave: Automação - Teste - Sistema Coruja. Qualidade. Software. Implantação. Gestão Acadêmica. FAETERJ-Rio. ABSTRACT. This project aims to present test automation as an alternative to improve the quality of the produced softwares, describing the process, analyzing the impact of its implementation in an organization, to discuss techniques and assess in what situations should be used. In order to reach the goal, a case study was conducted by applying test automation to the Coruja system, the academic management software used by FAETERJ-Rio. As the project finalized it was possible to prove that despite the burden in the implementation of automated testing, the investment is valid because future efforts with repetitive tasks will be spared, making the professionals use the time in other activities related to the project or even running manual tests that require human reasoning. Keywords: Automation - Test - Coruja System. Quality. Software. Implantation. Academic Management. FAETERJ-Rio.

Upload: others

Post on 28-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

AUTOMAÇÃO DE TESTES:

UM ESTUDO APLICADO AO SISTEMA CORUJA

Angélica Rodrigues da Silva

Márcio Belo Rodrigues da Silva

RESUMO. O presente trabalho tem como objetivo apresentar automação de testes como uma

das alternativas para melhorar a qualidade dos softwares produzidos, descrever o processo e

analisar os impactos de sua implantação em uma organização, bem como discutir técnicas e

avaliar em que situações deve ser utilizada. Para alcançar o objetivo, foi realizado um estudo

de caso, aplicando automação de testes ao Sistema Coruja, o sistema de gestão acadêmica

utilizado pela instituição FAETERJ-Rio. Com o projeto desenvolvido foi possível comprovar

que apesar da onerosidade na implementação dos testes automatizados, o investimento

aplicado é válido já que esforços futuros com tarefas repetitivas serão poupados, fazendo que

os profissionais possam utilizar o tempo em outras atividades referentes ao projeto ou até

mesmo executando testes manuais que exijam raciocínio humano.

Palavras-chave: Automação - Teste - Sistema Coruja. Qualidade. Software. Implantação.

Gestão Acadêmica. FAETERJ-Rio.

ABSTRACT. This project aims to present test automation as an alternative to improve the

quality of the produced softwares, describing the process, analyzing the impact of its

implementation in an organization, to discuss techniques and assess in what situations should

be used. In order to reach the goal, a case study was conducted by applying test automation to

the Coruja system, the academic management software used by FAETERJ-Rio. As the project

finalized it was possible to prove that despite the burden in the implementation of automated

testing, the investment is valid because future efforts with repetitive tasks will be spared,

making the professionals use the time in other activities related to the project or even running

manual tests that require human reasoning.

Keywords: Automation - Test - Coruja System. Quality. Software. Implantation. Academic

Management. FAETERJ-Rio.

Page 2: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

1. INTRODUÇÃO

Testar um produto ao longo de seu desenvolvimento muitas vezes é um

procedimento feito naturalmente, sem orientação de nenhum roteiro específico, apenas

seguindo a própria percepção, mas com a finalidade de averiguar o funcionamento do que foi

produzido, mesmo que de forma básica.

A introdução de testes tem sido amplamente adotada pelas empresas de tecnologia da

informação que oferecem serviços de consultoria e desenvolvimento de soluções, com o

objetivo de validar a qualidade do produto a ser entregue ao cliente.

O aumento da complexidade dos sistemas e os diversos fluxos que podem ocorrer

durante sua utilização, tornaram também a execução e o gerenciamento dos testes mais

difíceis de serem realizados manualmente, o que pode acarretar em aumento do tempo

estimado para entrega, elevação de custos e piora dos sistemas produzidos.

O objetivo do presente trabalho é apresentar a utilização da automação de testes

como aliada na melhoria da qualidade dos softwares produzidos, descrevendo o processo de

automação de testes e aplicando automação de testes ao Sistema Coruja.

O trabalho, realizado sob orientação do Prof. Me. Marcio Belo Rodrigues da Silva,

consistiu em realizar pesquisas bibliográficas acerca do tema proposto e na implementação de

testes automatizados.

O desenvolvimento dos testes foi dividido nas seguintes etapas, que serão descritas

nos tópicos a seguir:

1. Escolha das ferramentas de apoio a serem utilizadas;

2. Análise da documentação do Sistema Coruja;

3. Planejamento dos testes que seriam realizados;

4. Implementação dos testes automatizados;

5. Execução dos testes;

6. Gestão de defeitos;

7. Reteste das inconsistências encontradas na execução;

8. Geração de relatórios e métricas de execução.

Page 3: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

2. O CORUJA

Fonte: Elaborada pelo autor (2015)

Coruja é o sistema acadêmico de Software Livre (Open Source) utilizado pela

FAETERJ-Rio para gestão de matrículas, turmas e período letivo. Suas principais

funcionalidades são:

• Suporte a Múltiplos Cursos: podem existir diversos cursos cadastrados ao

mesmo tempo, cada um com suas próprias características;

• Período Letivo: é possível gerenciar todo período letivo, incluindo seu

calendário e eventos administrativos e acadêmicos;

• Inscrição em Disciplinas: é possível gerenciar todo processo de inscrição em

disciplinas, desde sua solicitação até o deferimento/ indeferimento por parte da coordenação;

• Pauta Eletrônica: é possível realizar acompanhamento de presença, conteúdo

lecionado e nota de alunos nas turmas;

• Histórico Escolar: é possível gerar histórico com o status atual do aluno em

relação à matriz curricular.

O Projeto Coruja é constituído por diversos módulos, podendo se destacar dois em

especial: Sistema de Solicitação de Inscrição em Turmas Online - SIRO (Camila Areal de

Santana, Dyego Silva Pinto e Rodrigo Henrique de Oliveira Vieira) e Sistema de Lançamento

Figura 1. Sistema Coruja - Tela de manutenção de turmas

Page 4: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

de Notas, Manutenção de Turmas e Emissão de Relatórios - NORT (Marcelo Atie Pacheco

Junior), que foram desenvolvidos por alunos da própria instituição em seus trabalhos de

conclusão de curso.

Toda documentação e artefatos do projeto encontram-se disponíveis no site

SourceForge, que é um repositório de códigos fonte de sistemas Open Source.

3. ANÁLISE DA DOCUMENTAÇÃO

Fonte: Elaborada pelo autor (2015) Análise da documentação é a primeira etapa da fase de planejamento de um projeto

de teste de software. Nela, os documentos e requisitos do sistema são analisados e estudados

para elaboração dos cenários de teste que se apliquem a cada fluxo descrito.

No sistema Coruja, os requisitos estão documentados em descrições de casos de uso

e documento de regras de negócio. Com as descrições de caso de uso é possível identificar o

fluxo principal, fluxos alternativos e de exceção, facilitando o processo de mapeamento dos

casos de teste.

4. GERENCIAMENTO DE TESTES

Ao estabelecer um processo de testes, é necessário registrar algumas informações

para consultas futuras, tais como: roteiros e casos de teste, resultados de execução, entre

outros. Muitos analistas, por falta de conhecimento ou disciplina, armazenam esses dados em

diversos documentos de texto e/ou planilhas, o que dificulta a administração do processo.

Figura 2. Sistema Coruja - Caso de uso da funcionalidade Criar Turma

Page 5: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

A utilização de uma ferramenta serve para auxiliar no controle dessas informações

importantes, pois elas em sua maioria oferecem suporte a gerenciamento de roteiros, geração

de relatórios, atribuição de testes, logs de execução, métricas e estatísticas, entre outras

vantagens.

Ainda que agregando essa série de benefícios, muitas empresas não veem

necessidade ou não possuem recursos para investir em gerenciadores de teste pagos, porém,

em contrapartida existem diversas opções gratuitas que não deixam a desejar nos recursos

oferecidos. Segue abaixo, uma lista das principais ferramentas existentes no mercado

atualmente:

Tabela 1 - Principais ferramentas de gerenciamento de testes

Ferramentas Gratuitas Ferramentas Pagas

Testlink RationalTestManager

TestMaster Mercury TestDirector

Vale ressaltar que a ferramenta não deve ser adquirida levando em consideração

somente o fato de ser gratuita ou paga, antes de tudo deve ser avaliado o uso que a mesma terá

e se a maior parte dos recursos oferecidos, de fato será utilizada.

4.1. GERENCIAMENTO DE TESTES - FERRAMENTA TESTLINK

Page 6: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Fonte: Elaborada pelo autor (2015)

Para o gerenciamento dos testes do sistema Coruja foi escolhida a ferramenta

Testlink, por ser Open Source e fornecer recursos de gerenciamento avançados. Desenvolvida

em PHP, armazena seus dados no banco de dados MySQL, é altamente customizável, sendo

possível alterar desde o logotipo exibido até o template de relatórios. Seguem abaixo suas

principais características:

• Especificação do roteiro de testes;

• Registro de execuções e resultados dos testes;

• Atribuição de casos de testes a analistas;

• Suporte a requisitos;

• Rastreabilidade de alterações;

• Geração e exportação de métricas e relatórios;

• Estrutura em árvore;

• Suporte a builds;

• Integração com bugtrackers (gerenciadores de defeitos).

No presente trabalho, a ferramenta Testlink foi mais utilizada para gerenciamento

dos casos de teste criados e geração de métricas e relatórios de geração.

Figura 3. Testlink - Visão geral da ferramenta

Page 7: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Caso de Teste é o conjunto de entradas e condições específicas que possuem a

finalidade de testar um aspecto do sistema, comparando o resultado obtido com o esperado.

No Testlink, a descrição de um caso de teste apresenta os campos: Objetivo, Pré-condições,

Ações do Passo e Resultado Esperado, conforme pode ser visto na imagem abaixo:

Figura 4. Testlink - Visualização de caso de teste

Fonte: Elaborada pelo autor (2015)

Os relatórios de métricas de execução do Testlink informam o resultado das

execuções dos casos de teste. Pode ser exibido em forma de matriz ou gráfico, conforme pode

ser visualizado nas imagens a seguir:

Page 8: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Figura 5. Testlink - Tela de exibição de Matriz de Resultados de Teste

Fonte: Elaborada pelo autor (2015)

Figura 6. Testlink - Tela de exibição de Gráfico

Fonte: Elaborada pelo autor (2015)

5. AUTOMAÇÃO DE TESTES

Visando aumentar a eficiência e eficácia da etapa de testes, é crescente a utilização

de ferramentas de automação, principalmente em validações de performance e estresse, que

Page 9: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

são difíceis de serem realizados sem o auxílio de uma ferramenta, e também em testes

funcionais e de regressão. Porém se engana quem pensa que os resultados aparecerão tão

rapidamente, pois automatizar não é apenas adquirir uma ferramenta. Automatizar é

investimento a longo prazo, pois sua implantação demanda custo e equipe capacitadas para

realização correta do processo. Por isso o ideal é que a implementação de testes

automatizados em uma organização aconteça somente após o processo de testes atingir certo

nível de maturidade, estando organizado e com uma base metodológica sólida.

Antes de se adquirir uma ferramenta de automação, é importante que seja verificado

se é realmente necessária, deve ser considerada a integração com o processo de

desenvolvimento, fazendo também com que a equipe de desenvolvimento participe da seleção

da ferramenta e dê seu parecer sobre ela, e por último, e muito importante também é definir

quais etapas necessitam realmente ser automatizadas.

Considerações para automação de testes:

Escopo: Não é prático, nem sensato tentar automatizar todos os tipos de testes e

sistemas em desenvolvimento.

Prazo de preparação: O esforço/prazo para preparar o ambiente de um sistema para

automação dos testes aumenta em relação ao manual;

Estratégias: Existem custos e benefícios que devem ser mensurados da forma mais

realista possível;

Melhorias no processo de testes: é imprescindível que a organização tenha um

processo formal de desenvolvimento e um processo de testes para que a automação possa ser

bem sucedida;

Prova de conceito: é a melhor sugestão quando se quer validar uma ferramenta em

um processo de seleção.

Seleção da ferramenta: quando a organização deseja implementar um processo

automatizado no seu ambiente, deve ser prevista a atividade de seleção da ferramenta no

projeto;

Pilares da automação: Ferramenta, metodologia e infraestrutura.

Page 10: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

5.1. AUTOMAÇÃO DE TESTES -- FERRAMENTA SELENIUM IDE

Figura 7. Selenium IDE - Visão geral

Fonte: Elaborada pelo autor (2015)

Para realizar a automação e execução dos testes funcionais do Coruja foi escolhida a

ferramenta Selenium IDE, que é específica para sistemas web e funciona como um plugin do

Mozilla Firefox, que permite gravar em um script tudo o que é executado no browser para

depois repetir as ações gravadas (método Recordand Play). Os scripts são salvos em tabelas

HTML e são compostos por asserções e pontos de verificação, que após execução definem se

o teste foi realizado com sucesso ou falhou.

Segue abaixo detalhamento das principais funcionalidades oferecidas pelo Selenium

IDE:

• Barra de Ferramentas

Apresenta as opções disponíveis para a execução do script.

Tabela 2 - Detalhamento das ações para execução de scripts no Selenium IDE

Botão Ação

Controla a velocidade em que o script será executado

Page 11: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Executa toda a suíte de testes selecionada

Executa somente o caso de teste que esteja selecionado

Pausa a execução do caso de teste selecionado

Botão Ação

Reinicia a execução do caso de teste selecionado

Inicia a gravação das ações do usuário.Quando selecionado, todos os cliques, palavras digitadas e páginas visitadas no Mozilla Firefox serão armazenados automaticamente pelo plugin, acrescentando as asserções e pontos de verificação pertinentes

• Casos de Teste

Apresenta uma lista com os casos de teste que fazem parte da suíte atual, mantendo

em destaque o que está selecionado ou em execução. Aqueles que já foram executados são

exibidos na cor do resultado: vermelho para os que falharam e verde para os executados com

sucesso.

Figura 8. Selenium IDE - Visualização de casos de teste

Fonte: Elaborada pelo autor (2015)

Page 12: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

• Resultado de Execução

Apresenta o resultado da execução dos casos de teste da suíte atual, exibindo a

quantidade de testes que falharam e a quantidade de testes que passaram. A barra de progresso

só exibida na cor verde quando todas as execuções são com sucesso, se ao menos uma falhar,

a barra será exibida na cor vermelha.

Figura 9. Selenium IDE - Visualização de resultado de execução

Fonte: Elaborada pelo autor (2015)

• Administração dos Scripts

Apresenta o script de execução do caso de teste que está selecionado, mostrando as

asserções e pontos de verificação definidos pelo usuário.

Figura 10. Selenium IDE - Visualização de script de caso de teste

Fonte: Elaborada pelo autor (2015)

6. GERENCIAMENTO DE DEFEITOS

Assim como há necessidade de gerenciar os testes realizados, também existe a

necessidade de gerenciar os bugs(defeitos) que foram encontrados durante a execução dos

mesmos. Essa tarefa pode ser realizada de forma totalmente manual, através de planilhas e/ou

Page 13: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

documentos de texto, ou de forma mais automatizada, utilizando uma ferramenta específica

para essa função.

A ferramenta responsável pelo gerenciamento de defeitos é chamada de BugTracker,

que assim como as de gerenciamento de testes, também está disponível em diversas opções,

sendo elas gratuitas e pagas.Segue abaixo uma tabela com as principais disponíveis no

mercado atualmente:

Tabela 3 - Principais ferramentas de gerenciamento de bugs/defeitos

Ferramentas Gratuitas Ferramentas Pagas

Mantis Jira

Bugzilla Zephyr

Apesar de existirem diversas ferramentas disponíveis para gerenciamento de bugs, o

fluxo seguido pela maior parte delas é muito semelhante. Segue abaixo seu detalhamento:

Figura 11. Ciclo de vida de um defeito

Fonte: Elaborada pelo autor (2015)

Tabela 4 - Descrição do ciclo de vida de um defeito

Etapa Descrição Abertura do chamado

O chamado é aberto na ferramenta de gerenciamento pela Equipe de Qualidade, após identificarem defeito durante os testes de determinada funcionalidade.

Correção do defeito

Após tomar conhecimento do defeito através da ferramenta de gerenciamento, o chamado é resolvido pela Equipe de Desenvolvimento de acordo com sua prioridade no projeto, e liberado para a Equipe de Qualidade retestá-lo.

Page 14: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Reteste do chamado

Depois de visualizar na ferramenta de gerenciamento que a correção do defeito foi feita, a Equipe de Qualidade realiza validação do cenário descrito no chamado. OBS.: Após essa etapa podem ocorrer dois resultados: persistência do defeito ou resolução do mesmo. Caso o erro persista, o chamado retorna para a Equipe de Desenvolvimento.

Encerramento do chamado

Após validação por parte da Equipe de Qualidade que o defeito relatado não ocorre mais, o chamado pode ser encerrado por quem realizou os testes.

6.1. GERENCIAMENTO DE DEFEITOS - FERRAMENTA SOURCEFORGE

BUGTRACKER

A ferramenta escolhida para gerenciar os bugs encontrados durante a execução dos

testes do sistema foi o BugTracker do SourceForge, que é o local em que fica armazenada

toda a documentação e códigos do Coruja, por isso seu gerenciador de bugs foi escolhido para

que todo conteúdo relacionado ao projeto estivesse centralizado em um único local.

Para abertura dos chamados, foi criado um padrão para facilitar o entendimento do

erro encontrado por parte do desenvolvedor. Segue abaixo a estrutura que está presente em

praticamente todos os relatos:

1. Título: traz um breve resumo do erro encontrado;

2. Descrição: descreve de forma detalhada o erro encontrado, inclusive com passo

a passo para reprodução do mesmo;

3. Evidência: print da tela no momento em que o erro ocorreu.

Page 15: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Figura 12. Chamado aberto no SourceForgeBugtracker

Fonte: Elaborada pelo autor (2015)

Figura 13. Print de Tela de Erro

Fonte: Elaborada pelo autor (2015)

6.2. Relatório de Bugs Encontrados

Tabela 5 - Lista de bugs encontrados durante os testes

Título Descrição Data Data Fase

Page 16: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Abertura Fechamento

12

Título da página ao

alterar tipo de curso

Ao clicar na opção de alterar um tipo de curso, a barra localizada acima do campo descrição, que

define a ação que será realizada, está sendo

exibida como "Alterar Espaço". O correto seria exibir "Alterar Tipo de

Curso".

22/03/2014 23/08/2014 Manual

13

Mensagem de erro ao

selecionar curso sem período vigente

Ao selecionar um curso que não tenha vigência atual cadastrada na tela

"Administrar Matrículas", é exibida a

página de erro fatal, informando que houve

erro ao identificar o último período letivo do curso. Sugiro que nesse caso seja exibida uma

mensagem mais amigável ao usuário.

25/03/2014 16/08/2014 Manual

14

Nome incorreto na dropdownlist

A dropdownlist de seleção de tipo de curso nas telas de inclusão e

alteração de curso, exibe o valor "Selecione a sigla do curso". O correto seria exibir o valor: Selecione

o tipo de curso.

25/03/2014 16/08/2014 Manual

15

Título página listar cursos

Ao acessar a página que contém a lista de cursos cadastrados, o título da mesma é exibido como

'Listar de Cursos', o correto seria 'Listar Cursos', seguindo o

padrão das demais telas.

25/03/2014 16/08/2014 Manual

Page 17: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Título Descrição Data

Abertura Data

Fechamento Fase

16

Título página de inclusão

de curso

Ao acessar a página de cadastro de curso, o título

da mesma é exibido como 'Incluir Tipo de Curso', o correto seria

'Incluir Curso', uma vez que inclusão de tipo de

curso é outra funcionalidade do

sistema.

25/03/2014 16/08/2014 Manual

17

Registros somem após mensagem de

erro ao excluir curso

Após ser exibida mensagem de erro ao

excluir curso, o sistema não lista mais os cursos existentes, só aparece o nome das colunas e o

botão "Incluir".

26/03/2014 23/08/2014 Manual

18

Registros somem após mensagem de

erro ao alterar espaço

Após ser exibida mensagem de erro ao

alterar espaço, o sistema não lista mais os espaços existentes, só aparece o nome das colunas e o

botão "Incluir".

26/03/2014 23/08/2014 Manual

19

Registros somem após mensagem de

erro ao incluir ou

alterar tipo de curso

Após ser exibida mensagem de erro ao

incluir ou alterar tipo de curso, o sistema não lista

mais os tipos de curso existentes, só aparece o nome das colunas e o

botão "Incluir".

27/03/2014 23/08/2014 Manual

20

Nome de campo

incorreto na mensagem de obrigatorieda

de

A mensagem informativa de obrigatoriedade do campo "Descrição" na

tela de cadastro ou alteração de tipo de curso

é exibida da seguinte maneira: "Campo Tipo de curso é obrigatório.". Porém o nome do campo não é esse, o correto seria

27/03/2014 23/08/2014 Manual

Page 18: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

exibir a mensagem "Campo Descrição é

obrigatório.".

Título Descrição Data

Abertura Data

Fechamento Fase

21

Lista para seleção não é

exibida

Ao acessar o menu "Turma > Manter Alunos

Que Cursam Uma Turma" é exibida a

página 'Listar Turmas', porém a dropdownlist do

campo 'Turno' não é mostrada, apenas o

código " inputSelectEnum('turno','

Turma','turno',''); ?>".

05/04/2014 21/06/2014 Manual

23 Erro ao criar

turma

Ao tentar criar uma nova turma para um curso e

período cadastrados por mim, é exibida página de

erro do vertrigo com a seguinte mensagem: " Fatal error: Callto a

memberfunctionobterComponentesCurriculares()

on a non-object in C:\Program Files

(x86)\VertrigoServ\www\coruja\nort\controle\cria

rTurma_controle.php online 54".

13/04/2014 01/09/2014 Manual

26

Duplicidade de turma na

mesma grade e turno

O sistema está permitindo que uma

mesma disciplina seja cadastrada mais de uma vez no mesmo turno e

grade de horário.

27/04/2014 30/08/2014 Manual

27

Grade de horário não exibida ao criar turma

Ao tenta criar uma nova turma em um curso criado por mim, ao

selecionar a disciplina e a grade de horário, a grade

12/05/2014 21/06/2014 Manual

Page 19: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

exibida na parte inferior para alocação dos tempos

nã era exibida, impossibilitando a criação da turma.

Título Descrição Data

Abertura Data

Fechamento Fase

28

Lista de Disciplinas

não Ofertadas

Ao escolher um curso para criação de turma e selecionar um turno, é exibida uma lista de disciplinas ainda não ofertadas para aquele

grupo. Porém nessa lista, estão sendo exibidas todas as disciplinas

cadastradas no sistema, enquanto que o correto

seria mostrar somente as disciplinas não ofertadas

do curso selecionado.

17/05/2014 21/06/2014 Manual

31

Erro ao manter

alunos que cursam uma

turma

Ao acessar a página "Lista de Turmas

Liberadas ou Confirmadas para o Período Letivo" e

selecionar a turma que desejo editar, a página seguinte não é exibida

corretamente, pois várias partes de código são

visíveis.

25/05/2014 21/06/2014 Manual

35

Alunos Exibidos

Triplicados ao Ver

Histórico

Ao clicar para ver histórico de matrícula, na

tela Administrar Matrícula, alunos que tinham acabado de ser

05/07/2014 06/09/2014 Manual

Page 20: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

cadastrados no curso TSW foram exibidos 3

vezes na lista.

36

Crítica de Quantidade de Alunos Exibida

Somente uma Vez

Quando o limite de alunos inscritos em uma turma foi atingido, 9 no

meu caso, ao tentar inscrever o décimo aluno na turma o sistema exibiu

mensagem informando sobre a quantidade de

vagas, mas foi possível prosseguir com a

inscrição. Só que ao tentar inserir o 11º aluno, nenhuma mensagem de

crítica foi exibida.

05/07/2014 08/09/2014 Manual

Título Descrição Data

Abertura Data

Fechamento Fase

38

Erro ao Cadastrar Evento

Administrativo

O sistema não está permitindo que seja

cadastrado um evento administrativo no curso

criado por mim, pois quando tento criar um

evento sempre é exibida mensagem de data

digitada fora do período. Porém isso não está

correto, conforme pode ser verificado na imagem

em anexo.

06/07/2014 14/07/2014 Manual

40

Erro SQL ao alterar

situação de turma

Ao tentar alterar a situação de uma turma de liberada para confirmada,

o sistema exibiu o seguinte erro de Sql: "Erro MySql: 1062 -

Duplicateentry 'A turma nao pode ser confirmada devido a pendencias.' for

key 'MessageIndex'". Através as seguintes

consultas: select * from

19/07/2014 22/07/2014 Manual

Page 21: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Turma wheresiglaCurso='TSW'

e select * fromInscricaowhereidTur

ma=122, foi possível constatar que não era

possível alterar a situação da turma porque um

aluno estava com situação = EXC.

43

Eventos Disponíveis na Lista para

Seleção

Ao clicar na opção de editar um evento

administrativo, a lista para seleção do Tipo de Evento não exibe mais a

opção 'Fim de Trancamento de

Matrícula'.

03/08/2014 06/09/2014 Automática

46

Erro

cadastrar turma

Não está sendo possível cadastrar turmas, pois a grade de horários não é mais exibida na tela de

cadastro.

08/09/2014 08/09/2014 Automática

7. CONCLUSÃO

O principal objetivo deste trabalho era apresentar a automação de testes como um

dos meios de aumentar a qualidade e cobertura dos testes aplicados a um software. Isso foi

realizado através de pesquisas e aplicando o conhecimento obtido na implementação de testes

automatizados no sistema Coruja.

Ao contrário do que imaginava, a fase que teve maior duração não foi a de criação e

execução dos scripts de teste automatizado, mas sim a de levantamento dos cenários que

deveriam ser implementados e planejamento da execução. Isso se deve à dificuldade em

encontrar os testes que tenham maior prioridade e relevância em relação ao negócio a ponto

de precisarem ser automatizados, e também na análise dos documentos que servem de base

para elaboração dos casos de teste. Por isso, ao chegar à fase de criação dos scripts, uma vez

que todo o planejamento já estava feito, só foi necessário obter o conhecimento necessário

para utilizar a ferramenta de automação.

Page 22: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Ao longo do processo de automação foi possível observar um ponto importante: a

maior parte dos erros relatados ao longo do projeto (19 de um total de 21) foram encontrados

durante execução manual e não automática. Isso aconteceu na fase de criação dos scripts

porque ao automatizar utilizando a ferramenta escolhida, é preciso executar os testes

manualmente para que então os scripts correspondentes sejam gravados. Portanto, no

momento de executar os scripts gerados, a maior parte dos erros já estavam solucionados.

Com o estudo de caso foi possível visualizar a onerosidade da adoção da

automação de testes, pois as etapas percorridas, como escolha da ferramenta a ser utilizada e

cenários que deveriam fazer parte do roteiro, bem como toda a fase de planejamento,

demandavam bastante tempo de análise e comparações. Porém é importante ressaltar que todo

esforço aplicado teve o retorno esperado, já que o tempo que seria gasto com a preparação de

massa de teste e execução dos mesmos foi substituído pelos scripts que já estavam preparados

de antemão. Com isso, podemos confirmar que implementar automação de testes é um projeto

que apresenta resultados em longo prazo, mas que vale a pena o investimento, uma vez que o

objeto resultante desse esforço será útil por um longo período de tempo e agregará valor ao

trabalho de toda equipe envolvida.

7.1. TRABALHOS FUTUROS

Como trabalho futuro, sugere-se que seja implementado o processo de integração

contínua, que consiste em executar testes automatizados a cada alteração no código, a cada

commit no repositório. Dessa forma, a etapa de testes seria totalmente independente da ação

humana para ser executada, pois as funcionalidades a serem testadas estariam sendo

constantemente monitoradas através da nova técnica.

Page 23: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

8. REFERÊNCIAS BIBLIOGRÁFICAS

Coruja: http://marcio.belo.nom.br/coruja/

Testlink: http://sourceforge.net/projects/testlink/

Selenium: http://www.seleniumhq.org/download/

SourceForgeBugtracker: https://sourceforge.net/p/coruja/bugs/

Bartié, Alexandre. Garantia da Qualidade de Software. 9. ed. Rio de Janeiro: Campus, 2002.

Molinari, Leonardo. Inovação e Automação de Testes de Software. São Paulo: Érica, 2015.

Rios, Emerson Moreira, Trayahú. Teste de Software. 3. ed. Rio de Janeiro: Alta Books,

2013.

Pressman, Roger. Engenharia de Software. 7. ed. Porto Alegre: AMG, 2011.

Trindade, Rafaella. Gestão de defeito: Descreva! - Parte I. TI Especialistas. Disponível em:

<http://www.tiespecialistas.com.br/2014/01/gestao-de-defeito-descreva/>.

Acesso em: 07 de abril de 2015.

Janssen, Cory. What is Bug Tracking? - Definition from Techopedia. Techopedia.com.

Disponível em: <http://www.techopedia.com/definition/25910/bug-tracking>.

Acesso em: 23 de fevereiro de 2015.

Nogueira, Elias. Blog > Introdução ao Selenium. Qualister.com.br. Disponível em:

<http://www.qualister.com.br/blog/introducao-ao-selenium>.

Acesso em: 21 de fevereiro 2015.

Page 24: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Nogueira, Elias. Blog > Introdução ao Selenium IDE. Qualister.com.br. Disponível em:

<http://www.qualister.com.br/blog/introducao-ao-selenium-ide>.

Acesso em: 21 de fevereiro de 2015.

Passos, Rodrigo. Conceitos e fundamentos sobre testes de software e garantia da qualidade.

Disponível em: <http://pt.slideshare.net/rzauza/conceitos-e-fundamentos-sobre-testes-de-

software-e-garantia-da-qualidade>.

Acesso em: 22 de fevereiro de 2015.

Ottoni de Miranda Junior, Pasteur. Testes de Caixa Branca e Caixa Preta. Disponível em:

<http://www.tesestec.com.br/pasteurjr/TCPB.pdf>.

Acesso em: 24 de setembro de 2014.

Xavier, Wagner. Faça inspeções de software e reduza o retrabalho. CIO. Disponível em:

<http://cio.com.br/opiniao/2012/09/10/faca-inspecoes-de-software-e-reduza-o-retrabalho/>.

Acesso em: 22 de agosto de 2014.

Matos, Humberto Pagliares, Rodrigo.Selenium. Testes de aceitação com Selenium IDE e

SeleniumWebdriver. Disponível em:

<https://docs.google.com/presentation/d/1g8IMyAScAjsJ_y-

WgmbvipXU7eZ22juLUzUlWpj4YV0/edit#slide=id.g12acdc4db_00>.

Acesso em: 16 de agosto de 2014.

Freire, Alantiel. Utilizando a Selenium IDE. Imasters.com.br. Disponível em:

<http://imasters.com.br/artigo/13317/desenvolvimento/utilizando-a-selenium-ide/>. Acesso

em: 04 de maio de 2014.

Page 25: Artigo Angラlica Rodrigues da Silva 2 · automação de testes e aplicando automação de testes ao Sistema Coruja. O trabalho, realizado sob orientação do Prof. Me. Marcio Belo

RevISTa – 7ª Edição – 2016 - ISSN 2178-5589 http://revista.faeterj-rio.edu.br/ojs/index.php/revISTa

Freire, Alantiel. Criação de teste do zero com a Selenium IDE. Imasters.com.br. Disponível

em: <http://imasters.com.br/artigo/13416/desenvolvimento/criacao-de-teste-do-zero-com-a-

selenium-ide>.

Acesso em: 03 de maio de 2014.

Ribeiro, Camilo. Um Modelo para Elaboração de Cenários e Casos de Teste. The Bug Bang

Theory.Disponívelem: <http://www.bugbang.com.br/um-modelo-para-elaboracao-de-

cenarios-e-casos-de-teste/>.

Acesso em: 05 de abril de 2014.