De que se trata o artigo

O artigo trata da importância que há no planejamento, execução e validação dos testes em um software, pois além de qualidade do produto, isso se reflete também em produtividade e redução de custos. Veremos porque devemos realizar testes e como podemos fazer isso utilizando uma ferramenta chamada Test Manager 2010 que acompanha o Visual Studio 2010.

Em que situação o tema é útil

Esse tema é útil para todos os softwares que são desenvolvidos, pois uma das etapas do processo de desenvolvimento deve/ou deveria ser o teste. Na validação de novas funcionalidades e também das funcionalidades já existentes a fim de garantir que o que estava funcionando não sofreu alterações e continua funcionando garantindo a qualidade do produto.

Testes de regressão com Test Manager 2010

Iremos conhecer uma ferramenta que faz parte do Visual Studio 2010 integrada com o TFS que nos permite planejar os testes, realizá-los e também permite esses possam ser gravados para futuras revisões ou que outras pessoas possam acompanhar em outra oportunidade.

Quando estamos desenvolvendo um software, estamos elaborando um produto para um usuário final. Como todo produto que é criado, é necessário que ele possua alguns requisitos essenciais de qualidade. Entenda o conceito de qualidade como algo que o escopo inicial se propôs a cumprir e o produto realmente possui aquela funcionalidade de forma completa.

Um bom software nasce com uma elaboração muito clara dos requisitos que serão necessários. Para que esses requisitos atendam de forma a garantir um bom desenvolvimento, não basta apenas uma visita e alguns rascunhos resultantes de uma conversa com o cliente, pois é fato que o cliente muitas vezes tem uma ideia distorcida da sua real necessidade, e aquilo que foi anotado na conversa passará longe do que ele realmente precisa. Outro detalhe muito importante no desenvolvimento de um software é que o entendimento das necessidades vai evoluindo conforme a equipe vai desenvolvendo o software, logo, a qualidade será muito boa se houver acompanhamento constante em todas as etapas do desenvolvimento do produto.

Garantindo a qualidade

Ao adquirirmos um produto, seja de qualquer natureza, sempre nos certificamos que esse produto tem qualidade. Para que possamos nos certificar precisamos de um indicador, existem pessoas que utilizam como indicador a marca do produto, outras utilizam o preço e a marca, outras consultam pessoas que já possuem o produto.

Dizer que um produto tem qualidade significa que ele atende com eficiência e de maneira completa aquilo que a especificação inicial se propôs. Quando há a aplicação de práticas corretas em todos os processos do desenvolvimento, o resultado é que teremos um produto com enormes valores agregados para o cliente. Para garantir a qualidade para ambos, cliente e fornecedor, além de um bom entendimento do domínio do negócio, precisamos também testar nossas aplicações.

Testar é caro?

Sempre que se fala em realização de testes, muita coisa vem à cabeça, como por exemplo, testar demora muito, isso vai me custar muito caro, o cliente tem pressa. Não podemos esquecer que contra os argumentos existem os fatos, e o fato é que para realizar testes há sim um custo por trás disso. Porém, não realizar testes vai gerar um custo muito maior para a empresa. O custo de não se aplicar testes se evidencia em retrabalhos como funcionalidades que antes executavam corretamente e depois de alguma alteração, deixaram de funcionar, horas de trabalho do time que são destinadas a correções de bugs em vez de aplicar essas horas em inovação, ou seja, muita manutenção que poderia ser evitada.

Outro ponto em que os testes são fatores importantes é a produtividade. Existe no mercado uma visão distorcida de produtividade quando as boas práticas de desenvolvimento e os testes são deixados de lado. A preocupação maior é entregar o mais breve para o cliente sem se preocupar com a qualidade daquilo que se está entregando, e é aí que entra a ilusão de produtividade. Podemos considerar que nesse cenário há dois conceitos de produtividade bem evidentes, o primeiro é a produtividade de curto prazo e o segundo a produtividade de longo prazo. A produtividade de curto prazo é a mais praticada no mercado, onde qualquer alteração é feita rapidamente e em muitos casos, o próprio cliente é quem irá realizar os testes. Não é muito difícil de perceber que logo teremos um retrabalho nas mãos, e isso às vezes se repete inúmeras vezes até que a alteração se torne estável. Já a produtividade de longo prazo aborda o uso de boas práticas e dentre elas a realização de muitos testes está presente. À medida que o tempo passa o custo de manutenção cairá, o sistema aceitará outras alterações com garantia de manter o que já funciona intacto, sem surpresas, e o custo de manutenção será reduzido.

O cenário atual

Uma parcela considerável das empresas baseia a qualidade do seu produto apenas em testes exploratórios, aqueles testes em que não há planejamento algum. A pessoa que irá realizar os testes vai criando cenários e testa apenas aquilo que vem em sua mente. São cenários que podem vir a ocorrer no cliente. Esse tipo de abordagem realmente pega muitos bugs, mas ele sozinho é deficitário por alguns motivos. Em primeiro lugar deixamos por conta da criatividade do testador os possíveis cenários, segundo, testes exploratórios também não garantem qualidade de código, terceiro, à medida que aplicação cresce fica mais demorado e trabalhoso garantir que as funcionalidades já existentes continuem funcionando. Outro tipo de teste que devemos prestar atenção são os testes unitários, rápidos de criar e manter. Quanto mais testes unitários realizamos maior será nossa lista que poderemos usar para testes de regressão, visto que são automatizados. Outro ponto forte nesses tipos de testes é a cobertura de código, onde a ferramenta pode destacar partes do código que os testes não cobriram.

...
Quer ler esse conteúdo completo? Tenha acesso completo