Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que se trata o artigo:

Neste artigo veremos a experiência prática de executar um processo de teste em um projeto de software desenvolvido com base na Programação Exploratória, utilizando ferramentas para automação de testes.

Para que serve:

Mostrar que através de ferramentas e técnicas adequadas à realidade do ambiente do projeto, é possível obter um nível de qualidade aceitável pelo usuário, minimizando os problemas de documentação e a falta de especificação definida.

Em que situação o tema útil:

Com este artigo veremos que mesmo em situações em que há mudanças constantes de requisitos e falta de documentação do sistema, as atividades de teste podem ser eficazes desde que haja um estudo de ferramentas que possam auxiliar na melhor execução dos testes e uma boa integração e cooperação da equipe de desenvolvimento.

Autores: Eliane Collins e Luana Lobão

Este artigo descreve a experiência prática de se adotar um processo de teste utilizando ferramentas abertas de automação para um ambiente de programação exploratória, onde não havia uma especificação detalhada do sistema e as alterações de escopo foram constantes ao longo das entregas de versões para o cliente. Nesse contexto, veremos como adequar um ambiente de desenvolvimento instável como esse a um processo de qualidade a fim de garantir que o produto final seja entregue de acordo com as expectativas do cliente.

Programação Exploratória

A Programação Exploratória é um tipo de Modelo Evolucionário de desenvolvimento de software o qual tem como base desenvolver um sistema apresentando as versões ao usuário, que fará comentários para o aprimoramento e modificações até que o sistema seja considerado adequado.

A Figura 1 ilustra o processo do modelo evolucionário. Segundo esse processo, inicialmente temos uma descrição do sistema em alto nível, mas não há ainda um escopo definido. A partir da descrição inicial é desenvolvida a primeira versão do sistema o mais rápido possível. Em seguida ela é submetida a uma bateria de avaliações do usuário. Com estas avaliações, durante o desenvolvimento são geradas versões intermediárias do sistema que vão evoluindo durante o processo até alcançar a funcionalidade desejada.

Este é um modelo usado principalmente em sistemas onde é difícil realizar especificação, sistemas de pequeno a médio porte, e em pesquisas para desenvolvimento de sistemas de Inteligência Artificial, por exemplo. Normalmente esse modelo é implementado por pequenas equipes de desenvolvimento.

Figura 1. Modelo de Desenvolvimento Evolucionário.

As vantagens deste modelo de desenvolvimento são: o fornecimento mais rápido do sistema, o envolvimento do usuário durante o desenvolvimento do projeto e a facilidade de adaptação a mudanças de requisitos, pois em alguns casos, a entrega no prazo e a facilidade do uso podem ser consideradas mais importantes do que detalhes de funcionalidade ou a facilidade de manutenção em longo prazo [1].

Contexto do Ambiente Testado

O Instituto Nokia de Tecnologia (INdT) é uma instituição independente e sem fins lucrativos comprometida com a realização de pesquisa e desenvolvimento de soluções tecnológicas através do desenvolvimento de aplicações, novas tecnologias e conceitos.

As principais áreas do INdT são Software Livre e Interfaces de Usuário, Tecnologias de Produto e Manufatura, Experiências em Serviços e Tecnologias de Rede.

A experiência foi desenvolvida pela área de Tecnologias de Produto e Manufatura, a partir de agora referenciada como PMT. O projeto em questão contava com uma equipe de cinco colaboradores envolvidos no desenvolvimento do sistema. A metodologia de desenvolvimento adotada foi a Programação Exploratória.

Pela natureza da metodologia de desenvolvimento empregada, o ambiente de desenvolvimento e, consequentemente, o de teste, iniciaram com incertezas e instabilidades que poderiam comprometer o sucesso do projeto. Resultados incorretos vindos de um sistema desenvolvido sem documentação necessária podem causar graves consequências, tanto para o cliente quanto para a empresa responsável por desenvolver a solução.

Caso a equipe de testes não consiga preparar adequadamente os seus casos de teste porque a equipe de desenvolvimento não documenta adequadamente os casos de uso, com certeza poderá fazer com que defeitos não sejam detectados, resultando em possíveis problemas no negócio.

O projeto que serviu de base para este artigo, por questões de confidencialidade, será chamado de ProjetoSW. A principal característica funcional deste projeto era que o sistema fosse capaz de ler várias planilhas, vindas de clientes (operadoras de telefonia celular), referentes à área de logística, gerando a partir delas alguns arquivos no formato ...

Quer ler esse conteúdo completo? Tenha acesso completo