Teste de Software: Implantação de metodologias

Este artigo apresenta uma série de processos de teste que podem ser implantados em organizações. O conteúdo apresentado faz parte de um estudo que foi realizado com objetivo de implantar uma metodologia de testes em uma empresa de desenvolvimento.

O processo de teste de software tem sido procurado por muitas empresas de desenvolvimento de software para que seus produtos atinjam níveis de qualidade desejáveis. Este artigo apresenta uma série de processos de teste (Ideal, CenpRA, 3Px3E) que podem ser implantados em organizações.

O conteúdo apresentado faz parte de um estudo que foi realizado com objetivo de implantar uma metodologia de testes em uma empresa de desenvolvimento de software e é útil para aqueles que tenham interesse na implantação de uma abordagem de testes em sua organização e tenham interesse em conhecer iniciativas similares que possam servir de ponto de partida para suas atividades.

A informação faz parte do dia a dia das pessoas. Para cada decisão a ser tomada, seja no trabalho, na escola ou na vida pessoal, temos uma série de informações a serem consultadas. Para o gerenciamento delas são utilizados os sistemas de informação. Estes são mecanismos de gestão que atuam como condutores das informações facilitando, agilizando e aperfeiçoando o processo decisório nas empresas.

A engenharia do software determina padrões de sistemas de informação, nela se encontram os princípios de qualidade dos sistemas.

Atualmente existem modelos de qualidade baseados na engenharia que ajudam as empresas a estabelecer e seguir padrões. Podemos citar como exemplos destes modelos o CMM - Capability Maturity Model, a ISO - International Organization for Standardization e o MPS.BR - Processo de Melhoria do Software Brasileiro. O objetivo principal dos modelos de qualidade é fazer com que toda a equipe esteja trabalhando no mesmo foco.

Além dos modelos, é importante que as organizações adotem o teste de software. Esta fase do processo da engenharia do software é importante, pois avalia se o produto atende aos requisitos especificados. É um método destrutivo, que é executado com o intuito de encontrar os erros e corrigi-los antes da versão final ser liberada ao cliente.

As metodologias de teste de software especificam padrões sobre como os mesmos devem ser executados, como criar a documentação necessária, enfim, projetar da melhor maneira o processo.

Diante das colocações, observa-se que as empresas, principalmente as de pequeno e médio porte, sentem dificuldade de associar metodologias de teste de software a seus processos de desenvolvimento. A dificuldade se dá muitas vezes pelos recursos financeiros e também de pessoal serem limitados.

A empresa AmSoft, desenvolvedora de sistemas de informação gerenciais, localizada na cidade de Pato Branco, está enfrentando este mesmo impasse. Sendo assim, foi proposto investigar as metodologias de teste de software mais utilizadas atualmente, selecionar entre elas a que se destaca, usando critérios de seleção estabelecidos pela empresa AmSoft, na qual será realizado o estudo de caso. Em seguida, implantar a metodologia selecionada descrevendo e analisando os resultados obtidos, podendo assim, justificar a importância de sua utilização.

Muitas Softhouses, classificadas como micro, pequenas e médias empresas, estão sentindo a necessidade de melhoria em seus processos internos. Como alternativa estão recorrendo a metodologias, entre elas de teste de software. Assim, têm surgido entre as mesmas o seguinte questionamento: uma metodologia de teste de software pode auxiliar na organização dos processos internos da empresa, fazendo com que isso reflita em qualidade no produto, satisfação por parte dos clientes e destaque no mercado competitivo, o que justificaria a importância de sua utilização?

A empresa AmSoft, foco principal do estudo de caso a ser apresentado, enfrenta este mesmo impasse. Diante disso, observou-se a necessidade de aplicação de uma metodologia de testes que seja adaptável a esse nicho de mercado.

A utilização desse tipo de metodologia pode evitar muitos problemas tais como: a redução de custos com retrabalho, manutenção, leva a minimizar erros entregues com a versão final ao cliente, o que reflete em um aumento do nível de confiança por parte dos mesmos. Com mais tempo disponível, a equipe pode investir em melhorias e novos planejamentos.

A análise também pode servir de referência para outras empresas que se encontram na mesma situação e precisam efetuar melhorias nesse aspecto. Possibilita também um conhecimento mais detalhado sobre qualidade, testes e metodologias de teste de software.

Informação

Dentro do conceito de sistemas de informação, informação é o resultado do processamento dos dados de entrada. Na Figura 1 está representado o processo de transformação dos dados em informação. Estes são coletados, passam pela fase de processamento ou transformação e em seguida são devolvidos sendo tratados já como informação.

Figura 1. Transformação de dados em informação

A informação é o dado que foi processado e armazenado de forma compreensível para seu receptor e que apresenta valor real percebido para suas decisões correntes ou prospectivas.

Os dados podem ser definidos como sucessões de fatos brutos, que não foram organizados, processados, relacionados, avaliados ou interpretados, representando apenas partes isoladas de eventos, situações ou ocorrências. Constituem as unidades básicas a partir das quais informações poderão ser elaboradas ou obtidas.

