Rodrigo Fortes

"Só duas coisas são infinitas, o universo e a estupidez humana, mas não estou seguro sobre o primeiro"

Software bom é software bem testado

Existem diversas opções e metodologias no mercado, porém a qualidade do seu projeto pode ser assegurada com uma sistemática de testes simples, a partir dos seus próprios casos de uso identificados.

A qualidade do software é primordial para o sucesso de qualquer projeto, para o usuário software com erro é software ruim. Testá-lo e testá-lo bem é uma obrigação.

Mas ai vem a pergunta, o que testar? Ou ainda, com o testar?

Vou responder o óbvio: deve ser testado as funcionalidades que compõem o escopo do software que está sendo desenvolvido.

Escopo? Surgiu outra pergunta, onde está descrito esse escopo? Pode estar na proposta do projeto, na especificação funcional, nos casos de uso. Apesar da grande importância da documentação em diversas empresas pequenas e de médio porte existe o mínimo ou nenhuma documentação do sistema, nesses casos devem ser revistos os conceitos e para tudo, olhando um pouco para qualidade do que se esta sendo feito.

Casos de uso descrevem requisitos, identificam o valor que o cliente espera obter da funcionalidade representando a forma como o sistema será utilizado. Permite assim, identificar todos os caminhos que o usuário pode percorrer para conseguir o que deseja. Mostram ao cliente o que esperar do software, ao desenvolvedor o que codificar e ao testador ou certificador o que validar para garantir a qualidade dos entregáveis.

Desta forma, podemos concluir que os casos de uso ajudam na certificação e validação dos requisitos implementados. Simplificam e sistematizam o processo de teste do software, permitindo um ganho de produtividade e ajudando na garantia de que todo o escopo vai ser abrangido pelo teste.

Não há sombra de dúvida que os casos de uso nos ajudam a fazer um plano de testes, quem não tem o costume de utilizá-lo seria interessante começar a adotar este método, começar o uso aos poucos, claro que criar caso de uso de um sistema não documentado não é fácil, um ERP por exemplo, depois do software pronto existem milhões de possibilidades e caminhos, criar casos de uso de tudo depois de pronto seria um trabalho duro e demorado. Para os casos extremos, que não possuem documentação de nada, comece aos poucos, com as implementações novas, com o tempo a equipe irá se adequando ao novo processo e a tendência da qualidade é melhorar.

Abaixo segue quatro pontos básicos para um bom teste.

1) Selecione o caso de uso que será testado, identifique o fluxo principal e os fluxos alternativos, desenhe um diagrama de atividades. Desta forma consegue-se visualizar facilmente todos os cenários que o usuário pode utilizar;

2) Identificado os cenários, vamos começar a escrever um caso de teste para cada cenário, detalhando todos os passos do cenário. Assim o testador vai poder executar as ações do ator e validar se a resposta do sistema está de acordo com o que foi especificado;

3) Para iniciar os testes aconselha-se a criação de uma base de dados de certificação, lembrando que não é prudente fazer os testes na base de desenvolvimento e muito menos em produção, e identificar os dados de entrada que serão utilizados nos testes.

4) É interessante tabular o resultado dos testes, como quantidade de acertos, defeitos e correções, armazenado essa informação. Isso vai servir para avaliar a qualidade de cada desenvolvedor da sua equipe.

Utilizando casos de uso como modelo para testes permite ao testador ter uma visão mais apurada do negócio e ter uma noção mais clara da necessidade dos clientes. Se o caso de uso estiver bem detalhado e consistente, permite a garantia de ter uma cobertura completa dos entregáveis desenvolvidos.

Possuindo um teste sistematizado e documentado gera uma confiança maior do cliente, pois diminui os erros do sistema, também diminui o tempo de treinamento e adaptação de novos testadores.