quinta-feira, 25 de setembro de 2008

O papel do testador de software

O testador de software é responsável por atividades dentro do processo de desenvolvimento que garantem a qualidade do sistema que está sendo desenvolvido. A atividade de teste geralmente começa a partir do momento que há um documento de especificação do sistema. Com o documento de especificação é possível realizar tarefas de inspeção da especificação, através de um checklist, garantindo que o documento esteja em conformidade.

Em seguida, o processo de elaboração de Roteiros de Teste é iniciado, seguido da revisão do roteiro, que é realizada por outro membro da equipe. Após o sistema estar rodando, os testes são executados, manualmente ou automaticamente, onde os resultados são registrados em um Relatório de Erros indicando se os testes passaram ou não. Este Relatório de Erros é passado para o desenvolvedor do sistema, para que sejam corrigidos os defeitos do sistema. Após a correção dos defeitos, o Roteiro de Teste é novamente executado a fim de verificar se os defeitos foram corrigidos ou se novos defeitos foram adicionados ao sistema.

Quando o sistema passa em todos os testes, ele pode ser enviado para a produção. Nem sempre o Roteiro de Teste cobre 100% das funcionalidades do sistema, por isso existem técnicas, roteiros e ferramentas que auxiliam na elaboração dos roteiros de teste, quanto maior a qualidade dos roteiros de teste, maior será a qualidade do sistema testado.

O testador geralmente tem atividades relacionadas aos testes de caixa-preta, ou seja, testes funcionais, onde o testador não tem acesso ao código do sistema, sendo o desenvolvedor responsável pelos testes de caixa-branca, que são testes realizados utilizando o código do sistema.

6 comentários:

danilo.piovani disse...

Parabéns Anne pelos artigos que escreveu...
Estou a dois meses procurando coisas interessantes para aprender a testar, o que testar e como tesar...
Estou começando agora neste ramo, saindo do desenvolvimento para os testes, estou um pouco perdido ainda, rs natural eu acredito...
Sendo assim você teria algumas dicas?
Obrigado

Luciane Rodrigues disse...

Parabéns, seu blog é um dos mais completos que encontrei e o mais importante tem informação com qualidade.

Lymess disse...

Bom Dia a todos!
tentei entrar em contato com vocês Anne e Bruno, mas não encontrei o email. Peço por favor, ajude-nos em nossa pesquisa de pós-graduação em Teste de Software, respondendo ao nosso questionário. Basta acessar o link:
http://spreadsheets.google.com/viewform?formkey=dFJpYUtHdGxSTkFhWlhuLVhUcERMeXc6MA
Se for possível divulgue-o, por favor. Muitíssimo obrigada!
Lillian Messias

Fagner disse...

Ótimos artigos sobre teste. Tudo está muito claro. Parabéns...

Anônimo disse...

Boa noite Anne! Parabéns pelo blog, muito interessante.Acabei de ler o artigo de sua autoria chamado de "Os 10 princípios de software" e lá você diz que o desenvolvedor não deve fazer os testes, por ele ser muito "próximo" ao sistema. Agora li que são eles que fazem os testes de caixa branca? Fiquei meio confuso. Será que você poderia me explicar um pouco sobre isso?

Anne Caroline disse...

Olá, Boa noite!!
Agradeço bastante pelo seu comentário, é bastante motivador saber que este blog está sendo útil para vocês.

Com relação à sua pergunta, ela é muito interessante, pois realmente algo que parece contraditório. No entanto, se observarmos o artigo sobre Os principais tipos de testes de software podemos perceber que existem vários tipos de testes que podemos fazer em um sistema.

Estes tipos de teste são classificados como: testes de caixa-preta, testes de caixa-branca e testes de caixa-cinza.

Então, respondendo a sua pergunta, com relação ao artigo sobre os 10 Princípios dos Testes de Software, ele fala do papel do testador de caixa-preta, aquele que testa o sistema criado por um desenvolvedor (outra pessoa) e o testador não tem acesso ao código-fonte do sistema.

Como para realizar os testes de caixa-branca, o testador precisa ter acesso ao código do sistema, então geralmente os próprios desenvolvedores testam o sistema. Claro que para que estes testes sejam mais eficientes, é interessante que outro desenvolvedor crie os scripts de teste para uma parte do código que foi criada por outro.

Às vezes o próprio desenvolvedor faz o script de teste para testar seu próprio código, isto também é uma prática válida, pois à medida que o software evolui é possível automaticamente (com testes de unidade automáticos - JUnit p.e.) verificar se parte do código que antes havia passado nos testes continuam passando.

Bom, espero ter esclarecido a sua dúvida. Se precisar de mais alguma ajuda, basta comentar.

Comentários são sempre bem-vindos! Obrigada a todos! :)