Fundamentos do Teste de Software

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é um objetivo típico do teste de software?

  • Corrigir imediatamente todos os defeitos encontrados.
  • Aprovar o software para lançamento sem ressalvas.
  • Criar a documentação do usuário.
  • Identificar os objetivos típicos de teste. (correct)

Qual a diferença fundamental entre teste e depuração?

  • Depuração é feita por testadores, teste por desenvolvedores.
  • Teste identifica defeitos, depuração os corrige. (correct)
  • Não há diferença, são sinônimos.
  • Teste é automatizado, depuração é manual.

Qual a consequência comum de softwares que não funcionam corretamente?

  • Aumento da satisfação do cliente.
  • Aumento na velocidade de desenvolvimento.
  • Melhora na reputação da empresa.
  • Perda de dinheiro. (correct)

Qual é o principal propósito do teste de software?

<p>Avaliar a qualidade e reduzir riscos. (C)</p> Signup and view all the answers

Qual das alternativas a seguir NÃO é uma atividade de teste?

<p>Executar o software e verificar os resultados (B)</p> Signup and view all the answers

Qual das alternativas a seguir É uma atividade de teste?

<p>Análise (B)</p> Signup and view all the answers

Com o que o teste de software deve estar alinhado?

<p>Com o ciclo de vida de desenvolvimento de software. (D)</p> Signup and view all the answers

Qual é o principal objetivo das atividades de teste?

<p>Descobrir defeitos. (C)</p> Signup and view all the answers

O que o teste de software também valida?

<p>Se atende as necessidades. (C)</p> Signup and view all the answers

Qual habilidade é essencial para um bom teste de software?

<p>Habilidades analíticas. (B)</p> Signup and view all the answers

Qual é o objetivo principal de se encontrar defeitos no software?

<p>Melhorar a qualidade do software. (B)</p> Signup and view all the answers

O que significa 'verificar a conformidade com os requisitos'?

<p>Assegurar que o software cumpra as especificações. (A)</p> Signup and view all the answers

Qual é o resultado de fornecer informações para a tomada de decisão através dos testes?

<p>Melhorar a tomada de decisões. (C)</p> Signup and view all the answers

O que pode variar de acordo com o contexto, nível e ciclo de vida?

<p>Os objetivos do teste. (B)</p> Signup and view all the answers

Qual atividade é parte da depuração?

<p>Identificar a causa de uma falha. (A)</p> Signup and view all the answers

O que o teste mostra?

<p>A presença de defeitos. (D)</p> Signup and view all the answers

Quais objetivos os testes ajudam a atingir?

<p>Objetivos acordados dentro do escopo, tempo e qualidade (D)</p> Signup and view all the answers

O que os testes contribuem para os sistemas?

<p>Para sistemas de maior qualidade. (B)</p> Signup and view all the answers

Qual é a relação entre Teste e QA?

<p>Teste é uma forma de controle de qualidade (QC). (B)</p> Signup and view all the answers

O que significa QA (Quality Assurance)?

<p>Uma abordagem preventiva focada no processo. (D)</p> Signup and view all the answers

Os resultados dos testes são usados por QA e QC para...

<p>Corrigir defeitos. (A)</p> Signup and view all the answers

No processo de QA, os resultados dos testes fornecem...

<p>Feedback sobre a performance do processo. (B)</p> Signup and view all the answers

O que é um erro no contexto de testes de software?

<p>Uma ação humana que produz um defeito. (C)</p> Signup and view all the answers

Quando um defeito é executado, o que acontece?

<p>O sistema falha. (B)</p> Signup and view all the answers

O que é um defeito (bug)?

<p>Um problema no código ou documento. (A)</p> Signup and view all the answers

O que pode ser identificado por meio da análise de causa-raiz?

<p>O motivo fundamental para a ocorrência de um problema. (A)</p> Signup and view all the answers

Quais são identificados por meio da análise de causa-raiz?

