Considerando as ferramentas de gerenciamento de testes e ferramentas gratuitas de gerenciamento de defeitos mais utilizadas atualmente, fica claro que não existe uma solução integrada e com boa usabilidade (considerando as 10 heurísticas de Nielsen (1993)) para documentar, em uma mesma ferramenta, testes realizados e defeitos. que foram encontrados durante o teste de software. As ferramentas de gerenciamento de testes auxiliam a equipe de software no planejamento da estratégia de teste escolhida e no gerenciamento do processo de teste à medida que ele é executado.
PROBLEMA DE PESQUISA
Solução Proposta
Delimitação de Escopo
Justificativa
A hipótese trabalhada nesta pesquisa é: o gerenciamento dos testes a serem realizados e o gerenciamento dos defeitos encontrados integrados em uma única ferramenta com boa usabilidade podem aumentar a eficiência das empresas em termos do processo de testes e documentação. O relatório de quase setenta anos atrás mostra que o defeito está intimamente relacionado, presumivelmente, ao procedimento de teste que revelou o defeito, mas esta é uma informação essencial não documentada em muitos relatórios de defeitos contemporâneos (RILEY; GOUCHER, 2010).
OBJETIVOS
Objetivo Geral
E quanto mais complexo for o software, como um sistema distribuído ou em tempo real, maior será a probabilidade de o teste se tornar complexo. Para controlar a complexidade e dificuldade dos testes, utiliza-se documentação completa e cuidadosa do teste desenhado (PFLEEGER, 2004).
Objetivos Específicos
Portanto, as causas mais prováveis de erros em sistemas de computador há muito deixaram de ser insetos, mas o termo bug ainda é amplamente utilizado porque ainda ocorrem erros de software. Eles acreditam que com esse tipo de sistema as empresas podem aumentar a eficiência da documentação dos testes que são utilizados para o software.
METODOLOGIA
Metodologia da Pesquisa
Procedimentos Metodológicos
Análise e identificação das ferramentas gratuitas de teste e gerenciamento de bugs mais utilizadas: Nesta etapa foi realizada uma pesquisa para saber quais ferramentas gratuitas de teste e gerenciamento de bugs eram mais utilizadas. Testes de sistema e de aceitação: nesta fase foram realizados testes de sistema para validação das funcionalidades implementadas e posteriormente selecionados especialistas.
TESTE DE SOFTWARE
O Project Management Institute (2014) define o custo da qualidade como o custo total do trabalho de conformidade e do trabalho de não conformidade que deve ser executado como esforço compensatório porque na primeira tentativa de execução do trabalho existe a possibilidade de que uma peça seja necessária, o trabalho não é executado ou é executado incorretamente. Ou seja, o trabalho de conformidade ocorre enquanto o software ainda está em desenvolvimento e o trabalho de não conformidade ocorre quando são necessárias correções após o software ter sido liberado para o cliente.
DEFEITOS DE SOFTWARE
Afirma que defeitos de software podem ser introduzidos em um requisito, projeto, componente de código ou documentação a qualquer momento durante o desenvolvimento ou manutenção do sistema. Para Myers, Badgett e Sandler (2011), uma falha de software ocorre quando o software não faz o que o usuário final espera que ele faça.
DIMENSÕES DOS TESTES
Técnicas de Teste
O primeiro, às vezes chamado de Teste Estrutural, permite examinar a estrutura interna do software. Portanto, os testes são derivados através da análise lógica do código do software.
Níveis de Teste
Dados de teste e situações de teste são utilizados para tentar evitar a ocorrência de defeitos na fase de Teste de Aceitação. Perto do final do desenvolvimento de software, o nível de Teste de Aceitação visa comparar as necessidades iniciais do software com as necessidades atuais dos usuários finais.
Tipos de Teste
Teste de segurança: O teste de segurança é o processo de tentar criar casos de teste que subvertem os controles de segurança de software. Teste de compatibilidade: O objetivo do teste de compatibilidade é testar a compatibilidade do aplicativo com outros aplicativos ou sistemas.
PROCESSO DE TESTE
Nesta etapa são identificados os casos de teste a serem construídos ou modificados com base nos requisitos de software. Ou seja, determinar a percentagem de elementos requeridos por um critério de teste executado pelo conjunto de casos de teste.
USABILIDADE DE SOFTWARE
Na Figura 15, a única forma de acessar as abas é clicando com o mouse. Portanto, este é um exemplo de violação desta heurística. Este é um exemplo de violação desta heurística, pois o usuário não recebeu informações detalhadas sobre a causa do erro e como corrigi-lo.
CRITÉRIOS PARA SELECIONAR FERRAMENTAS
Este capítulo tem como objetivo apresentar as ferramentas de gerenciamento de testes e defeitos encontradas através de pesquisas na Internet realizadas no primeiro semestre de 2015. Serão explicados os critérios adotados para seleção e avaliação das ferramentas que servirão de base para conhecer os requisitos necessários. desenvolvimento do instrumento desejado por este trabalho.
SELEÇÃO DAS FERRAMENTAS
CRITÉRIOS PARA AVALIAR AS FERRAMENTAS
De todas as ferramentas de gerenciamento de testes utilizadas na pesquisa, apenas o TestLink demonstrou pouco interesse. Isso mostrou que a segunda ferramenta mais popular foi o Testopia, um plugin que pode ser instalado no bug tracker do Bugzilla para adicionar recursos de gerenciamento de testes. Portanto, a ferramenta Testia Tarantula foi escolhida por ser específica para gerenciamento de testes e possuir funcionalidades semelhantes ao TestLink.
Portanto, as três ferramentas de gerenciamento de testes que serão avaliadas neste trabalho são Testlink, Testopia e Testia Tarantula.
AVALIAÇÃO DAS FERRAMENTAS
TestLink Test Management Tool
Cadastrar plano de testes: permite cadastrar planos de testes com os seguintes atributos: nome, descrição. Clonar plano de testes: permite cadastrar um novo plano de testes com base em outro já cadastrado. Anexar arquivo ao caso de teste: permite anexar arquivos aos casos de teste.
Pesquisar casos de teste: permite pesquisar usando qualquer um dos atributos do caso de teste como critério.
Testopia
Definir plano de testes ativo ou inativo: defina se o plano de testes está ativo ou inativo no sistema. Adicionar casos de teste ao plano de teste: permite adicionar casos de teste a um plano de teste. Executar casos de teste: permite ao usuário ver as etapas e os resultados esperados de cada caso de teste e registrar resultados aprovados, reprovados ou bloqueados.
Relatórios: permite visualizar e imprimir relatórios do plano de testes com tipos como: status geral do plano de testes, resultados após testes.
Testia Tarantula
Registrar solicitações: permite registrar solicitações com os seguintes atributos: nome, data, identificação, prioridade, data de modificação, tags, áreas de teste e descrição. Cadastrar plano de testes: permite cadastrar planos de testes com os seguintes atributos: nome, data, prioridade (baixa, normal, alta) e rótulos. Registrar casos de teste: permite registrar casos de teste com os seguintes atributos: título, data, prioridade, duração estimada, áreas de teste, duração média, tags, alvo, dados de teste, pré-requisitos, comentário, etapas e resultados esperados.
Adicionar Casos de Teste para Execução: Permite associar casos de teste individualmente para um ou mais usuários executarem.
Mantis Bug Tracker
Definir relatório de bug como público ou privado: permite definir se a visibilidade do relatório será pública ou privada. Adicionar comentários a um relatório de bug: permite que os usuários adicionem comentários ao relatório de bug. Monitor de relatórios de bugs: permite ao usuário receber e-mails notificando sobre quaisquer alterações feitas no relatório.
Pesquisar relatórios de bugs registrados: permite que os relatórios sejam listados e filtros podem ser usados para pesquisar relatórios de bugs.
Bugzilla Bug-Tracking System
Cadastro de Relatório de Defeitos: permite ao usuário cadastrar relatórios de defeitos com os seguintes atributos: categoria do projeto, frequência, gravidade, prioridade, atribuição, resumo, descrição, etapas de reprodução, informações adicionais. Notificações por e-mail: permite que os usuários recebam notificações por e-mail sobre alterações no relatório. Workflow para resolução de um caso de defeito (Workflow): permite determinar o estado e a atribuição do defeito a um usuário para resolução.
Durante a edição, ao clicar no anexo para visualizá-lo (se for uma figura), o usuário é levado para outra página onde a figura é apresentada e não há botões ou links para retornar ao relatório de defeitos.
BugNET
Cadastrar subprojeto ou categorias e associar projeto defeituoso existente: permite cadastrar categorias e associar projeto defeituoso existente. Definir projetos defeituosos ativos ou inativos: permite definir se o projeto está ativo ou inativo. Definir projetos defeituosos privados ou públicos: permite definir a visibilidade do projeto como público ou privado. Suporte para integração do projeto padrão com Subversion: permite configurar a integração com um servidor de versão de código.
Registrar Relatório de Bug: permite ao usuário registrar relatórios de bug com os seguintes atributos: título, estado, usuário que criou, prioridade, marcos afetados, atribuídos a, categoria, data de vencimento, tipo de defeito, percentual concluído, marcos, estimativa, resolução, descrição .
LINGUAGENS DE PROGRAMAÇÃO
ANÁLISE DE REQUISITOS
Requisito: o sistema deve permitir que um Administrador defina a visibilidade de um plano de teste. Requisito: o sistema deve permitir que um Administrador registre um marco para o plano de teste. Requisito: o sistema deve permitir que um Administrador crie um relacionamento entre casos de teste.
Requisito: o sistema deve permitir que um Administrador registre comentários em um relatório de defeito.
MODELAGEM DO SISTEMA
Modelagem da Interface de Usuário
O sistema enviará automaticamente notificações por e-mail ao usuário sobre qualquer atualização no relatório de erros. Requisitos: O sistema deve permitir que um administrador crie um relacionamento entre relatórios de erros. Requisito: O sistema deve permitir que os usuários visualizem o histórico de atualização do relatório de bug.
Requisito: o sistema deve gerar relatórios sobre a execução de planos de testes, casos de testes e defeitos em um projeto.
Modelagem Entidade Relacionamento
IMPLEMENTAÇÃO
Se você deseja criar um caso de teste (isso requer permissão), existe um botão ‘Criar’ que leva o usuário ao formulário de registro do caso de teste. O testador que tiver acesso ao plano de teste verá os casos de teste atribuídos a ele. O testador preenche as informações sobre o defeito e continua na mesma tela de execução do caso de teste após o envio.
Além disso, você pode fornecer relatórios adicionais, como defeitos sem casos de teste associados.
AVALIAÇÃO DOS REQUISITOS FUNCIONAIS
AVALIAÇÃO DE USABILIDADE
Solicitação: o sistema deve permitir que um Administrador crie automaticamente um caso de teste com base em uma solicitação. Requisito: o sistema deve permitir que um Administrador crie um relacionamento entre um requisito e um caso de teste. Requisito: o sistema deve permitir que um Administrador habilite ou desabilite um marco para o plano de teste.
Requisito: O sistema deve permitir que um administrador exporte um caso de teste para um arquivo e importe de um arquivo. Requisito: O sistema deve permitir que um Testador visualize os casos de teste atribuídos a ele para execução. Requisito: O sistema deve permitir que um Testador defina um resultado para executar um caso de teste.
AVALIAÇÃO COM USUÁRIOS
Em seguida, os funcionários do TA (responsável pelos testes) registraram os casos de teste com base nos requisitos registrados, criaram planos de teste e executaram os casos. O associado GP esteve envolvido na decisão de etapas como a criação de planos de teste e monitoramento com relatórios. 5 (+) Vincular o caso de teste ao bug tornou muito fácil e rápido a execução e a verificação de inconsistências no teste.
Relativamente ao ponto 8, embora o utilizador o tenha classificado como negativo, pode ser considerado positivo do ponto de vista do processo de testagem.
TRABALHOS FUTUROS
O principal objetivo da proposta de integrar requisitos, gerenciamento de testes e gerenciamento de defeitos em uma ferramenta que ofereça boa usabilidade e seja gratuita é uma boa possibilidade de promover mais eficiência das empresas de desenvolvimento de software em termos de processo de teste e documentação. Uma pesquisa na Internet revelou cerca de cem ferramentas gratuitas, incluindo gerenciamento de testes e gerenciamento de bugs. Com requisitos essenciais já desenvolvidos, o Testicida foi avaliado por usuários que atuam na equipe de desenvolvimento de software.
Artigo Engenharia de Software – Does anyone know a good open source tool for test management and bug tracking.