Nos últimos anos, as empresas mais preocupadas com a qualidade dos sistemas de aplicação passaram a introduzir, no seu ambiente, um novo conceito de testes através de um processo independente, embora integrado ao processo de desenvolvimento. Entende-se que desta forma, os chamados testadores, ou executores da atividade de teste, poderão aprimorar seu trabalho e conseguirem melhores resultados durante os testes do sistema ou software.
A atividade de teste vem sendo tradicionalmente executada pela equipe envolvida com o processo de desenvolvimento da aplicação ou software. O problema é que estes técnicos nem sempre possuem a qualificação adequada para a execução deste trabalho. Isto se deve a uma falta de interesse natural destes profissionais por esta atividade que consideram de menor importância dentro do processo de desenvolvimento e, além disso, muitas vezes, cansativa. Outras vezes a sobrecarga de trabalho, aliada aos prazos exíguos, acaba afetando os testes. O resultado final é um sistema cheio de defeitos, com um custo de manutenção muito alto. Os custos de correção de defeitos em produção tendem a ser até 1000 vezes maiores do que se os erros forem corrigidos ainda nas etapas iniciais de desenvolvimento.
As empresas que introduziram no seu ambiente de TI equipes qualificadas com a finalidade exclusiva de testar os seus sistemas, têm conseguido resultados bastante animadores, ou seja, sistemas ou softwares com menos defeitos. Isto representa melhor qualidade e custos menores. A atividade de teste pode ser um projeto independente e com características próprias, agregando muito valor ao produto final. O próximo passo será mostrar que este projeto de testes pode e deve ser aderente aos padrões do PMI.
A figura 3 mostra como os projetos de teste e de desenvolvimento se integram.
Fases do Projeto de Teste
O processo de teste, usando a metodologia P3E3, baseada no modelo TMap (Test Management Approach), é composto das seguintes fases ou etapas, conforme mostrado na Figura 1: As etapas de Planejamento e Controle e Preparação seguem em paralelo as demais etapas, pois continuam em andamento durante todo o projeto. O produto da fase de planejamento, uma vez concluído, deve ser acompanhado e controlado. Na etapa de preparação são adequados os ambientes de gerência de mudanças e de gerência de configuração ao projeto de testes, além de ser preparada toda a infraestrutura a ser utilizada no projeto (hardware, software e pessoal).
O ciclo de vida da execução dos testes é composto basicamente pelas etapas de Procedimentos Iniciais, Especificação, Execução e Entrega.
Durante estas fases ou etapas são produzidos os documentos mostrados na Figura 2. Como podemos ver, tais documentos de teste – Estratégia de Testes, Plano de Testes, Casos de Teste e Roteiro de Testes – são produzidos conforme a etapa do projeto que está sendo executada.
Dentro deste conceito estruturado de testes, o projeto de testes de um determinado sistema deve ser montado tão logo o projeto de desenvolvimento deste sistema seja iniciado, de forma que os dois projetos possam andar em paralelo e de forma integrada, podendo estar ambos sob uma mesma gerência ou, conforme a forma de organização da empresa, em gerências independentes. Em outras palavras, teremos dois projetos paralelos, porém bastante integrados, embora possam estar sob gerências ou lideranças independentes, conforme ilustrado na figura 3.
O Modelo PMI na Gerência de Testes
Aqueles já familiarizados com os projetos de desenvolvimento de aplicações e com os conceitos do PMI devem ter percebido que a gerência do projeto de testes, no modelo anteriormente exposto, pode perfeitamente conformar-se aos padrões do PMI.
A figura 4 mostra as fases do projeto de acordo com o PMI e a sua ligação com as fases descritas na metodologia de testes P3E3, baseada no padrão TMap.
Atualmente já existem métricas que permitem estimar o tamanho do projeto de testes em pontos de teste, a partir do tamanho do sistema em pontos de função e, conseqüentemente, o esforço que será despendido neste trabalho. Desta forma, pode-se fazer um planejamento adequado deste processo, envolvendo prazos, custos e, principalmente, riscos. Através de indicadores históricos podem ser definidas, gradativamente, metas de qualidade e de redução de custos cada vez mais ambiciosas.
Os documentos Estratégia de Testes e Plano de Testes são a base de todo o trabalho de planejamento do projeto. Cabe, no entanto, ressaltar que os limites dos testes estão definidos pelos riscos que se quer assumir. Por exemplo, ninguém gostaria de saber que um software de um avião comercial foi mal testado e está sujeito a defeitos inesperados.
Neste caso, todo o investimento será feito no intuito de eliminar os defeitos e minimizar os riscos. No oposto, um site de receita de bolos na Internet talvez não exigisse um investimento tão grande em testes, visto que os riscos seriam pequenos. No entanto dependendo dos usuários essa situação certamente mudaria, logo o risco pode ser também relativo.
Um outro ponto importante a ser lembrado é que o projeto de testes pode perfeitamente ser enquadrado nas áreas de conhecimento definidas pelo PMBOK. Por exemplo, todo projeto de teste deve utilizar gerência de riscos e gerência de qualidade, pois testar é reduzir riscos e aumentar a qualidade. Além disso, áreas de conhecimento tais como gerência de escopo, gerência de custos, gerência de prazo, gerência de contratação, e outras constantes do PMBOK são sempre utilizadas nos projetos de teste. A diferença entre um projeto de desenvolvimento e um projeto de testes é que, em se tratando do mesmo sistema, o segundo será normalmente menor do que o primeiro. Deste modo, os mesmos participantes poderão desempenhar mais de uma função dentro do processo de teste.
Conclusão
Embora o assunto seja um pouco complexo e extenso, espero ter conseguido mostrar que a gerência de um projeto de testes, assim como os projetos de desenvolvimento, pode e deve seguir os preceitos do PMI. Não existe nenhuma restrição ou impedimento para que isso ocorra. Para aqueles que quiseram entender um pouco mais o processo de testes, dentro desta nova visão, recomendo as referências abaixo.
Referências
Rios, E. e Moreira, T. – Teste de Software – Alta Books, 2002.
Pol, Martin et al. –Software Testing – A Guide to the TMap Approach – Addison-Wesley, 2002.
Pol, Martin et al. –Test Process Improvement – Addison-Wesley, 1999.
Martins, José Carlos Cordeiro – Gestão de Projetos de Desenvolvimento de Software – BRASPORT – 2002
URLs
www.stickyminds.com – site com diversas informações e artigos sobre teste de software e assuntos correlatos.
www.bsc.org.uk – site da Bristish Computer Society
Por: Emerson Rios