Processamento são as transformações, alterações, relacionamentos, agrupamentos, pelos quais os dados passam para serem transformados em informação.

Sistemas de informação

Os sistemas de informação são mecanismos de apoio à gestão, desenvolvidos com base na tecnologia de informação e com suporte da informática para atuar como condutores das informações que visam facilitar, agilizar e aperfeiçoar o processo decisório nas organizações.

Eles compreendem um conjunto de recursos humanos, materiais, tecnológicos e financeiros, agregados segundo uma sequência lógica para o processamento dos dados e a correspondente tradução em informações. A Figura 2 mostra um modelo de sistema de informação.

Figura 2. Modelo de Sistema de Informação

O objetivo desses sistemas é gerar informação para serem usadas no auxílio da tomada de decisões de empresas e organizações, onde as mesmas terão condições de reagir às mudanças constantes do mercado. Dentro deste conceito, temos exemplos de sistemas utilizados atualmente: SIG - Sistemas de Informação Gerencial e ERP - Enterprise Resource Planning do português Planejamento de Recursos Empresariais.

Sistema de informação gerencial pode ser definido como qualquer sistema que produza posições atualizadas no âmbito corporativo, resultado da integração de vários grupos de sistemas de informação que utilizam recursos de consolidação e interligação de entidades dentro de uma organização.

O propósito básico de um SIG é ajudar a empresa a alcançar suas metas, fornecendo a seus gerentes detalhes sobre as operações regulares da organização de forma que possam controlar, organizar e planejar com mais efetividade e com maior eficiência.

Na Figura 3 podemos observar o conceito de um sistema de informação gerencial. O programa de aplicação juntamente com o Gerenciador de Banco de Dados – SGBD estão conectados ao banco de dados da empresa no qual são armazenadas as informações. Em seguida disponibilizam-nas na forma de relatórios e gráficos ao gerente, auxiliando-o na tomada de decisões.

Figura 3. Conceito de Sistemas de Informação Gerencial

Os ERP – Enterprise Resource Planning surgiram da necessidade de se controlar todos os principais processos da organização em um só software. Buscavam-se benefícios como eficiência, incremento da qualidade, da produtividade e lucratividade.

O principal objetivo dos sistemas ERP é integrar todos os departamentos e funções da empresa em um sistema unificado de informática, com capacidade de atender todas as necessidades da organização.

A primeira geração dos ERP’s foi fundamental para pequenas e médias empresas concentrar-se em processos de negócio. Eles as conduziam a uma nova maneira de pensar e expandir suas operações com uma melhor gestão.

Como a ideia principal era automatizar processos administrativos e sua capacidade estava quase esgotada, no final da década de 90 surgiu a segunda geração dos ERP’s. O objetivo desta segunda geração é alavancar os sistemas existentes de maneira a aumentar a eficiência no encaminhamento das transações, melhorar o processo decisório e reforçar ainda mais os métodos de negócio.

Na Figura 4 podemos observar a junção de vários recursos: Logística, Gestão, Vendas, Financeiro e Produção, que antes eram sistemas separados, todos estes unidos em um único sistema: o ERP.

Figura 4. Conceito de Sistemas ERP

Engenharia de Software

Diversos governos de países em desenvolvimento têm mostrado preocupação com a questão da informatização de seus órgãos, empresas e da sociedade como um todo. Isso tem despertado nas organizações a procura por ferramentas e metodologias que auxiliem nos seus processos.

Software é um conjunto de instruções que são executadas com objetivo de produzir funções e desempenhos desejados. Também pode ser definido como estruturas de dados que permitem aos programas manipular informações. Ou ainda, documentos que descrevem operação e uso dos programas.

O software tem se tornado importante para as empresas, como um diferencial de desempenho e controle, o que proporciona competitividade diante da concorrência. Sobre este referencial, as empresas de desenvolvimento se mostram cada vez mais preocupadas com a engenharia dos mesmos, com intuito de atribuir qualidade aos produtos desenvolvidos.

Com o intuito de melhorar a qualidade dos softwares em geral e aumentar a produtividade no desenvolvimento de tais produtos, surgiu a engenharia de software. Esta é um conjunto de três elementos: métodos, ferramentas e procedimentos que possibilitam ao gerente controlar o processo de desenvolvimento e, ao profissional, oferece base para construção de um produto com alta qualidade, de forma produtiva.

Os métodos indicam como fazer para construir o produto. Envolvem: planejamento, estimativa de projeto, análise de requisitos, projeto da estrutura de dados, arquitetura de programa, algoritmo de processamento, codificação, teste e manutenção.

As ferramentas proporcionam apoio automatizado ou semi-automatizado aos métodos, para cada um existem ferramentas de sustentação.

Os procedimentos são a ligação entre os métodos e as ferramentas. Definem a sequência de aplicação, os produtos a serem entregues, os controles que asseguram a qualidade e a coordenação de mudanças e os marcos de referência para avaliação do progresso." [...] continue lendo...

Artigos relacionados