artigo angラlica rodrigues da silva 2 · automação de testes e aplicando automação de testes...
TRANSCRIPT
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.
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.
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
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
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
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
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:
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
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.
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
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)
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
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.
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.
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
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
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
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
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
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
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.
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.
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.
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.
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.