STLC - Princípios Fundamentais de Teste
O objetivo comum dos testes é encontrar bugs o mais cedo possível. E, uma vez que os bugs sejam corrigidos, certifique-se de que está funcionando como esperado e não quebrando nenhuma outra funcionalidade.
Para atingir esses objetivos, sete princípios básicos são dados para teste de software -
O que mostra o teste?
Os testes podem mostrar que existem defeitos, mas não há como provar que não há defeito no produto. As fases de teste garantem que o aplicativo em teste esteja funcionando com base no requisito fornecido e ajuda a reduzir a probabilidade de defeitos não descobertos no aplicativo. Mas, mesmo que nenhum defeito seja encontrado, isso não significa que seja absolutamente correto. Podemos assumir que o AUT está de acordo com nossos critérios de saída e mantendo os requisitos de acordo com SRD.
O teste exaustivo é possível?
100% de cobertura ou teste de todas as combinações de entradas e combinações possíveis não são possíveis, exceto em casos triviais. Em vez de testes exaustivos, a análise de risco e as prioridades são usadas para definir o escopo do teste. Aqui, a maioria dos cenários em tempo real pode considerar a inclusão do cenário negativo mais provável. Isso nos ajudará a rastrear a falha.
Teste Inicial
As atividades de teste devem começar o mais rápido possível e se concentrar nos objetivos definidos na Estratégia de Teste e nos resultados esperados. O estágio inicial de teste ajuda a identificar Defeito de Requisito ou discrepâncias de nível de projeto. Se esses tipos de bugs forem capturados no estágio inicial, isso nos ajudará a economizar tempo e também será econômico. A resposta de por que o teste deve começar em um estágio inicial é muito simples - assim que o SRD for recebido, os testadores podem analisar o requisito da perspectiva do teste e podem notar uma discrepância de requisito.
Clustering de defeitos
Com base na análise de defeitos do produto anterior, pode-se dizer que a maioria dos defeitos são identificados a partir de um pequeno conjunto de módulos que são críticos para a aplicação. Esses módulos podem ser identificados com base na complexidade, interação de sistema diferente ou dependência de outros módulos diferentes. Se os testadores puderem identificar esses módulos cruciais, eles podem se concentrar mais nesses módulos para identificar todos os bugs possíveis. Em um estudo, descobriu-se que 8 em cada 10 defeitos são identificados a partir de 20% da funcionalidade do AUT.
Paradoxo de Pesticidas
O que é o paradoxo dos pesticidas - se os pesticidas são usados com frequência nas plantações, chega quando os insetos desenvolvem certo tipo de resistência e, gradualmente, os pesticidas assim pulverizados parecem ser ineficazes sobre os insetos.
O mesmo conceito também se aplica a testes. Aqui, os insetos são insetos, enquanto os pesticidas são casos de teste usados para funcionar repetidamente. Se os mesmos conjuntos de casos de teste forem executados repetidamente, esses casos de teste se tornarão ineficazes após certo período de tempo e os testadores não serão capazes de identificar nenhum novo defeito.
Para superar essas condições, os casos de teste devem ser revisados e revisados periodicamente e novos e diferentes casos de teste podem ser adicionados. Isso ajudará na identificação de novos defeitos.
O teste é dependente do contexto
Este princípio afirma que dois tipos diferentes de aplicativo não podem ser testados usando a mesma abordagem até que ambos os aplicativos sejam da mesma natureza. Por exemplo, se um testador usa a mesma abordagem para aplicativos baseados na Web e aplicativos móveis, isso está completamente errado e há alto risco de baixa qualidade de lançamento do produto. Os testadores devem usar diferentes abordagens, metodologias, técnicas e cobertura para diferentes tipos e natureza de aplicativos.
Ausência de erro - falácia
Este princípio afirma encontrar defeitos e corrigi-los até que o aplicativo ou sistema esteja estável, consome tempo e também consome recursos. Mesmo depois de consertar 99% dos defeitos, existe um alto risco de aplicação instável. O primeiro fundamental é verificar a estabilidade da aplicação e os pré-requisitos do ambiente. Se essas duas condições se cumprirem, só então podemos começar com os testes detalhados.