Os 7 princípios do teste de software

No post – Os bons testes falham – falamos sobre um dos princípios de teste definidos no livro “Fundamentos de testes de software”. Hoje, compartilho com vocês dois vídeos, bem curtos, que resumem os 7 princípios definidos no livro. Os mesmos servem como referência, principalmente para aqueles que estão iniciando na área de testes.

O primeiro vídeo, exibido acima, aborda os 4 primeiros princípios, são eles:

1 – Teste demonstra a presença de defeitos.

Os testes reduzem a probabilidade que erros desconhecidos permaneçam no sistema, mas mesmo que nenhum defeito seja encontrado isso não é prova de conformidade.

2 – Teste exaustivo é impossível.

Mesmo com auxílio da automação, o número de combinações possíveis de cenários de teste numa aplicação é gigantesco, inviabilizando a possibilidade de se afirmar que TUDO foi testado.

3 – Testes devem iniciar o quanto antes e erros encontrados tarde custam mais para corrigir.

Iniciando o mais cedo possível no ciclo de vida do desenvolvimento do software, diminuímos o custo das correções e possibilitamos que erros de design, requisitos e arquitetura sejam encontrados no momento ideal. (Link para vídeo que aborda o assunto)

4 – Agrupamento de defeitos 

80% dos defeitos são causados por 20% do código. Ao identificar essas áreas sensíveis, os testes podem prioriza-las, enquanto ainda procuram por erros nas demais regiões.

O segundo vídeo, exemplifica os princípios anteriores e apresenta os 3 últimos pontos:

5 -Paradoxo do Pesticida

Caso os mesmos testes sejam aplicados repetidamente, em determinado momento eles deixam de ser úteis, ou seja, não conseguem encontrar nenhum novo defeito. Por isso, os testes precisam ser revisitados com frequência.

6 – Teste é dependente do contexto

Diferentes tipos de aplicações exigem a aplicação de técnicas diferentes de teste.
7 – A ilusão da ausência de defeitos

De nada adianta o sistema estar correto funcionalmente, porém não atender a real  necessidade do usuário.

O Cliente

Entre todos os princípios listados, acredito que os números 3 e 7 representam os principais aspectos da nossa atividade. A busca constante por antecipar cada vez mais as possíveis falhas da aplicação e assegurar que o sistema entregue atenda as reais necessidades do cliente, agregando valor ao seu negócio.

E vocês que aspectos consideram mais importantes nos testes de software?

Agora você já pode acompanhar as novidades do BdB pelo Facebook, acesse e curta nossa página.

Nível Educacional dos Testadores [Infográfico]

Quase toda semana encontro um post ou notícia em algum lugar da web apresentando infográficos repletos de informações. Já existe até blog, que todo dia coloca um novo infográfico.

Pegando carona nessa nova moda surgiu, o que eu acredito, ser o primeiro relativo a área de testes de software. O site The Testing Planet fez uma pesquisa avaliando o perfil educacional dos engenheiros de teste. No resultado, exibido abaixo, podemos observar alguns pontos interessantes:

Education for Testers Infographic

Algo em torno de 35% possuem pós-graduação ou mestrado. O que nos mostra existir um bom percentual de pessoas interessadas na área de qualidade de software e buscando cada vez mais formas de aprofundar seu conhecimento e melhorar sua capacitação.

Já quando questionados sobre onde buscam informação para progredir na carreira, os termos mais mencionados foram: pesquisas online, livros, eventos e apoio de colegas de trabalho. O que acredito confirme minha crença de que os profissionais de TI, ainda dependem muito da sua capacidade de autoaprendizado. Livros, pesquisas, eventos e grupos de estudo, ainda são a melhor forma de aprender novas tecnologias. Apesar dos cursos presenciais e online também terem sido mencionados, em geral, eles ainda são raros, pouco específicos e superficiais para as necessidades dos profissionais.

O último dado nos mostra que mais de 50% dos entrevistados possuem certificação, o que provavelmente está ligado a demanda que parte das empresas, que em seus processos de seleção pedem por profissionais certificados. Porém, vamos deixar para um próximo post o questionamento sobre a real “importância” dos programas de certificação.