Testar, pra quê?
Engenharia de SW January 11th, 2008
Vamos ver uma definição de “teste”.
Dicionário:
“acto ou efeito de verificar ou provar alguma coisa (equipamento, sistema), sob certas condições, para verificar e avaliar a sua qualidade, natureza ou comportamento. “
Na nossa área, quando testamos algo ( funcionalmente,unitariamente..) queremos garantir que dada uma entrada o resultado seja uma saída esperada.
Testar um sistema de software não é simplesmente sentar na frente do computador e iniciar um processo exaustivo de entrada de informações e aguardar a sua resposta. Existem diversas maneiras de se testar um software - estrutrados, OO… A melhor forma de se testar uma aplicação é elaborando um conjunto de testes e automatizando-o. Existem enumeras ferramentas que nos auxiliam na criação de testes (jUnit, por exemplo), o que torna mais simples utilizar os testes como um artefato de apoio na construção de sistemas de software.
Até mesmo para elaborar testes, deve haver um planejamento (menor valor absoluto, maior valor absoluto, métricas..). Para isso existem técnicas, como por exemplo:
- Teste Caixa Branca;
- Teste Caixa Preta;
- Teste Funcional;
- Teste de Confiabilidade;
- etc…
Teste bem elaborados podem preservar a semântica do programa. Alguns desenvolvedores pregam que os testes devam ser planejados antes mesmo que uma linha de código tenha sido implementada. Dessa forma, o desenvolvedor se questiona sobre a necessidade de se alterar alguma coisa no requisito.
O artefato “TESTES” de um projeto não tem como objetivo único e exclusivamente verificar se uma funcionalidade retorna uma saída esperada. Quando estamos planejando um conjunto sólido de testes, estamos verificando se todos os requisitos foram atendidos, se o objetivo da aplicação está claro para todos os envolvidos, ou seja, além de se testar um software, a organização do projeto estará sendo sempre validada e confirmada.
January 11th, 2008 at 2:14 pm
opa bom tema.. hehe outro fato importante no teste é vc envolver todas as pessoas que participou da parte de analise.. entregar o “teste” para eles levar para casa se for o caso, e o que muitos as vezes praticam de realizar o teste apenas quando se chegar ao termino da construção do sistema, e acho que isso o risco alto e que muitos casos pode colocar todo o trabalho ja realizado por agua abaixo.. entao testes devem ser feito sempre, exaustivamente.. acrescentou um modulo, vamos testar o funcionamente em particular e depois com todo o programa e nao apenas como alberto falou o fato de testar entradas e saidas… ver o aquele novo modulo refletiu no sistema ficou mais lento? testar a execução dele.. “sim o resultado da saindo, mas o tempo é esperado para quantas transacoes simultaneas”. E outro fato importante.. que eu faço.. criei uma pequena documentação a nivel de usuario explicando o que o sistema faz o objetivo e os recursos que possui.. e simplesmente entregue o sistema a terceiros para testar.. ele e na documentacao coloque espaço para observações.. e dar um prazo para ele ti devolver.. claro.. pessosa comprometidas e que vc confia!! o site G1 da globo, houve mais de 200 pessoas convidadas para testar varias serviços do site q levou 11 meses para ficar pronto… vi em uma reportagem da arquiteta da g1.
Alberto parabens cara ta show o blog!! otimos temas!