Home Artigos Entenda porque testes manuais falham

Entenda porque testes manuais falham

por Agência Canal Veiculação

A entrega de valor real em Projetos de Software é um grande desafio. Uma famosa pesquisa (CHAOS) publicada periodicamente pela Standish Group mostra que apenas 32% dos projetos de software são bem sucedidos (2009).

A principal medida para diminuir este risco é simples: entregue cedo e com frequência. Isso exige que o time de desenvolvimento apresente constantemente cada incremento concluído que foi desenvolvido ao Software (Entrega Contínua).

Entregas frequentes antecipam aprendizados valiosos sobre o produto, que não poderia ser adquirido pelo time de outra forma. Entretanto, é comum ouvir relatos de que ‘quando uma nova versão do Software é implantada, coisas que antes funcionavam quebram’.

Vamos supor que para resolver o problema acima, você faça uso de uma equipe competente de Q.A. (Quality Assurance). Para exemplificarmos o contexto onde Testes Manuais falham, trabalhemos com a seguinte situação hipotética:

  1. Sua fábrica de software libere uma nova versão a cada duas semanas
  2. Cada nova versão tem apenas uma nova feature.
  3. O Q.A. execute todos os testes sobre o software
  4. As versões, nesta hipótese, nunca são reprovadas (bug-free)
  5. Você terá:
Entrega
entrega

entrega
5ª entrega 20ª entrega 40ª entrega
Novas Features 1 1 1 1 1
Casos de Teste Novos 5 5 5 5 5
Existentes 0 5 20 20 200
Totais 5 10 25 105 205

Como você pode observar, o número de testes é cumulativo e faz com que, cada vez mais, a equipe de Q.A. demore para validar versões. As consequências indesejáveis são várias:

· Q.A. pode começar a perder efetividade e desenvolver vícios de teste;

· Ciclo de feedback fica longo e o time perde agilidade

· Agendas descasadas entre Q.A., desenvolvimento e implantação;

· Impossibilidade de iniciar features novas antes de corrigir possíveis bugs;

· Entre outras (muitas outras) …

 

Mesmo em uma situação ideal, estes graves problemas tendem a se intensificar devido ao fator humano: o desgaste da repetição dos testes pode piorar ainda mais a qualidade da versão e da entrega.

De uma forma geral, é possível afirma que testes manuais vão falhar brilhantemente. Por este motivo, desde 1985, a comunidade de desenvolvimento de Software está empregando dedicados esforços para criar ferramentas que aumentem a eficiência dos testes em Software, e o resultado desta iniciativa é hoje o que denominamos Práticas de Testes Automatizados.

É praticamente impossível alcançar os benefícios da Entrega Contínua sem a prática de Construir com Qualidade Embutida. Isso significa desenvolver Testes Automatizados.

Comparados com testes manuais, os Testes Automatizados tem as seguintes vantagens: são 99,5% mais rápidos do que testes manuais; não importa quantos testes existam: eles serão executados com rigor; o fator humano (desgaste) não afeta a execução dos testes; diminuem drasticamente o ciclo de feedback; podem ser ?acoplados? de forma automática ao processo de instalação, impedindo versões quebradas de serem instaladas; gerar massas aleatórias de dados (não viciados) para testes; clicar, arrastar, soltar, digitar e manusear livremente a tela do Software e esperar resultados, fazer contas, comparações, etc.

Diante deste cenário, podemos afirma que os testes automatizados são uma necessidade, principalmente se a sua empresa desenvolve ou contratou desenvolvimento de software, porque o método oferece alta garantia de que ?o que está funcionando não irá parar de funcionar? garantindo a plena continuidade de suas atividades, além de permitir entregar cedo e com segurança, mitigando seus riscos de falha de projeto que canibalizam o ROI do departamento de TI de sua empresa.

Este artigo é parte integrante da série ?Contratando Software da Forma Correta!?, uma série de artigos gerenciais voltada a tomadores de decisão que contratam software customizado para necessidades específicas de suas empresas. Para acompanhar nossas publicações semanais, siga-nos em nosso twitter http://twitter.com/oohm.

A Fábrica de Software, Agile! OOHM trabalha há dois anos introduzindo empresas as práticas de Testes Automatizados através de Projetos de Software Agile. Colocamos nossos especialista em Testes Automatizados para várias plataformas (.NET, Java, PHP, RubyOnRails) em um time misto com sua equipe e transmitimos integralmente o conhecimento, as técnicas e tecnologias.

Hudson Mendes é Managing Director da Fábrica de Software, Agile! OOHM, arquiteto de Sistemas, desenvolvedor de software. Atuou em projetos no Brasil, Reino Unido, Estados Unidos e Japão em seus mais de 15 anos de carreira em desenvolvimento de Software. Atualmente, dedica-se a auxiliar empresas a aumentarem suas chances de sucesso em projetos de Software através da publicação gerencial e científico nos campos de Agilidade, Arquitetura de Sistemas, Engenharia de Operações para Desenvolvimento de Software e Cloud Applications e BigData.

Você também pode gostar

Deixe um Comentário

Ao navegar neste site, você aceita os cookies que usamos para melhorar sua experiência. Aceito Mais informações