Um Sistema Web para apoio ao Gerenciamento de atividades de Teste de Software em Pequenas Empresas



Documentos relacionados
GARANTIA DA QUALIDADE DE SOFTWARE

Metodologia para Planejamento, Execução e Controle de Teste de Software. Roteiro

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

GERÊNCIA DE INTEGRAÇÃO DO PROJETO

Plano de Gerenciamento do Projeto

Cláudia Araújo Coordenadora Diego Macêdo Programador Marcelo Rodrigues Suporte

Metodologia de Gerenciamento de Projetos da Justiça Federal

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

Engenharia de Software

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

TRIBUNAL REGIONAL FEDERAL DA 2ª REGIÃO Secretaria de Tecnologia da Informação

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

PROJETO DE FÁBRICA DE SOFTWARE

Ciência da Computação ENGENHARIA DE SOFTWARE. Recursos e Cronograma

PRINCÍPIOS DE SISTEMAS DE INFORMAÇÃO MÓDULO 17

Fundamentos de Teste de Software

Introdução a Computação

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Universidade Paulista

A Disciplina Gerência de Projetos

Proposta de um método para auditoria de projetos de desenvolvimento de software iterativo e incremental

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Manual Geral do OASIS

Gerenciamento de Incidentes

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Abordagem de Processo: conceitos e diretrizes para sua implementação

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

1. Introdução e Objetivos 2. Fundamentação teórica 3. Desenvolvimento e Especificações do sistema

Políticas de Qualidade em TI

PMONow! Serviço de Implantação de um Escritório de Projetos

Mapeamento de Processos

Gerenciamento de Projeto: Planejando os Recursos. Prof. Msc Ricardo Britto DIE-UFPI

MASTER IN PROJECT MANAGEMENT

QUALIDADE DE SOFTWARE AULA N.7

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

GOVERNO DO ESTADO DO PARÁ MINISTÉRIO PÚBLICO DE CONTAS DOS MUNICÍPIOS DO ESTADO DO PARÁ MPCM CONCURSO PÚBLICO N.º 01/2015

Análise de Pontos por Função

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Gerenciamento de Configuração de Software

Manual do sistema SMARsa Web

Introdução ao MPS.BR Guia Geral. Prof. Elias Batista Ferreira

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

ENGENHARIA DE SOFTWARE I

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Gerenciamento de Projetos Modulo III Grupo de Processos

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Fundamentos de Teste de Software

Sistema de Controle de Solicitação de Desenvolvimento

Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

II. FASE DE PLANEJAMENTO define a maturidade do entendimento do escopo e, o desenvolvimento do Plano do Projeto PP.

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Sistemas de Informação I

Manual Básico do Usuário. Monitoramento de Iniciativas Estratégicas. Planejamento Estratégico - ANVISA

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

F.1 Gerenciamento da integração do projeto

Gerenciamento de Projetos Modulo III Grupo de Processos

Gerenciamento de Projetos

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

Visão Geral Parte 1. O que é engenharia de software?

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

PROFESSOR: CRISTIANO MARIOTTI

Processos de Desenvolvimento de Software

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Registro e Acompanhamento de Chamados

PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec

Implantação de um Processo de Medições de Software

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

Sistemas de Informação CEA460 - Gestão da Informação

VISÃO SISTÊMICA EM GERENCIAMENTO DE PROJETOS PARA WEB

Emissão de Nota Fiscal de Serviço Eletrônica