<p>O motivo fundamental para a ocorrência de um problema. (B)</p> Signup and view all the answers

Qual dos princípios de teste afirma que testar tudo é inviável?

<p>Testes exaustivos são impossíveis. (A)</p> Signup and view all the answers

O que significa o princípio 'defeitos se agrupam'?

<p>Um número pequeno de funções contém a maioria dos defeitos. (C)</p> Signup and view all the answers

O que significa o princípio 'os testes se degradam'?

<p>Testes perdem a eficácia ao longo do tempo. (C)</p> Signup and view all the answers

De que forma os testes são realizados?

<p>De forma diferente conforme o contexto. (B)</p> Signup and view all the answers

De acordo com o princípio da 'falácia da ausência de defeitos', o que acontece se o sistema construído não atende às expectativas dos usuários?

<p>Encontrar e consertar defeitos não ajuda. (B)</p> Signup and view all the answers

O que um processo de teste possui?

<p>As seguintes principais atividades (D)</p> Signup and view all the answers

O que envolve o planejamento do teste?

<p>Definir os objetivos e a abordagem do teste. (D)</p> Signup and view all the answers

O que é Monitoramento no contexto do teste?

<p>Verificação contínua de todas as atividades de teste. (A)</p> Signup and view all the answers

Na análise do teste, qual é o primeiro passo?

<p>Determinar o que testar. (B)</p> Signup and view all the answers

O que se determina na modelagem do teste?

<p>Como testar. (B)</p> Signup and view all the answers

O que são criados e priorizados na implementação do teste?

<p>Scripts de teste manuais e automatizados. (A)</p> Signup and view all the answers

O que se faz durante a execução do teste?

<p>Executar os testes. (D)</p> Signup and view all the answers

O que acontece durante a conclusão do teste?

<p>As lições aprendidas são documentadas. (C)</p> Signup and view all the answers

No processo de teste, com que as atividades de teste são parte integrante?

<p>Com os processos de desenvolvimento. (B)</p> Signup and view all the answers

Por quem os testes são financiados??

<p>Stakeholders (B)</p> Signup and view all the answers

Flashcards

Teste de Software

Avalia a qualidade do software e reduz o risco de falha em operação.

Teste

Mostra falhas causadas por defeitos no software.

Depuração (Debug)

Reproduzir a falha, diagnosticar a causa e corrigir.

Por que o teste é necessário?

Ajudam a atingir objetivos dentro do escopo, tempo, qualidade e restrições orçamentárias.

Signup and view all the flashcards

Contribuições do teste

Contribuem para sistemas de maior qualidade, detectando e removendo defeitos.

Signup and view all the flashcards

Teste e Controle de Qualidade (QC)

O teste é uma forma de controle de qualidade (QC).

Signup and view all the flashcards

Controle de Qualidade (QC)

Abordagem corretiva e orientada para o produto que concentra-se nas atividades que apoiam a obtenção de níveis adequados de qualidade.

Signup and view all the flashcards

Garantia da Qualidade (QA)

Abordagem preventiva e orientada para o processo, concentrando-se na implementação e aprimoramento dos processos.

Signup and view all the flashcards

Causa-Raiz

Motivo fundamental para a ocorrência de um problema, identificada por meio da análise de causa-raiz.

Signup and view all the flashcards

Teste e defeitos

O teste mostra a presença de defeitos, mas não prova que eles não existem.

Signup and view all the flashcards

Testes antecipados

A atividade de teste deve começar o mais breve possível no ciclo de desenvolvimento para economizar tempo e dinheiro.

Signup and view all the flashcards

Falácia da ausência de defeitos

Encontrar e consertar defeitos não ajuda se o sistema construído não atende às expectativas dos usuários.

Signup and view all the flashcards

Processo de Teste

Não existe um processo universal de teste; ele deve ser adaptado à situação.

Signup and view all the flashcards

Planejamento do Teste

Envolve definir objetivos e abordagem do teste de acordo com as restrições do contexto.

Signup and view all the flashcards

