Princípios do Teste de Software

Texto de: Aaron Hodder. (Original aqui)
Traduzido por: Gilcimara Pinho Clini

Tenho trabalhado com Luke Liu, ajudando-o a definir o que é a “mentalidade de teste”. Ao longo do caminho, demos uma olhada em várias listas de princípios que diferentes pessoas reuniram.

Particularmente, olhamos para os sete princípios de teste de software da ISTQB, Os Sete Princípios Básicos da Escola Orientada pelo Contexto, e os Princípios Modernos de Teste de Alan Page.

Foi um exercício interessante analisar, discutir, desconstruir e reconstruir estes princípios que ressoam conosco. Vimos similaridades e contrastes. Vou escrever os princípios que encontramos e publicá-los sem comentar (embora eu tenha MUITOS comentários em alguns deles) e então, escrever o que encontramos com referencias ao princípio original que o inspirou.

Princípios do ISTQB.

1. Os testes mostram a presença de defeitos, não a sua ausência.
2. Testes exaustivos não são possíveis.
3. Testes antecipados economizam tempo e dinheiro
4. Defeitos se agrupam.
5. Cuidado com o paradoxo do pesticida.
6. Testes são dependentes do contexto.
7. Ausência de erros é uma falácia.

Princípios de Teste Modernos.

1. Prioridade é melhorar o negócio.
2. Aceleramos o time e usamos modelos como o Pensamento Lean e a Teoria das Restrições para ajudar a identificar, priorizar e mitigar os gargalos do sistema.
3. Somos a força de melhoria continua, ajudando a equipe a se adaptar e otimizar de maneira a ter sucesso, ao invés de prover uma rede de segurança para detectar falhas.
4. Nos preocupamos profundamente sobre a cultura de qualidade do nosso time e treinamos, lideramos e nutrimos o time, direcionando para uma cultura mais madura.
5. Acreditamos que o cliente é o único capaz de julgar e avaliar a qualidade do nosso produto.
6. Usamos dados extensivamente para entender profundamente o uso do cliente e, então, fechar as brechas entre a hipótese do produto e o impacto no negócio.
7. Expandimos habilidades de testes e conhecimento entre o time, entendendo que isso pode reduzir (ou eliminar) a necessidade de um especialista de testes dedicado.

Os Sete Princípios Básicos da Escola Orientada a Contexto.

1. O valor de qualquer prática depende do seu contexto.
2. Há boas praticas no contexto, mas não há melhores práticas.
3. Pessoas, trabalhando juntas, são a parte mais importante do contexto de qualquer projeto.
4. Projetos desdobram-se ao longo do tempo de maneiras que muitas vezes não são previsíveis.
5. O produto é uma solução. Se o problema não for resolvido, o produto não funciona.
6. Um bom teste de software é um processo intelectual desafiador.
7. Somente através de julgamento e habilidade, exercidos cooperativamente ao longo de todo o projeto , somos capazes de fazer as coisas certas, na hora certa, para testar efetivamente nossos produtos.

Depois de olhar para estes, sintetizá-los, e adicionar nossas próprias crenças e experiencias, nós temos estes como um conjunto de crenças. Onde citamos um princípio existente como uma inspiração ou como uma resposta, nós usaremos os códigos CDT para o Teste orientado a Contexto, ISTQB e MT para Teste Moderno.

Crenças de Teste de Aaron e Luke.

1. O teste é coleta de informação e relatório.
2. Cobertura de teste sempre é relativa ao algum modelo (ISTQB 2).
3. O que nós testamos e o quanto testamos, deve ser baseado nos modelos de risco (MT 7).
4. Geralmente é melhor executar uma variedade de testes do que repetir testes (A heurística do campo minado: https://www.satisfice.com/reasons-to-repeat-tests) ( ISTQB 5).
5. Nunca podemos ter certeza de que não há problemas (ISTQB 1).
6. Um produto pode atender todos os requisitos declarados e ainda assim ser inútil. Um produto pode falhar em atender todos os requisitos declarados e ainda assim ser útil. (CDT5; MT5).
7. Testes podem acontecer em qualquer estágio do ciclo de vida do desenvolvimento de software e, geralmente, é melhor começar a testar antecipadamente do que tarde. (ISTQB 1).
8. Períodos curtos de testes que acontecem com mais frequência, são melhores do que períodos longos de testes que acontecem com menos frequência.
9. Não há melhores práticas, só boas práticas no contexto. (CDT 2).
10. Mudanças acontecem e isso é uma BOA coisa. Portanto, nossas práticas devem responder às mudanças o tanto quanto possível. (CTD4, CDT7, MT2).
11. Teste é um desempenho, não um procedimento e, certamente, não um artefato. (CDT 6, CDT 7). (Veja também: Casos de teste não estão testando).
12. Eu valorizo equipes saudáveis de pessoas construindo produtos úteis para pessoas consistentes com minhas crenças éticas, num modo de minimizar desperdício. Meu foco é relatar ameaças a esse valor e aos valores do meu público.

Isto é um rascunho; nós estamos ansiosos para ouvir o que você pensa.

--

--