Teste Estático

Resumo CTFL 4.0

06/09/24 - Ana Carolina Rodrigues Rocha

Este conteúdo é um resumo do capítulo 3 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 ;) .

Objetivos:
  • Aprender sobre os fundamentos dos testes estáticos.
  • Aprender sobre o processo de feedback e revisão.

Nos testes estáticos o software não precisa ser executado, é onde os produtos de trabalho são avaliados por meio de revisões ou análises estáticas. Os objetivos incluem melhoria da qualidade, detecção de defeitos e avaliação de características (ex.: legibilidade, testabilidade). Ele pode ser utilizado na Verificação e na Validação. A escrita colaborativa entre os stakeholders e integrantes das equipes nas histórias de usuário é essencial, é onde os Testadores ajudam a melhorar as histórias de usuário.

Segue o princípio do teste antecipado, onde identifica problemas antes dos testes dinâmicos. Na análise estática do código é frequentemente incorporada às estruturas de CI e avalia também a capacidade de manutenção e a segurança. Em documentos, verificadores ortográficos e outras ferramentas podem ser incorporadas.

Os produtos de trabalho que são difícieis de serem interpretados por seres humanos e por ferramentas não são apropriados para testes estáticos.

Qualquer produto de trabalho que possa ser lido e compreendido pode ser objeto de uma revisão ou análise estática, na análise os produtos de trabalho precisam de uma estrutura modelo.

  • Segue o princípio do teste antecipado.
  • Identifica defeitos não encontrados nos testes dinâmicos.
  • Avalia a qualidade e confiança nos produtos de trabalho.
  • Melhora a Validação além da Verificação.
  • Diminui os custos e esforços na correções de defeitos.

Os testes dinâmicos e estáticos se complementam e visam detectar defeitos e avaliar a qualidade em produtos de trabalho. Mas suas difenças são:

Testes Estáticos:
  • Há tipos de defeitos que só podem ser encontrados por testes estáticos, como código inacessível, padrões de projeto, defeitos em produtos de trabalho não executáveis.
  • Encontra defeitos diretamente no produto de trabalho.
  • É aplicado em produtos de trabalho que podem ou não ser executados.
  • Encontra defeitos que podem nunca ser executados.
  • Mede características de qualidade que não dependem da execução do código. Ex.: Capacidade de manutenção.
Testes Dinâmicos:
  • Há tipos de defeitos que só podem ser encontrados por testes dinâmicos.
  • O defeito será identificado apenas após uma análise da causa da falha provocada durante a execução do software.
  • Só é aplicado a produtos de trabalho que podem ser executados.
  • Mede características de qualidade que dependem da execução do código. Ex.: Eficiência de performance.
Defeitos típicos dos testes estáticos:
  • Defeitos nos requisitos (incosistências, contradições, etc).
  • Defeitos de projeto (estrutura de banco de dados, etc).
  • Defeitos de codificação (variáveis não declaradas, código duplicado, etc).
  • Desvios dos padrões (padrões de condificação, projeto, etc).
  • Especificação incorreta da interface (número, tipo, ordem de parâmetros).
  • Vulnerabilidade de segurança (estouro de buffer).
  • Lacunas na cobertura da base de testes (testes ausentes para um critério de aceite, etc).

De acordo com o site Significados, Feedback é uma palavra inglesa que significa realimentar ou dar resposta a um determinado pedido, ou acontecimento (feed = alimentar e back = de volta). Está presente tanto no meio empresarial como nas relações humanas. Basicamente, o feedback consiste em alguém entregar algo (trabalho, serviço, produto e até mesmo atitudes ou conversas) e receber uma resposta quanto a isso. Sendo assim, a palavra o feedback seria uma resposta ou reação, podendo ser um feedback positivo ou negativo.

De acordo com o Glossary ISTQB, Revisão é um tipo de teste estático no qual a qualidade de um produto de trabalho é avaliada por indivíduos.

Neste indíce veremos como o processo de revisão e feeedback das revisões se relacionam entre si, a sua importância, atividades, funções, responsabilidades, fatores de sucesso e os tipos de revisões.