Monitoramento do teste

Verificação contínua das atividades de teste e comparação do progresso real com o plano.

Signup and view all the flashcards

Controle do teste

Ações necessárias para atender aos objetivos do teste.

Signup and view all the flashcards

Análise do Teste

Analisa especificações e código para identificar recursos testáveis, definir e priorizar condições de teste e riscos.

Signup and view all the flashcards

Modelagem do Teste

Transforma condições de teste em casos de teste e outros materiais.

Signup and view all the flashcards

Implementação do Teste

Criação ou aquisição do material de teste necessário para a execução.

Signup and view all the flashcards

Execução do Teste

Executar/rodar os testes e comparar com os resultados esperados.

Signup and view all the flashcards

Conclusão do Teste

Ocorre nos marcos do projeto, análise e conclusões são documentadas para ações futuras.

Signup and view all the flashcards

Teste no Contexto

Processo de teste financiado pelos stakeholders está integrado ao ciclo de desenvolvimento.

Signup and view all the flashcards

Habilidades para Testadores

Habilidades como comunicação, pensamento crítico, atenção aos detalhes e conhecimento técnico.

Signup and view all the flashcards

Habilidades Genéricas

Cuidado, a objetividade pode ser afetada por discordância com as crenças atuais e críticas ao produto.

Signup and view all the flashcards

Abordagem de equipe

Qualquer membro da equipe executa qualquer tarefa e todos são responsáveis pela qualidade.

Signup and view all the flashcards

Independência dos testes

Ocorre com testadores independentes externamente à organização, trabalhando dentro ou fora do escritório.

Signup and view all the flashcards

Study Notes

O que é Teste?

  • FL-1.1.1 (K1) Visa identificar os objetivos típicos de teste.
  • FL-1.1.2 (K2) Visa diferenciar o teste da depuração.
  • Softwares que não funcionam podem resultar em consequências financeiras, de tempo, reputação e até mesmo ferimentos ou morte.
  • Teste de Software avalia a qualidade do software e ajuda a reduzir o risco de falha em operação.
  • Teste não é apenas executar o software e verificar resultados ou verificar requisitos específicos.
  • Teste é planejamento, análise, modelagem, implementação, execução, relatórios e validação para atender às necessidades dos usuários.
  • O teste de software deve estar alinhado com o ciclo de vida de desenvolvimento do software.
  • As atividades de teste têm como propósito descobrir defeitos e avaliar a qualidade dos artefatos de software.
  • O teste não só verifica se os requisitos são atendidos, mas também valida se as necessidades são atendidas.
  • Apesar das ferramentas, o teste é, em grande parte, uma atividade intelectual que exige habilidades analíticas, pensamento crítico e sistêmico.

Objetivos do Teste

  • Encontrar defeitos.
  • Evitar defeitos.
  • Criar confiança sobre o nível de qualidade.
  • Fornecer informações para a tomada de decisão
  • Avaliar produtos de trabalho.
  • Garantir a cobertura necessária do objeto de teste.
  • Reduzir o nível de risco.
  • Verificar a conformidade com requisitos.
  • Os objetivos do teste podem variar de acordo com o contexto, nível de teste e modelo de ciclo de vida.

Teste E Depuração

  • O teste mostra falhas causadas por defeitos (bugs) no software.
  • O teste confirma se um defeito foi corrigido através do teste de confirmação.
  • Regressão é usada para verificar se tudo continua funcionando.
  • Depuração reproduz a falha e diagnostica (encontrar a causa) para corrigi-la.

Razões Para a Necessidade de Testes

  • Os testes ajudam a atingir objetivos acordados de escopo, tempo, qualidade e restrições orçamentárias.
  • Todos podem testar conforme suas habilidades para colaborar com o sucesso do projeto.
  • Os testes contribuem para sistemas de maior qualidade, removendo defeitos.
  • O teste avalia a qualidade do sistema no SDLC, auxiliando decisões.
  • Os testes atendem a requisitos contratuais, legais ou regulatórios.
  • Testadores precisam entender as necessidades dos usuários dentro do ciclo de vida de desenvolvimento.