Verificação é um processo para se determinar se os produtos, (executáveis ou

PLANOS DE CONTINGÊNCIAS

SGQ 22/10/2010. Sistema de Gestão da Qualidade. Gestão da Qualidade Qualquer atividade coordenada para dirigir e controlar uma organização para:

Implementação utilizando as melhores práticas em Gestão de Projetos

Requisitos de Software

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

Clique no botão para iniciar o treinamento TAREFAS CONTRAT OS RELACIO NAMENT CONFIGURAÇÕES. A ideia é usar os próprios ícones do CGW.

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

ISO/IEC 12207: Gerência de Configuração

Projeto 2.47 QUALIDADE DE SOFTWARE WEB

Ciência da Computação ENGENHARIA DE SOFTWARE. Planejamento e Gerenciamento

Transcrição:

Um Sistema Web para apoio ao Gerenciamento de atividades de Teste de Software em Pequenas Empresas Luciano Gomes Helvinger, Rodrigo Prestes Machado Curso de Análise e Desenvolvimento de Sistemas Faculdade de Tecnologia Senac RS (FATEC/RS) Porto Alegre RS Brasil lumigh@pop.com.br, rodrigo@prestesmachado.com.br Abstract. Software Testing is one of the more expensive activities of the software development process. It involves a lot of resources and risks. In small companies, the main issues regarding software testing are related to the lack and limitation of management and control activities. Therefore, this work presents a supporting system to software testing management in small companies, developed from requirements identified in the technical literature concerned with software testing. This system enable the control of software testing cycle following a sequence of stages assigned to users involved in the process. Resumo. Teste de Software é uma das atividades mais custosas do processo de desenvolvimento e envolve muitos recursos e riscos. Em pequenas organizações, os principais problemas associados aos testes estão relacionados a limitações nas atividades de gerenciamento e controle. Desta forma, este trabalho apresenta um sistema de apoio ao gerenciamento do processo de teste em pequenas empresas, desenvolvido a partir de requisitos identificados na literatura técnica da área de teste de software. O sistema possibilita o controle do ciclo de teste seguindo uma seqüência de etapas designadas aos usuários envolvidos no processo. 1. Introdução Dentro do processo de desenvolvimento de software existem ciclos de testes. O ciclo de teste é caracterizado por atividades que visam garantir a qualidade do produto final. A busca pelo aumento da qualidade ressalta a importância dos testes no desenvolvimento de software. Porém, teste de software não é uma atividade trivial, exige conhecimentos, procedimentos e infra-estrutura específicos. Sommerville (2004) destaca que os testes constituem uma fase trabalhosa do processo de desenvolvimento. Teste de software é considerada uma das atividades mais custosas do desenvolvimento e por isso necessita de controle e gerenciamento eficientes a fim de evitar problemas como perdas de recursos e atrasos no cronograma (JURISTO et. al., 2004). Segundo o Ministério da Ciência e Tecnologia, cerca de 60% das empresas de desenvolvimento de software no Brasil é enquadrada na classificação de micro e pequena empresa (MCT, 2005). Na busca pelo aumento de sua competitividade no mercado interno e externo, estas organizações precisam empregar um esforço substancial na melhoria da qualidade de seus produtos. Entretanto, nas pequenas empresas desenvolvedoras de software, que dispõem de pessoal e recursos limitados, as

atividades de teste de software são freqüentemente reduzidas ou eliminadas em função de dificuldades e atrasos corridos nos projetos (SARTORI, 2005). Desta forma, as dificuldades nos processos e atividades de teste impactam diretamente na qualidade final do software desenvolvido. De acordo com Mats (2001), os principais problemas envolvidos em um processo de teste de software são: falta de tempo e de recursos; deficiência na rastreabilidade de casos de teste e/ou registros de testes realizados; incerteza sobre o que está sendo testado devido à falta de informações específicas organizadas para cada teste; ausência de critério para o planejamento dos testes, definição de prazos, papéis e responsabilidades. Weber et. al. (2001) acrescentam a indisponibilidade de ferramentas adequadas para a gestão das atividades de teste como um dos principais problemas enfrentados pelas equipes de teste de software. Em geral, os problemas citados estão diretamente relacionados à limitação ou ausência de controle e gerenciamento das atividades de teste e pela não utilização de ferramentas de apoio adequadas. Dias Neto et. al. (2006) destacam a deficiência e limitações das organizações de software em relação à aplicação de práticas exclusivas de apoio ao gerenciamento e controle das atividades de teste. O controle de um processo complexo como o de teste de software, que envolve várias atividades e tarefas com grande quantidade de informações, pode tornar-se mais ágil e eficiente com a utilização de uma ferramenta de apoio automatizado. Ferramentas de gestão de teste cobrem grande parte das atividades e são aplicáveis em todas as etapas do processo, auxiliando a geração e controle das informações (BASTOS et. al., 2006). Sartori (2005) destaca que nas pequenas organizações, a utilização de ferramentas de suporte ao ciclo de teste é de fundamental importância para a melhoria da produtividade e eficiência das tarefas a serem realizadas. No entanto, há carência de ferramentas específicas para o gerenciamento de informações e atividades de teste voltadas para pequenas empresas, que disponibilizam de recursos escassos e demandam atividades de teste menos complexas e adequadas ao seu ambiente (DIAS NETO et. al., 2006). Em geral, as ferramentas disponíveis no mercado são direcionadas para grandes empresas e têm custo elevado, dificultando sua adoção por empresas que tenham poucos recursos e possuam atividades de teste de software menos desenvolvidas. Segundo Sartori (2005), as pequenas empresas têm características peculiares e distintas das grandes: geralmente, desenvolvem softwares menores e menos complexos; não dispõem de muitos recursos financeiros; evitam ferramentas caras, sofisticadas e com procedimentos complexos; seus processos e métodos são únicos. Baseado nesta situação, este artigo aborda o desenvolvimento de um sistema para auxilio ao gerenciamento e controle das informações e atividades de teste de software em pequenas organizações. O objetivo do sistema é fornecer apoio automatizado para definição e acompanhamento das atividades, registro das informações de todas as etapas e controle do ciclo de teste, visando oferecer melhoria na produtividade e maior eficiência ao ciclo de teste. Para tanto, procurou-se definir um conjunto de requisitos e procedimentos que possam ser adaptados à realidade destas organizações e que atendam suas atividades de teste de software. Este artigo está organizado da seguinte forma: Na seção 2 são apresentados os trabalhos e sistemas relacionados. A seção 3 descreve a abordagem de gerenciamento e

controle das atividades de teste de software. Na seção 4 são apresentadas as atividades básicas de um ciclo de teste. A seção 5 apresenta a estrutura e o funcionamento do sistema proposto. Por fim, a seção 6 apresenta as considerações finais deste trabalho e a seção 7 descreve as referências utilizadas. 2. Trabalhos Relacionados Com o aumento das necessidades de se gerenciar testes, algumas empresas desenvolveram ferramentas para atender este mercado. As opções comerciais possuem funcionalidades semelhantes entre si e em geral encontra-se no mercado a utilização conjunta de ferramentas comerciais e livres. Algumas ferramentas relacionadas ao gerenciamento e controle de testes de software puderam ser identificadas e são apresentadas a seguir: TestLink (TESTLINK, 2008): Ferramenta Open Source cujo principal objetivo é gerenciar a criação de Planos e Casos de Teste, possibilitando o controle dos testes planejados em relação aos testes executados. Permite associar um conjunto de Casos de Teste a um testador e acompanhar os resultados da execução dos testes. Oferece um recurso que possibilita registrar e organizar os requisitos do projeto, assim como, associar os Casos de Teste aos requisitos. Entretanto, esta ferramenta não abrange completamente o processo de teste e nem a gestão de erros. Rational TestManager (TESTMANAGER, 2008): Produzida e comercializada pela IBM Rational, é a base das ferramentas de Teste da Rational. É um sistema para o gerenciamento de todas as atividades de teste. Suporta as cinco etapas de teste definidas no Processo Unificado da Rational: Planejamento, Projeto, Implementação, Execução e Avaliação. Oferece suporte à especificação e criação dos Planos e Casos de Teste, permitindo sua implementação através de roteiros de teste manual ou scripts da ferramenta de automação. TestManager tem interface Web para execução de Casos de Teste manuais e armazena os logs de execução dos testes. Fornece indicação de mudanças em requisitos que estão relacionados aos Casos de Teste. Permite a integração com ferramentas de automação de testes de regressão, performance e controle de defeitos. HP Quality Center (QUALITY CENTER, 2008): Ferramenta comercial fabricada pela Hewlett-Packard para gerenciamento de testes. Sua utilização é baseada na Web e suas funcionalidades são disponibilizadas através de quatro seções: gerenciamento de requisitos, gerenciamento de Casos de Teste, execução dos testes e gerenciamento de defeitos. Possibilita, através de requisitos cadastrados, identificar quais os testes relacionados. Armazena os procedimentos do teste e controla o versionamento dos mesmos, controla o estado atual dos testes e permite a gravação da execução comparando os resultados esperados com os resultados obtidos. Inclui gerenciamento de defeitos encontrados durante a execução dos testes. Oferece suporte à testes automatizados através da integração com ferramentas de automação. 3. Gerenciamento e Controle das atividades de Teste de Software O gerenciamento das informações e das atividades é essencial no ciclo de teste de software. Um gerenciamento eficiente das atividades de teste oferece diversos benefícios para o processo, dentre eles podem ser citados: definição de papéis e

responsabilidades; objetivos e escopo explicitados; tarefas definidas; documentação de teste especificada; definições e monitoramento para o cumprimento dos objetivos e prazos (DIAS NETO et. al., 2006). O controle das atividades auxilia o monitoramento do progresso do ciclo de teste e o acesso às informações geradas durante o ciclo. Métricas podem ser usadas para avaliar o progresso em relação ao cronograma planejado e aos objetivos definidos. Este controle possibilita o acompanhamento do processo, permitindo uma visibilidade sobre as atividades e com isso, a tomada de ações diante do resultado das informações e métricas obtidas. No gerenciamento do ciclo de teste, temos ainda as atividades de controle de defeitos. Por meio do controle de defeitos é possível acompanhar erros e correções, avaliando a qualidade do software com base nos defeitos cadastrados ao longo do processo. A gestão do ciclo de teste pode ser auxiliada com a utilização de ferramentas automatizadas. As ferramentas de teste são o apoio utilizado pelos profissionais da área, elas cobrem grande parte das atividades e são aplicáveis em todas as etapas do processo de teste, auxiliando a geração e controle das informações (BASTOS et. al., 2006). Estas ferramentas devem oferecer um repositório central onde os usuários possam inserir as informações específicas de cada teste, os gerentes ou líderes de testes poderão definir papéis e tarefas, acompanhar as etapas, o status dos processos e emitir relatórios estatísticos. A equipe de teste terá maior facilidade de organização, controle, acesso e acompanhamento das informações e atividades do processo. Com base nesta abordagem, observa-se que para um gerenciamento e controle eficiente das atividades de teste, devido à grande quantidade de informações e atividades que precisam ser gerenciadas, o uso de uma ferramenta de apoio é essencial. Nas pequenas organizações de desenvolvimento de software, a utilização de ferramentas adequadas para o auxílio ao gerenciamento do processo de teste também é de vital importância para o aumento da produtividade e da eficácia das tarefas realizadas (SARTORI, 2005). 4. Atividades do ciclo de Teste de Software O ciclo de teste é o conjunto de atividades que podem ser planejadas antecipadamente e realizadas de forma sistêmica (PRESSMAN, 2005). A definição de um ciclo de teste de software tem como objetivo especificar as tarefas, os responsáveis por cada tarefa definida, os critérios a serem adotados e os artefatos a serem produzidos e utilizados, permitindo a sistematização do processo (CRESPO et. al., 2004). As atividades de teste e demais informações apresentadas a seguir fundamentam-se na literatura de teste de software e em diversas fontes de conhecimento, como CMMI (2002) e TMMI (2008). Estas atividades serviram como base para a definição do sistema desenvolvido. 4.1. Papéis relacionados às atividades de Teste de Software Para as atividades de teste apresentadas neste artigo, foram considerados três papéis relacionados, são eles: Gerente/Coordenador de Teste: responsável pelo planejamento das atividades, gerenciamento e validação do ciclo de teste.

Analista de Teste: responsável pela análise e especificação dos testes, incluindo a elaboração do plano de teste, identificação e especificação dos casos de teste. Testador: responsável pela execução dos procedimentos de teste especificados, registrando as execuções, os resultados encontrados e os incidentes ocorridos. 4.2. Atividades Um ciclo de teste de software envolve todas as atividades relacionadas ao planejamento, execução e controle do processo (CRESPO et. al., 2004). Visando a abordagem de sistematização do gerenciamento das atividades de teste em pequenas empresas proposta neste trabalho, são apresentadas as atividades básicas do ciclo de teste no modelo de processo descrito em Bastos et. al. (2006) e Rios et. al. (2005), conforme demonstra a figura 1. Figura 1. Atividades do Ciclo de Teste Este ciclo de teste consiste das principais atividades organizadas nas seguintes etapas: Atividades iniciais/planejamento; Atividades de Especificação; Atividades de Execução; Atividades de entrega/encerramento. 4.2.1. Atividades Iniciais de Planejamento Esta etapa de atividades incide nos procedimentos iniciais do ciclo de teste e tem como objetivo avaliar os itens a serem testados, identificando níveis de dificuldade, riscos e diretrizes das definições do ciclo. Nesta etapa são realizadas as seguintes principais atividades: avaliação e definições sobre o item a ser testado; atribuição de papéis e responsabilidades no ciclo. 4.2.2. Atividades de Especificação A Especificação do teste é a etapa que consiste em verificar a missão do teste, definindo os seus objetivos e especificando os passos e atividades necessárias para alcançá-los. Nesta etapa é feita a análise dos requisitos, casos de uso e demais documentação proveniente da análise do sistema e/ou análise de negócio. Esta etapa do processo é composta por duas atividades principais: avaliação dos requisitos para teste;

especificação dos artefatos de teste utilizados no ciclo. As atividades dessa etapa produzem os documentos de Plano de Teste e Caso de Teste. 4.2.3. Atividades de Execução O objetivo desta etapa é a execução dos testes a partir do que foi estabelecido durante a etapa de especificação, seguindo sua ordem e seqüência planejadas. Na execução são registrados os passos executados, os resultados e os erros detectados. A etapa de execução é composta pelas seguintes atividades principais: execução dos testes; registros dos testes. Durante esta etapa é produzido o documento de Registro de Teste. 4.2.4. Atividades de Encerramento Na etapa de atividades de Encerramento a conclusão do ciclo de teste é analisada, validada e o ciclo é encerrado. Esta fase é composta de duas atividades principais: avaliação do ciclo de teste; validação e encerramento do ciclo. 5. Sistema de apoio ao gerenciamento de informações e atividades de teste. Esta seção descreve o sistema desenvolvido, apresentando sua estrutura e seu funcionamento. O sistema é uma aplicação Web, desenvolvida na plataforma de desenvolvimento PHP, utilizando o banco de dados MySQL. Seu funcionamento é baseado nas atividades básicas do ciclo de teste e no modelo de processo apresentado na seção 4 deste artigo. O propósito do sistema é fornecer apoio automatizado para o gerenciamento e controle do processo de teste de software. É importante ressaltar que a ferramenta não abrange a automação da execução dos testes e nem a construção dos artefatos, mas sim as questões relacionadas à definição, organização, controle e acompanhamento do processo. As execuções práticas das atividades do ciclo de teste são realizadas fora do sistema, de acordo com os padrões, processos e técnicas utilizadas por cada organização. 5.1 Descrição do Sistema Para aplicação da abordagem proposta neste projeto, definiram-se características e funcionalidades visando à organização das informações e das atividades de teste, com o objetivo de apoiar o seu controle e gerenciamento. Assim, o funcionamento do sistema é descrito a seguir. Para cada demanda a ser testada, é criado um ciclo de teste através de cadastramento no sistema. Este ciclo de teste é denominado Item de Teste e é identificado por um numero seqüencial atribuído na sua criação. O Item de Teste compreende quatro fases seqüenciais de atividades, baseadas no modelo de processo de teste apresentado na seção 4: Planejamento; Especificação; Execução; Encerramento. Para cada uma das fases de atividades é atribuído um usuário responsável que será o profissional alocado para atuar na fase, este usuário tem permissão para realizar registros somente na fase sob sua responsabilidade, mas pode acessar e visualizar todas as demais fases. Durante seu ciclo de vida, o Item de Teste recebe atribuições de status que indicam sua situação em relação ao fluxo das fases de atividades. O status do Item de Teste é atualizado de acordo com a evolução das atividades.

Ao acessar o sistema, o usuário é direcionado para a página inicial onde são listados os Itens de Teste que estejam na fase de atividades sob sua responsabilidade. A página inicial de acesso do usuário é denominada Caixa de Entrada e através dela é possível acessar os Itens de Teste listados. A cada avanço de fase de atividades, o Item de Teste passa a ser listado na Caixa de Entrada do usuário responsável pela nova fase. O sistema possui ainda um cadastro específico para registros de erros, visando o acompanhamento de defeitos encontrados em cada ciclo de teste. 5.2 Ciclo de vida do Item de Teste O Item de Teste é cadastrado por um usuário com perfil gerencial, este usuário pode ser um Gerente de Teste, Coordenador ou Líder de Teste. Na criação do Item de Teste, é definido e alocado o profissional que atuará na fase de Planejamento. A partir disso, a seqüência de fases de atividades tem início, somente a fase de Planejamento é habilitada e o Item de Teste passa a ser listado na Caixa de Entrada do usuário alocado para atuar na fase. Na fase de Planejamento são definidos os profissionais que atuarão nas demais fases. Com a conclusão da fase de Planejamento a próxima fase é habilitada, as fases seguintes serão habilitadas uma por vez, em seqüência, sempre após a conclusão da fase anterior, em cascata. Durante a seqüência de fases de atividades, o status do Item de Teste é atualizado identificando a situação atual do processo. A tabela 1 demonstra o fluxo das fases e as alterações de status durante o ciclo de teste. Fases de Atividades Planejamento Especificação Execução Encerramento Usuários Responsável pela fase de Planejamento Responsável pela fase de Especificação Responsável pela fase de Execução Responsável pela correção Responsável pela fase de Execução Responsável pela fase de Encerramento Tabela 1. Fluxo das Fases de Atividades e Status Ações dos Usuários no Sistema Acessa Item/fase de Planejamento Aceita fase de atividades Define/aloca profissionais para as demais fases Insere informações sobre planejamento do teste Conclui a fase de atividades Acessa Item/fase de Especificação Aceita fase de atividades Insere informações sobre especificação do teste Conclui a fase de atividades Acessa Item/fase de Execução Aceita fase de atividades Insere informações sobre a execução do teste Registra erro (se houver) Acessa Item/registro do erro Insere informações sobre correção do erro Registra correção do erro Acessa Item/registro do erro Valida a correção do erro Acessa fase de Execução Conclui a fase de atividades Acessa Item/fase de Encerramento Aceita fase de atividades Insere informações sobre encerramento do teste Conclui a fase de atividades Status do Item de Teste Pendente de Planejamento Em planejamento Pendente de Especificação Pendente de Especificação Em especificação Pendente de Execução Pendente de Execução Em execução Erro Erro Em execução Em execução Pendente de Encerramento Pendente de Encerramento Em encerramento Encerrado A cada mudança de fase, o Item de Teste passa a ser listado na Caixa de Entrada do usuário alocado na nova fase atual. Durante o fluxo das fases de atividades, o sistema controla e atualiza a fase atual e o profissional responsável pela fase atual. Também são registradas as datas de início, datas de conclusão e as observações ou considerações de

cada fase. Com isso o sistema armazena, organiza e disponibiliza os principais dados sobre o andamento do ciclo de teste, possibilitando acompanhar o status atual do ciclo, fase atual em que se encontra, quais profissionais atuaram ou atuarão nas fases de atividades, quando foi iniciada e quando foi concluída uma fase, além das informações específicas da demanda em teste. Esta estrutura permite o monitoramento e controle das atividades de forma mais ágil e organizada, conferindo maior eficiência na administração do processo de teste. Para a sistematização da estrutura descrita, foram implementadas as seguintes características: Organização e disponibilização das demandas em Caixas de Entrada: as demandas disponibilizadas aos usuários são listadas em suas respectivas Caixas de Entrada. A Caixa de Entrada exibe os Itens de Teste que estejam na fase atual onde o usuário esteja alocado. Através disso o usuário passa a controlar e acessar as demandas que foram direcionadas e estão disponíveis para ele. A figura 2 apresenta a interface de Caixa de Entrada. Figura 2. Tela da Caixa de Entrada Processo organizado e dividido em etapas: cada Item de Teste compreende quatro etapas seqüenciais em cascata. Para cada uma das etapas é alocado um usuário. Durante o fluxo das etapas, o Item de Teste atualizará seu status, fase atual e profissional responsável atual. A figura 3 demonstra a interface do Item de Teste com suas etapas.

Figura 3. Tela do Item de Teste Interface única para visualização e acompanhamento das informações do processo: o Item de Teste exibe as principais informações do processo referente à demanda em teste em uma mesma interface. Na tela do Item de Teste ainda é possível acessar e visualizar as informações das fases através de navegação em abas. 5.3 Gestão de Erros Um erro ou defeito pode ser caracterizado como uma diferença entre o resultado esperado e o resultado obtido na execução do teste do software. Os critérios de definição e identificação de um erro dependem dos conceitos e especificações utilizadas por cada empresa, conforme o software a ser testado. Os erros encontrados durante a execução do teste são cadastrados no sistema através da fase de Execução, em um cadastro específico. Cada erro cadastrado é identificado por um número seqüencial e é vinculado ao Item de Teste correspondente. O sistema implementa um ciclo de vida para cada erro, este ciclo tem início no momento em que o erro é registrado, onde recebe atribuição de situação como Aberto e termina quando o erro tem sua situação atribuída para Corrigido ou Cancelado. Ao ser registrado um erro, o Item de Teste passa a ser listado também na Caixa de Entrada do programador responsável pela implementação. Após realizar a correção, o programador registra no cadastro do erro as informações referentes à correção. Com a correção registrada, o testador confere e valida a correção no cadastro do erro. Enquanto houver algum registro de erro com situação Aberto, a fase de Execução não pode ser concluída. As operações principais oferecidas ao usuário são simples e diretamente ligadas às atividades de gestão e acompanhamento: o registro de um novo erro; sua triagem, correção, revisão e fechamento. Para suportar estas operações, a ferramenta apresenta algumas características, que incluem:

Interface de registro de erros: todo erro possui um conjunto completo de informações, incluindo descrição, situação atual, severidade e identificação dos usuários envolvidos. Na figura 4 é apresentada a interface de cadastro de erros. Figura 4. Tela de Cadastro de Erro O cadastro de erros, apresentado na figura 4, apresenta campos específicos para registros relacionados ao erro e campos destinados aos registros da correção. Registro de correções: a interface de cadastro de erro possui campos destinados ao usuário responsável pela correção para que sejam registradas as informações relativas à correção. A figura 5 demonstra a interface para acesso aos erros cadastrados para o Item. Figura 5. Tela de Listagem de Erros

Interface de consulta: ao ser registrado um erro, o Item de Teste passa a apresentar uma lista com os erros cadastrados para o Item e os registros dos erros são acessados através da listagem. 5.4 Comparação entre ferramentas Ao longo do desenvolvimento deste trabalho, algumas ferramentas relacionadas foram identificadas e descritas na seção 2 deste artigo. Embora sejam caracterizadas como ferramentas de gestão de testes, elas possuem propósitos e abordagens bem diferentes do sistema desenvolvido neste trabalho. O TestManager e o Quality Center são grandes aplicações comerciais, soluções completas totalmente direcionadas para grandes empresas e requerem uma forte adequação da organização (e suas atividades de teste) à metodologia inserida na ferramenta. Isso torna inadequada uma eventual comparação entre essas ferramentas e o sistema objeto deste trabalho. O TestLink é uma ferramenta gratuita, não abrange todo o processo de teste e não oferece suporte à gestão de erros, necessitando ser utilizada em conjunto com uma ferramenta de gerenciamento de erros. Este sistema apresenta maior possibilidade de utilização por empresas de pequeno porte e por esta razão foi comparado com a ferramenta desenvolvida neste trabalho. A comparação é apresentada na tabela 2. Tabela 3. Comparação entre as ferramentas Critério comparado TestLink Sistema Processo de teste dividido e organizado em etapas Não Sim Acompanhamento do ciclo de vida do processo de teste Não Sim Alocação de profissional responsável para cada etapa do processo Não Sim Configuração do fluxo do processo Não Não Cadastro e gestão de erros Não Sim Status de identificação do processo Sim Sim Organização e disponibilização das demandas em listagem específica Não Sim Registro de especificação dos requisitos Sim Não Criação dos Planos e Casos de Teste Sim Não Relacionamento entre os requisitos e os casos de testes Sim Não Registro da execução dos testes e armazenamento dos resultados Sim Não A tabela 2 demonstra o comparativo entre os sistemas, os critérios de comparação foram considerados conforme os aspectos relacionados com a abordagem deste trabalho e as características de cada ferramenta. 5.5 Avaliação e Validação preliminar do sistema O projeto foi desenvolvido visando atender as necessidades de pequenas organizações desenvolvedoras de software em relação ao gerenciamento e controle do processo de teste. Para avaliar o apoio provido pelo sistema, suas funcionalidades foram analisadas por profissionais da área de teste de empresas de desenvolvimento de software. O objetivo desta avaliação foi validar, com dados mais substanciais, a aplicação da ferramenta e verificar se a estratégia apresentada por esse trabalho apresenta benefícios. A validação preliminar ocorreu em ambiente real, em duas empresas de pequeno porte,

utilizando suas demandas e atividades de teste de software dentro de um período prédeterminado. A utilização e avaliação do sistema foram realizadas por nove usuários em três tipos distintos: Coordenadores de Teste, Analistas de Teste e Testadores. Após o período de utilização da ferramenta, os avaliadores foram convidados a comentar, sugerir e responder uma pesquisa a fim de coletar a percepção deles em relação aos benefícios trazidos pela sistematização do controle do processo de teste. As avaliações foram feitas pelos usuários, com base em suas observações durante o uso da ferramenta em suas atividades. A pesquisa aplicada utilizou níveis de 1 a 4 de acordo com os seguintes critérios em relação ao atendimento dos objetivos propostos e das expectativas dos usuários: 1 Não atende; 2 Atende parcialmente; 3 Atende; 4 Atende plenamente. A tabela 3 apresenta os itens avaliados na pesquisa e seus resultados, o campo Resultado corresponde ao nível que obteve maioria de escolhas e o campo Percentual indica o percentual de usuários que escolheram o resultado. Tabela 3. Pesquisa de Avaliação Critério avaliado Resultado Percentual Organização e acesso as informações específicas para cada demanda 3 78% Divisão e atribuição das tarefas 4 56% Alocação de profissional responsável para cada etapa do processo. 4 56% Utilização de modelo de processo para sistematizar e organizar as atividades 3 45% Adequação da ferramenta ao processo utilizado 3 56% Administração das tarefas pelo usuário 3 78% Monitoramento e acompanhamento do processo 3 89% Rastreabilidade das demandas em teste ou encerradas 2 45% Agilidade e eficiência na gestão das atividades 3 56% Registro de defeitos detectados durante a execução dos testes 4 78% Controle do ciclo de vida de defeitos 3 89% Facilidade na utilização do sistema 3 89% Interfaces de consultas e apresentação das informações 4 56% Melhoria ao gerenciamento do processo 3 78% O resultado da pesquisa apresentada na tabela 3 demonstra o alto nível de satisfação dos usuários em relação aos principais aspectos envolvidos no uso do sistema em suas atividades de teste. Além da pesquisa foram recebidos comentários, sugestões e impressões gerais sobre a ferramenta. A maioria dos usuários considerou a utilização do sistema como uma boa alternativa para a melhoria do processo de testes, impactando diretamente na produtividade e eficiência das suas atividades. Os relatos dos usuários demonstraram que o a gestão das suas atividades e de seus processos de testes foi bastante favorecida pelo uso da ferramenta, possibilitando seu acompanhamento e controle de forma automatizada e online. Entre os principais pontos fortes observados pelos avaliadores estavam: a utilização de um processo organizado em etapas; facilidade de identificação e controle das tarefas demandadas; registro e acompanhamento dos erros encontrados durante a execução dos testes. Como pontos a serem melhorados, foram identificados: a possibilidade de anexar os artefatos gerados ao Item de Teste; a disponibilização de geração de métricas e relatórios.

Assim, pelos resultados obtidos, o estudo de caso valida a proposta do sistema e demonstra que a sua aplicação oferece benefícios para a gestão e controle do processo de teste de software, cumprindo os objetivos abordados neste trabalho. 6. Considerações Finais e Trabalhos Futuros Neste artigo é apresentado o projeto de um sistema que apóia o gerenciamento de informações e atividades do processo de teste em pequenas empresas de desenvolvimento. O sistema auxilia na organização e no controle das atividades realizadas em um ciclo de teste e armazena o conjunto de informações geradas durante o ciclo. Como resultado, é possível monitorar de forma sistematizada, o progresso das atividades durante todo o processo, permitindo aos envolvidos organizar e acompanhar suas tarefas e informações. Desta forma, o projeto oferece uma alternativa de melhoria ao processo de teste de software em pequenas organizações, possibilitando maior eficiência na sua administração. Para trabalhos futuros, surgem possibilidades de novas funcionalidades que apoiarão as demais práticas relacionadas: possibilidade de anexar os artefatos gerados; implementação de medições de tempo de execução das atividades e controle de prazos, através de definições de tempos e prazos de início e término das atividades; disponibilização de geração de métricas e estatísticas; possibilidade de ajustar ou configurar a quantidade de etapas do processo, disponibilizando opção de retirar ou incluir fases, de acordo com a necessidade. Desta maneira, este trabalho apresenta uma opção de sistema para gestão de testes de software voltado para empresas pequenas. Sua implantação e utilização oferecerão melhores resultados em organizações que estejam familiarizadas com a utilização de um processo de teste, mas mesmo as demais organizações, que não estejam tão familiarizadas com estes procedimentos, poderão aplicá-la inicialmente para buscar aderência a um processo, aumentando a maturidade da área de teste e obtendo melhorias na administração das atividades.

7. Referências BASTOS, Anderson, et. al. Base de Conhecimento de Teste de Software. Niterói: Traço & Photo, 2006. CMMI Product Development Team. CMMI-SE/SW: Capability Maturity Model Integrated for Systems Engineering/Software Engineering. Pittsburgh: Software Engineering Institute, Carnegie Mellon University, 2002. CRESPO, A. N., et. al. Uma metodologia para teste de Software no Contexto da Melhoria de Processo. In: III Simpósio Brasileiro de Qualidade de Software (SBQS), 2004. Brasília. Anais. Brasília: DF, 2004. DIAS NETO, A. C., et. al. Caracterização do Estado da Prática das Atividades de Teste de em um Cenário de Desenvolvimento de Software Brasileiro. In: V Simpósio Brasileiro de Qualidade de Software (SBQS), 2006. Vila Velha. Anais. Vila Velha: ES, 2006. JURISTO, N., et. al. (2004). Reviewing 25 years of testing technique experiments. Empirical Software Engineering. Disponível em: http://www.springerlink.com/content/100262/. Acesso em junho de 2008. MATS, L. The top five software-testing problems and how to avoid them. EDN Europe, 2001. MCT. Ministério da Ciência e Tecnologia. Caracterização das organizações, 2005. Disponível em http://www.mct.gov.br/index.php/content/view/3253.htm. Acesso em maio de 2008. PRESSMAN, Roger S. Engenharia de Software. São Paulo: Makron Books, 2005. QUALITY CENTER. HP Quality Center: Automated software quality testing and management, version 1.5.1, 2008. Disponível em http://www.hp.com/country/us/en/solutions/leb.html/. Acesso em agosto de 2008. RIOS, Emerson, MOREIRA, T. Teste de Software. Rio de Janeiro: Alta Books, 2006. SARTORI, Lucia Emi Shiraisi. Melhoria do Processo de Teste para Pequenas Empresas. Marília: Dissertação de Mestrado. Departamento de Ciência da Computação, Centro Universitário Eurípides de Marília, Fundação de Ensino Eurípides Soares da Rocha., 2005. SOMMERVILLE, Ian. Engenharia de Software. 6. ed. São Paulo: Pearson Addison Wesley, 2004. TESTLINK. TestLink developers Community, version 1.8, 2008. Disponível em: http://www.teamst.org/. Acesso em agosto de 2008. TESTMANAGER. IBM Rational TestManager, version 7.0.1.2, 2008. Disponível em: http://www-01.ibm.com/software/awdtools/test/manager. Acesso em agosto de 2008. TMMI Foundation. Test Maturity Model Integration (TMMi), 2008. Disponível em http://www.tmmifoundation.org/downloads/resources. Acesso em abril de 2008. WEBER, Kival, et. al. Qualidade de Software: Teoria e Prática. São Paulo: Prentice Hall, 2001.