O feedback antecipado e frequente permite a comunicação precoce de possíveis problemas de qualidade, ajuda a evitar mal-entendidos sobre os requisitos, melhora a compreensão do que está sendo desenvolvido, permite que a equipe se concentre nos itens que são mais valiosos para os stakekholders e para o produto.

Realizar o feedback antecipado e frequente pode evitar entregar trabalhos não desejados e consequentemente o retrabalho, perda de prazos, jogos de culpa e o fracasso total do projeto.

O processo de revisão pode ser adaptado de acordo com o produto de trabalho a ser testado, podendo ou não utilizar todos as atividades descritas aqui. Em um produto de trabalho muito grande o processo de revisão pode ser invocado mais de um vez.

  • Planejamento: É definido o escopo da revisão com o objetivo, o produto de trabalho a ser avaliado, as características a serem avaliadas, as áreas de foco, critérios de saída, as informações de apoio (padrões, esforço) e o prazo da revisão.
  • Início da revisão: Garante que todos os envolvidos tenham acesso ao produto de trabalho, estando preparados para revisão.
  • Revisão individual: Cada revisor realiza uma revisão individual, utilizando ou não técnicas e registrando as anomalias, recomendações e perguntas encontradas.
  • Comunicação e análise de Problemas: Nem toda anomalia é um defeito, então elas precisam ser análisadas e discutidas, onde uma tomada de decisão será feita para elas. Aqui também pode ser definido o nível da qualidade do produto e quais ações de acompanhento são necessárias.
  • Correção e relatório: Cada defeito tem um relatório e ações corretivas. Quando o critério de saída é atingido, o produto de trabalho é aceito e os resultadods das revisões são relatados.

  • Gerente: decide o que deve ser revisado e fornece recursos.
  • Autor: cria e corrige o produto de trabalho.
  • Moderador: facilitador, faz a mediação e garante o andamento das reuniões com um ambiente seguro e com tempo gerenciado.
  • Revisor: realiza revisões.
  • Líder da revisão: assume a responsabilidade pela revisão, decide os envolvidos, quando e onde acontecerá a revisão.

Alguns tipos de revisão são:

  • Revisão informal: não seguem um processo definido e não exige um resultado formalmente documentado. Seu principal objetivo é detectar anomalias.
  • Walkthrough: É um Passo a Passo, conduzido pelo autor que pode ter objetivos além de detectar anomalias, como avaliar a qualidade, criar confiança no objeto de teste, instruir revisores, obter consenso e motivar os autores.
  • Revisão Técnica: É uma revisão realizada por técnicos qualificados e liderada por um moderador. Tem objetivos além de detectar anomalias, como tomar decisões em relação a um problema técnico, avaliar a qualidade, criar confiança, gerar novas ideias, capacitar e motivar os autores.
  • Inspeção: É o processo mais formal de revisão, seguindo o processo genérico com todas as atividades no processo de revisão (3.2.2). Tem objetivos além de detectar as anomalias, como avaliar a qualidade, criar confiança e motivar os autores. Aqui as métricas são coletadas para melhorar os processos e as responsabilidades dentro da revisão são distintas.

As revisões podem ser mais formais ou mais informais, para definir o tipo de revisão é necessário saber da formalidade necessária, do SDLC, da maturidade do desenvolvimento, da importância e complexidade do produto, dos requisitos legais ou regulamentares e da necessidade de auditoria. Também é necessário alinhar aos objetivos, necessidades do projeto, recursos disponíveis, tipos e riscos, o domínio do negócio e a cultura da empresa.

  • Definir objetivos claros com critérios de saída mensuráveis.
  • Escolher o tipo de revisão apropriado ao projeto, aos participantes e conforme o objetivo.
  • Realizar revisões em pequenas partes.
  • Fornecer feedback das revisões aos autores e stakeholders para aprimoramento.
  • Fornecer tempo suficiente aos participantes para se prepararem para revisão.
  • Tornar revisões parte da cultura, aprimorando os processos e promovendo o aprendizado.
  • Fornecer treinamento adequado aos participantes.
  • Ter reuniões facilitadas.