Garantia da Qualidade

  • Teste e QA não são a mesma coisa. Teste é uma forma de controle de qualidade (QC).
  • QC é uma abordagem corretiva orientada para o produto, focada em atividades que apoiam níveis adequados de qualidade.
  • Na Garantia da Qualidade (QA), o teste desempenha um papel importante ao fornecer feedback sobre a performance.
  • QA (Quality Assurance) é uma abordagem preventiva orientada para o processo.
  • QA concentra-se na implementação e aprimoramento dos processos.
  • Se um bom processo for seguido corretamente, ele gerará um bom produto.

Erros, Defeitos e Falhas

  • Erro: Um ser humano comete um erro (engano).
  • Defeito: Algo que produz um defeito (bug) no código ou documento
  • Falha: Se um defeito é executado, o sistema falha.
  • A falta de conhecimento, pressão no prazo, fatores emocionais.
  • Falhas podem ser causadas por códigos complexos, infraestrutura complexa e mudanças na tecnologia.
  • Alguns defeitos levam sempre a falhas, enquanto outros só em circunstâncias específicas. Alguns não levam a falhas.
  • Falhas também podem ser causadas por condições ambientais (clima, campo eletromagnético, etc.).
  • A causa-raiz é o motivo da ocorrência de um problema. A análise da causa-raiz é realizada quando uma falha ocorre ou quando um defeito é identificado.
  • Se a causa-raiz for analisada e remediada, geralmente outras falhas ou defeitos semelhantes serão evitados no futuro.

Os Sete Princípios do Teste

  • Princípio 1: O teste mostra a presença, não a ausência de defeitos. O teste demonstra a presença de defeitos, mas não prova que eles não existem.
  • Princípio 2: Testes exaustivos são impossíveis. Não é viável testar tudo.
  • Princípio 3: Testes antecipados economizam tempo e dinheiro. A atividade de teste deve começar o mais breve possível no ciclo de desenvolvimento.
  • Princípio 4: Defeitos se agrupam. Um número pequeno de funções contém a maioria dos defeitos.
  • Princípio 5: Os testes se degradam. Um mesmo conjunto de testes repetidos várias vezes pode não encontrar novos defeitos após um determinado momento. Os casos de testes necessitam ser frequentemente revisados e atualizados.
  • Princípio 6: Os testes dependem do contexto. Testes são realizados de forma diferente conforme o contexto.
  • Princípio 7: Falácia da ausência de defeitos. Encontrar e consertar defeitos não ajuda se o sistema construído não atende às expectativas dos usuários.

Atividades De Teste

  • Não existe um processo universal de teste.
  • O processo é o conjunto de atividades para maior probabilidade de atingir os objetivos.
  • O processo de teste pode ser adaptado a uma determinada situação com base em vários fatores.
  • O processo ideal depende de muitos fatores.
  • Um processo de teste possui as seguintes atividades principais: Planejamento, Monitoramento e Controle
  • Análise de Teste, Modelagem, Implementação, Execução e Conclusão.
  • As atividades do teste podem ocorrer em paralelo.

Planejamento do Teste

  • Envolve as atividades que definem os objetivos e a abordagem do teste dentro das restrições impostas pelo contexto.
  • Os planos de teste podem ser revisitados com base no feedback das atividades de monitoramento e controle.

Monitoramento e Controle

  • Monitoramento: Verificação contínua de todas as atividades de teste e comparação do progresso real com o plano de teste.
  • Controle: Tomada de ações necessárias para atender aos objetivos do teste.
  • O progresso é comunicado aos Stakeholders por meio de relatórios.

