Gerenciamento das Atividades de Teste
Resumo CTFL 4.0
24/09/24 - Ana Carolina Rodrigues Rocha
Este conteúdo é um resumo do capítulo 5 do syllabus 4.0 para
Certified Tester Foundation Level - CTFL
, presente no quadro do ISTQB. Este resumo é baseado na versão
brasileira fornecida pelo
BSTQB.
É muito importante que você veja o significado linkado nas palavras-chave descritas, pois serão utilizadas
durante
todo o syllabus.
Você poderá revisar este conteúdo com base nos flashcards que criei no Brainscape.
Quaisquer erros ou incoerências que encontrar aqui, por favor entre em contato comigo pelo e-mail do rodapé.
Bons estudos ;) .
- Aprender a planejar testes no geral e estimar o esforço do teste.
- Aprender como os riscos podem influenciar o escopo dos testes.
- Aprender a monitorar e controlar as atividades de teste.
- Aprender como o gerenciamento de configurações dá suporte aos teste.
- Aprender a relatar defeitos de forma clara e compreensível.
Planejamento de teste é a atividade de criação ou atualização de um plano de teste.
Um Plano de Teste descreve os objetivos, recursos e processos de um projeto de teste.
- Documenta os meios e o cronograma para atingir os objetivos do teste
- Ajuda a garantir que as atividades de teste realizadas atenderão a critérios estabelecidos.
- Serve como meio de comunicação entre membros da equipe e outros stakeholders
- Demonstra que os testes seguirão a política e a estratégia de testes existentes, ou explica o porquê o desvio delas
O conteúdo inclui:
- Contexto do teste
- Permissões e restrições
- Stakeholders
- Comunicação
- Registro de Risco
- Abordagem de teste
- Orçamento e cronograma
Ocorre nos SDLC's iterativos dois tipos de planejamento, o Planejamento de Liberação e o planejamento de Iteração.
Planejamento de Liberação: Tem como objetivo lançamento de um produto, define e redefine o backlog, refina histórias de usuário maiores em menores. Os testadores participam da escrita das histórias de usuário, critérios de aceite, análise de risco e da qualidade, estimam o esforço do teste relacionado a US, determinam a abordagem de teste e planejam o teste.
Planejamento de Iteração: Tem como objetivo o fim de uma iteração, se preocupando com seu backlog. Os testadores participam da análise de risco da US, determinam sua testabilidade, dividem-as em tarefas, estimam esforço, identificam e refinam aspectos funcionais e não funcionais do objeto de teste.
Critérios de Entrada: São as condições prévias para realizar uma atividade. Se esse critério não for atendido a atividade pode se tornar cara, demorada e arriscada. No desenvolvimento Ágil são chamados de Definição de Pronto - DoR - Definition of Ready.
Critérios de Entrada típicos: Disponibilidade de recursos, material de teste e nível de qualidade inicial do objeto de teste.
Critérios de Saída: Define o que deve ser alcançado para a atividade ser declarada como concluída. Esgotamento dos recursos pode ser considerado um critério de saída válido caso os riscos sejam aceitos pelos stakeholders. No desenvolvimento Agil são chamados de Definição de Feito - DoD - Definition of Done.
Critérios de Saída Típicos: Medidas de precisão e critérios de conclusão.
Critérios de Entrada e Saída devem ser definidos para cada nível de teste e serão diferentes com base no objetivo do teste.
Uma estimativa é a previsão da quantidade de trabalho relacionada ao teste, sendo baseada em suposições e sujeita a erros. Tarefas grandes devem ser decomposta em menores para poder ter uma estimativa mais precisa, entretanto são suposições sujeita a erros e todos os envolvidos devem estar cientes disso. Há 4 técnicas apresentadas aqui, são elas:
- Estimativa baseada em índices: Baseado em métricas. São usados Indicadores Padrão (números coletados de projetos anteriores) para estimar o esfoço do teste do novo projeto.
- Extrapolação: Baseado em métricas. Medições são feitas o mais cedo possível no projeto para coleta de dados, e a estimativa é feita com base na extrapolação desses dados. Muito adequado para SDLC iterativo.
- Wideband Delphi: Baseda em especialistas. São usadas as experiências dos especialistas para estimar o esforço, no qual chegam a um consenso em comum. O Planning Poker é uma variante, mais utilizada no desenvolvimento ágil.
- Estimativa de três pontos: Baseada em especialistas. Onde três estimativas são feitas, são elas:
- o: a mais otimista
- m: a mais provável
- p: a mais pessimista
- E: estimativa final
O erro de medição (SD) é cáculado da seguinte forma:
Exemplo de Estimativa em homens/hora:
o=6, m=9, p=18, então E=10+-2 homens/hora (entre 8 e 12 homens hora (10-2 ou 10+2))
e
Um cronograma de execução dos testes define a ordem de prioridade que os casos de teste devem ser executados, a sua priorização deve levar em conta diversos fatores e estratégias, as mais utilizadas são:
- Priorização baseada em risco: É baseada na análise de risco, onde os casos de teste que abrangem os riscos mais importantes são executados primeiro.
- Priorização baseada em cobertura: É baseada na cobertura, onde os casos de teste que têm maior cobertura são executados primeiro.
- Priorização baseada em requisitos: É baseada nos requisitos, onde os casos de teste que abrangem os requisitos mais importantes são executados primeiro.
Se um caso de teste de prioridade mais alta depender de um caso de teste de prioridade mais baixa, o caso de teste de prioridade mais baixa deve ser executado primeiro. A ordem da execução também deve levar em conta a disponibilidade dos recursos, como tempo, ambiente de teste e disponibilidade de pessoas.
A Pirâmide de Teste é um modelo no qual mostra que os teste podem ter diferentes níveis de minuciosidade, apoiam a equipe na automação de testes e na alocação de esforços, mostrando que diferentes objetivos são apoiados por diferentes níveis.
Camadas: representam grupos de teste. Quanto mais alta a camada menor será a granulariadade (minuciosidade), o isolamento e o tempo de execução do teste.
Os testes da camada inferior são pequenos, isolados, rápidos e verificam uma pequena parte da funcionalidade. Para grandes coberturas é necessário executar muitos deles.
Os testes da camada superior são complexos, de alto nível, lentos e de ponta a ponta. Para grandes coberturas não é necessário executar muitos deles.
O modelo original (Cohn-2009) tem as camadas: Teste de Unidade, Teste de Serviço e Teste de Interface do Usuário.
O modelo popular tem as camadas: Teste de Unidade (componente), Teste de Integração (Integração de componentes) e Teste de Ponta a Ponta (E2E).
Imagine a pirâmide como uma montanha, quanto mais alto você subir na montanha maior será a cobertura de visão ao seu redor, entretanto a dificuldade da subida se torna cada vez maior a cada passo que dá para o pico de mais alto nível. Já no pé da montanha, a dificuldade e esfoço são menores, entretanto a cobertura de visão também é menor.
É um modelo que agrupa os níveis, os tipos, as atividades, as técnicas e os produtos de trabalho dos testes no desenvolvimento ágil de software. Visa ajudar e facilitar a visualização, garantindo que todos os tipos e níveis de teste apropriados sejam incluidos no SDLC e também a diferenciar e descreves os tipos de teste para todos os stakeholders.
Podem ser voltado para os negócios ou tecnologia, orientando o desenvolvimento, e voltado para o produto ou equipe, medindo o comportamento em relação as expectativas.
Quadrante 1: Voltado para Tecnologia, apoia a Equipe. Teste de componentes e de integração de componentes que devem ser automatizados e incluídos no processo de CI.
Quadrante 2: Voltado par aos Negócios, apoia a Equipe. Testes funcionais, exemplos, testes de histórias de usuário, protótipos de experiência do usuário, teste de API e simulações. Verificam os critérios de aceite e podem ser manuais ou automatizados.
Quadrante 3: Voltado para os Negócios, avalia o produto. Testes exploratórios, testes de usabilidade e testes de aceite do usuário. São orientados para os usuários e geralmente manuais.
Quadrante 4: Voltado para Tecnologia, avalia o produto. Smoke Test (Teste de fumaça) e testes não funcionais (menos de usabilidade que está no Quadrante 3). Geralmente são automatizados.
Permite que as organizações aumentem a probabilidade de atingir seus objetivos, melhorem a qualidade de seus produtos e aumentem a confiança dos stakeholders.
As principais atividades de gerencimento de risco são:- Análise de Risco
- Controle de Risco
Teste baseado em risco: é uma abordagem no qual as atividades de teste são selecionadas, priorizadas e gerenciadas com base na análise e no controle de risco.
Risco: é um possível evento, perigo, ameaça ou situação que causa um evento adverso.
Pode ser caracterizado por dois fatores, que juntos expressam o nível do risco, são eles:- Probabilidade: probabilidade de ocorrência do risco.
- Impacto: ou Dano, é a consequência da ocorrência do risco.
Nível do risco: é a medida do risco, quanto maior o nível mais importante deve ser o tratamento para esse risco.
Riscos do Projeto: Estão relacionados ao gerenciamento e ao controle do projeto. Quando ocorrem tem impacto no cronograma, orçamento ou escopo do projeto, impedindo que ele atinja seus objetivos, os problemas incluem:
- Problemas organizacionais
- Problemas de pessoal
- Problemas técnicos
- Problemas de fornecedores
Riscos do Produto: Estão relacionados a características de qualidade do produto, podem resultar em consequências negativas, como :
- Insatisfação do usuário
- Perda de receita, confiança e reputação
- Danos a terceiros
- Altos custos de manutenção e sobrecarga do heldesk
- Penalidades criminais
- Em casos extremos danos físicos, lesões ou morte
Consiste na identificação e avaliação dos riscos do produto. Proporcionando como objetivo uma conscientização desses riscos e concentrando os esforços dos testes nos riscos maiores, minimizando o risco residual do produto. O ideial é que comece no inicio do SDLC.
Identificar consiste em gerar uma lista dos riscos, avaliar consiste em categorizar os riscos identificados de acordo com sua probabilidade, impacto e nível, priorizando e propondo maneiras de lidar com eles.
Na avaliação, pode-se usar as abordagens
- Quantitativa: O nível do risco é a multiplicação da probabilidade do risco e do impacto do risco.
- Qualitativa: O nível do risco é determinado com uma matriz de risco.
Os resultados da Análise de Risco do Produto são utilizados para influenciar:
- Determinar o escopo dos testes a serem realizados
- Determinar os níveis e tipos de teste a serem realizados
- Determinar as técnicas utilizadas e a cobertura a ser alcançada
- Estimar o esforço de teste das tarefas
- Priorização dos teste.
- Determinar se atividades além dos testes devem ser aplicadas para reduzir o risco
Consiste na mitigação e monitoramento de riscos. Ou seja, são as medidas tomadas em resposta aos riscos identificados e avaliados do produto.
Mitigação é a implementação de ações para reduzir o nível de risco, onde as ações são proposta na avaliação de risco. O monitoramento dos riscos garante que as ações de mitigação sejam eficazes, obtendo também mais informações para melhorar a avaliação e identificando novos riscos.
Várias opções de respostas ao risco do produto são possíveis após sua análise, como:
- Mitigação do risco por meio dos testes
- Aceite do risco
- Transferência do risco
- Plano de contigência
As ações que podem ser tomadas para mitigar os riscos por meio dos testes são:
- Selecionar testadores com experiência e habilidades adequadas para determinado tipo de risco
- Aplicar o nível adequado de independência de testes
- Conduzir revisões e aplicar análises estáticas
- Aplicar técnicas de teste e níveis de cobertura adequados
- Aplicar tipos de teste apropriados para as características afetadas
- Realizar testes dinâmicos, incluindo o de regressão
Monitoramento: coleta informações sobre os testes nas quais são utilizadas para avaliar o progresso e medir se os critérios de saída foram atendidos.
Controle: usa as informações do monitoramento para fornecer diretrizes de controle, como orientações e ações corretivas para obter testes mais eficazes e eficientes.
Exemplos de diretrizes de controle:- Repriorizar os testes quando um risco identificado se torna um problema
- Reavaliar se um item de teste atende aos critérios de entrada ou saída devido ao retrabalho
- Reajustar o cronograma de teste para lidar com um atraso na entrega do ambiente de teste
- Adicionar novos recursos quando e onde forem necessários
Conclusão do Teste: coleta dados de atividades de teste concluídas para consolidar a experiência, o material de teste necessário e qualquer informação relevante. Ocorre em marcos do projeto (ex.: nível de teste concluído, iteração finalizada, sistema lançado, etc).
São dados reunidos para mostrar o progresso em relação ao cronograma e orçamento planejados, também mostra a qualidade do objeto atual de teste e a eficácia das atividades em relação aos objetivos.
Métricas mais comuns:- Progresso do projeto (ex.: conclusão de tarefas)
- Progresso do teste (ex.: implementação dos TC)
- Qualidade do produto (ex.: tempo de resposta)
- Defeitos (ex.: densidade de defeitos)
- Risco (ex.: nível de risco residual)
- Cobertura (ex.: cobertura de requisitos)
- Custo (ex.: custo de teste)
Os relatórios de teste têm o objetivo de resumir e comunicar as informações do teste durante e após os testes. Existem os relatórios de progresso e os de conclusão. Sua formalidade e frequência dependem do seu público-alvo.
Os relatórios de progresso do teste são realizados durante o monitoramento e controle do teste, dando suporte ao controle do teste e fornecendo informações suficientes para modificar o cronograma, recurso ou o plano de teste quando necessário, além de manter os stakeholders informados. Podem incluir:
- Período de teste
- Progresso do teste, incluindo desvios
- Impedimentos para os testes e suas soluções
- Métricas de teste
- Riscos, novos e alterados
- Testes planejados para o próximo período
Um relatório de conclusão de teste resume um estágio específico do teste (ex.: nível de teste) e pode fornecer informações para os testes seguintes. É criado na conclusão do teste quando os critérios de saída forem atendidos. Relatórios de progresso e outros dados são utilizados para sua criação. Podem incluir :
- Resumo do teste
- Teste e avaliação da qualidade
- Desvios do plano de teste
- Impedimentos e soluções alternativas
- Métricas de teste baseadas nos relatórios de progresso
- Riscos não mitigados e defeitos não corrigidos
- Lições aprendidas
A forma de comunicar o status do teste pode variar de acordo com a organização e seus fatores, mas as opções incluem:
- Comunicação verbal
- Painéis (ex.: painéis de tarefas)
- Canais de documentação eletrônica (ex.: e-mail)
- Documentação on-line
- Relatórios de teste formais
Mais de uma opção pode ser utilizada, devendo ser adaptar ao nível de formalidade exigido e ao interesse do stakeholder de destino.
Gerenciamento de Configuação - CM - Configuration Management - identifica, controla e rastreia produtos de trabalho, sendo estes chamados de itens de configuração. Em Itens de configuração complexos, o CM registra os itens que o compõe, com seus relacionamentos e versões. Após a aprovação do item de configuração para o teste, é chamado de linha de base (baseline) e só pode ser alterado após um processo formal.
O CM tem o registro da alteração dos itens de configuração quando uma nova baseline é criada. Ele também garante que:
- A rastreabilidade é mantida durante todo o processo de teste e em todos os itens de configuração por meio de identificadores únicos, sendo eles controlados por versões, com as alterações e outros itens rastreados e relacionados.
- Os itens de documentação e software são referenciados na documentação de teste.
Aqui nesta seção 'Defeitos' se refere a qualquer anomalia registrada, podendo se tornar defeito ou não. O processo de Gerenciamento de Defeitos lida com as anomalias registradas de forma individual desde sua descoberta até seu fechamento, utilizando regras para sua classificação. É aconselhável lidar com os defeitos de testes estáticos e dinâmicos de forma semelhante.
Objetivos do relatório de defeitos:- Fornecer informações suficientes para resolver os problemas
- Fornecer meios de rastrear a qualidade do produto de trabalho
- Fornecer ideias para aprimorar os processos
- Identificador Exclusivo
- Título com breve resumo da anomalia
- Data da observação, organização emissora, autor e cargo do autor
- Identificação do objeto de teste e ambiente de teste
- Contexto do defeito (ex.: TC executado)
- Descrição da falha para permitir a reprodução (ex.: passo a passo, dados utilizados, gravações, etc)
- Os resultados esperados e os resultados reais
- A severidade do defeito (grau de impacto)
- Prioridade de correção
- Status do defeito (ex.: aberto, duplicado, adiado, rejeitado, fechado, etc)
- Referências (ex.: TC, UC, US)
Algumas ferramentas podem incluir alguns desses dados das características automaticamente.