Análise do Teste

  • Determina “O que” testar.
  • Analisa a base de teste apropriada ao nível de teste (especificações, modelagens, código, etc).
  • Identifica recursos testáveis, define e prioriza condições de teste e riscos.
  • A base de teste e os objetos de teste também são avaliados para identificar defeitos que possam conter e para avaliar sua testabilidade.
  • Geralmente é apoiada pelo uso de técnicas de teste .

Modelagem do Teste

  • Determina “Como” testar.
  • Transforma condições de teste em casos de teste e outros materiais (ex. cartas de teste)
  • Identifica os itens de cobertura, que servem como guia para especificar as entradas do caso de teste.
  • As técnicas de teste podem ser usadas para apoiar a modelagem.
  • Inclui a definição dos dados de teste, projeto do ambiente de teste e a identificação da infraestrutura.

Implementação do Teste

  • Criação ou a aquisição do material de teste necessário para a execução (ex. dados de teste)
  • Os casos de teste podem ser organizados em procedimentos de teste (passos) e geralmente são reunidos em conjuntos de testes.
  • Scripts de teste manuais e automatizados são criados.
  • Os procedimentos de teste são priorizados e organizados em um cronograma de execução de teste.
  • O ambiente de teste é criado e verificado quanto à configuração correta.

Execução do Teste

  • Executar ou rodar os testes de acordo com o cronograma de execução.
  • A execução do teste pode ser manual ou automatizada. Pode assumir várias formas.
  • Os resultados atuais dos testes são comparados com os resultados esperados.
  • Os resultados do teste são registrados.
  • As anomalias (bugs) são analisadas para identificar suas causas prováveis.
  • Esta análise permite relatar as anomalias com base nas falhas observadas.

Conclusão do Teste

  • Ocorre nos marcos do projeto (Ex: lançamento, fim da iteração, conclusão do nível de teste).
  • Qualquer material de teste que possa ser útil no futuro é identificado e arquivado.
  • O ambiente de teste é encerrado em um estado acordado.
  • As atividades de teste são analisadas para identificar as lições aprendidas e as melhorias futuras.
  • Um relatório de conclusão do teste é criado e comunicado aos stakeholders.

Processo de Teste no Contexto

  • As atividades de teste são parte integrante dos processos de desenvolvimento.
  • Os testes são financiados pelos stakeholders e seu objetivo final é ajudar a atender às necessidades de negócio deles.
  • Fatores do contexto que influenciam o teste: Stakeholders, Membros da equipe Domínio do negócio, Fatores técnicos e organizacionais.
  • Restrições do projeto, Ciclo de vida de desenvolvimento, Ferramentas.
  • Esses fatores impactarão a estratégia de teste, técnicas de testes usadas, grau de automação, nível de cobertura necessária
  • Impacta tambem nível de detalhe da documentação e dos relatórios.

Testware

  • Testware são produtos de trabalho de saída de cada atividade de teste.
  • Cada organização produz, molda, nomeia, organiza e gerencia seus produtos de trabalho de uma forma diferente.
  • A gestão de configuração garante a consistência e a integridade dos produtos de trabalho.

Planejamento do Teste

  • Planos de Teste
  • Cronograma de testes
  • Registro de riscos
  • Critérios de entrada e saída

Monitoramento e Controle

  • Relatórios de progresso de testes
  • Documentação de diretrizes de controle
  • Informações sobre Riscos

Análise

  • Condições de Teste definidas e priorizadas
  • Relatórios de Defeitos não corrigidos diretamente

Modelagem

  • Casos de Teste
  • Carta de Teste
  • Dados de Teste, Cobertura, Ambientes

Implementação

  • Procedimentos de Teste (Passo a passo / Detalhamento)
  • Scripts de Teste automatizado
  • Conjuntos de Teste / Dados de Teste
  • Cronograma de Execução
  • Elementos do Ambiente de Teste (drivers, stubs, virtualização)

Execução

  • Registros de Teste
  • Relatórios de Defeitos

Conclusão

  • Relatórios de Teste
  • Itens de ação / lições aprendidas documentadas para melhoria dos próximos projetos

Rastreabilidade

  • Para implementar o monitoramento e o controle eficazes dos testes, é importante estabelecer e manter a rastreabilidade em todo o processo de teste.
  • A rastreabilidade precisa dá suporte à avaliação da cobertura, que é um indicador muito importante.
  • A rastreabilidade dos casos de teste aos requisitos pode verificar se os requisitos são cobertos pelos casos de teste.
  • A rastreabilidade dos resultados dos testes aos riscos pode ser usada para avaliar o nível de risco residual em um objeto de teste.
  • A boa rastreabilidade permite determinar o impacto das mudanças, facilita as auditorias de teste e ajuda a atender os critérios de governança de TI.
  • A boa rastreabilidade também torna o progresso do teste e os relatórios de conclusão mais compreensíveis.
  • A rastreabilidade fornece informações para avaliar a qualidade do produto, a capacidade do processo e o progresso do projeto em relação aos objetivos de negócio.

Papéis nos Testes

  • Gerenciamento de Teste tem responsabilidade pelo processo e equipe de teste e pela liderança das atividades de teste.
  • O Testador tem responsabilidade pela engenharia (técnico) do teste, executa os testes, avalia os resultados e documenta, avalia as caracteristicas não funcionais.
  • Gerenciamento de Teste envolve o planejamento, monitoramento, controle e conclusão de testes
  • Os Papéis (gerenciamento e testador) variam de acordo com o contexto
  • No desenvolvimento ágil, algumas das tarefas de gerenciamento de testes podem ser realizadas pela equipe ágil.
  • As tarefas que abrangem várias equipes são executadas por gerentes de teste fora da equipe de desenvolvimento.
  • Dependendo dos riscos do produto/projeto e do ciclo de vida, pessoas diferentes podem assumir o papel de testador em diferentes níveis de teste.
  • Os papéis podem ser assumidos por pessoas diferentes e até uma unica pessoa.

Habilidades Genéricas dos Testadores

  • Conhecimento sobre testes
  • Meticulosidade, cuidado, curiosidade, atenção aos detalhes, ser metódico
  • Ótimas habilidades de comunicação, senso crítico e criatividade
  • Boas habilidades para trabalhar em equipe, tecnico e conhecimento do dominio.
  • Em geral os testadores são portados de más noticias.
  • Testadores independentes podem ser vistos como gargalo ou culpados por atrasos na liberação, e não ter informações importantes.
  • Os testadores precisam comunicar defeitos de forma construtiva.

Abordagem De Equipe Completa

  • Prática do XP (Extreme Programming).
  • Qualquer membro da equipe com o conhecimento pode executar qualquer tarefa.
  • Todos são responsáveis pela qualidade e compartilham o mesmo espaço de trabalho (físico ou virtual).
  • Abordagem melhora a dinâmica e comunicação entre a equipe.
  • Testadores trabalham em colaboração com os membros da equipe
  • Auxiliam os representantes a criar testes mais adequados
  • Testadores auxiliam na estratégia de teste
  • Os Testadores podem transferir conhecimento aos outros membros

Independencia dos Testes

  • São testes realizados por alguém que não seja o autor do código.
  • Existem diferentes níveis de independência (quanto mais isolado o teste do desenvolvimento, mais independente)
  • Sem independência - Sem testadores independentes, desenvolvedores testam seu proprio código
  • Alguma independência - Desenvolvedores independentes ou testadores dentro das equipes
  • Alta independência - Realizado por testadores de fora da equipe do autor
  • Independência muito alta - Testadores independentes externos à organização.
  • Vantagens da independencia é encontrar diferentes tipos de falhas
  • Testador garante não ter ideia sobre o que testar não ter apego
  • Desvantagens - Isolamento da equipe, erros e atraso no feedback

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Software Testing Fundamentals
16 questions

Software Testing Fundamentals

DetachableSanctuary378 avatar
DetachableSanctuary378
Software Testing Fundamentals
42 questions
Use Quizgecko on...
Browser
Browser