Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento...

72
Teste de Software Teste de Software Apresentação Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: [email protected]

Transcript of Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento...

Page 1: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareTeste de Software

ApresentaçãoApresentação

Prof Daves MartinsMsc Computação de Alto Desempenho

Email: [email protected]

Page 2: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Agenda

Teste de Software VV&T e Defeitos de SoftwareInspeção de SoftwareTeste UnitárioAnálise do Valor LimiteTeste com Objetos MockTeste de CoberturaTeste em Banco de DadosTeste de MutaçãoTeste de IntegraçãoTeste FuncionalParticionamento em Classes de EquivalênciaTeste de DesempenhoTeste em Web ServicesDesenvolvimento Dirigido pelo TesteIntegração ContínuaControle de Defeitos

Page 3: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Considerações Importantes

• Disciplina 72h/a

• Faltas - 25% - 18 faltas;

Page 4: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Avaliação

• T1 - Trabalhos: (10 trabalhos práticos) (100 pts)

• TF - Trabalho Final (120 pts)

• S - Seminários (80 pts)

• A - Artigos (10 Artigos) – Leitura e Resumo (10 pts extra)

• Nota Final = (T1 + TF + S )

3

Page 5: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Referências Bibliográficas

DELAMARO, M.E.; MALDONADO, J.C.; JINO, M. Introdução ao Teste de Software. Elsevier Editora, 2007.

MYERS, G., BADGETT, T., THOMAS, T., SANDLER, C., The Art of Software Testing. Wiley; 3rd Edition, ISBN 978-1118031964. 2011.

Page 6: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Metodologia

Aulas teóricas e práticas, idealmente alternadas

Seminários ministrados pelos alunos

Projeto de disciplina

Page 7: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema
Page 8: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema
Page 9: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema
Page 10: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema
Page 11: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Pensamentos Importantes!!!

Page 12: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Pensamentos Importantes!!!

Page 13: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema
Page 14: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

“O software sempre será testado. Pode ser testadopor você ou será testado pelo seu cliente/usuário.”

Page 15: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareProblemas ocorridos na utilização de produtos de software, percebidos muitas vezes pelo usuário final, podem ser decorrentes de falta de qualidade no processo de desenvolvimento, onde técnicas de inspeção e de testes são fortes aliadas na identificação precoce dos defeitos, melhorando a satisfação do usuário e minimizando os elevados custos associados a manutenções corretivas

Uma das formas de melhorar a qualidade na construção de software é a implementação de procedimentos de teste em todas as fases de seu ciclo de vida

Page 16: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareEntretanto, esta é uma prática pouco utilizada nas empresas, pois normalmente necessita de grande mão-de-obra e um esforço desregrado com resultados pouco favoráveis em muitos casos

Isso acontece, pois testes devem ser embasados em fundamentos lógicos, e não simplesmente voltados para execução de funcionalidades aleatoriamente, em tentativas tendenciosas de encontrar defeitos

Page 17: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareNão é possível aplicá-los exaustivamentePara aumentar sua eficácia, deve ser executado por equipes independentes

Um bom teste:Possui alta probabilidade de encontrar um defeitoNão é redundanteÉ abrangente o suficientePossui um nível adequado de complexidade

Page 18: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareO teste é uma atividade destrutiva, ao contrário do desenvolvimento de software, que é uma atividade construtiva

Inexistência de falhas: o software é de altaqualidade ou o teste é de baixa qualidade?

Tipos de teste: unidade, cobertura, integração,regressão, funcional, desempenho

Teste Homologação (ou de Aceitação): aceitepelo usuário final

Page 19: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwarePoucos programadores e analistas gostam deTeste

Teste Alfa: executado na instalação do desenvolvedor pelo cliente

Teste Beta: executado na instalação de um ou mais clientes pelo usuário final do software

Casos de Uso devem considerar criticalidade efreqüência (Alta, Média, Baixa) para definir aprioridade do teste

Page 20: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareTécnica Funcional (Caixa-Preta): baseia-se na especificação do software para derivar os casosde teste•Particionamento em Classes de Equivalência•Análise do Valor Limite

Técnica Estrutural (Caixa-Branca): baseia-se no conhecimento da estrutura interna da implementação•Complexidade Ciclomática

Page 21: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 22: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareDefeitos no Processo de DesenvolvimentoA maior parte é de origem humanaQuanto antes a presença de um defeito for revelada, menor o custo de sua correção e maior a probabilidade de corrigi-lo corretamente

Deve-se introduzir atividades de VV&T(Verificação, Validação e Teste) ao longo de todo o ciclo de desenvolvimento

Page 23: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 24: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 25: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

25

:.: O Processo de Testes de Software:.: O Processo de Testes de Software

Estratégia de testes

Testes caixa branca

Testes exploratórios

Testes caixa preta

Testes de vulnerabilidades

Testes de Carga e Stress

Testes Funcionais

Testes baseados em cenários Testes negativos

Inspeção de Artefatos Doc.

Verificação de Diagramas UML

Validação de modelos ER

Validação/Verificação de requisitos

Régua de Avaliação Fornecedores

Testes unitários

A estratégia de testes faz parte da Metodologia dos testes !!!

Testes de regressão

Testes automatizados

Page 26: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

26

Slide: 26

• O programa de certificação do Quality Assurance Institute (QAI) é um dos mais aceitos internacionalmente.

• Existem dois tipos de certificação:1. CSTE (“produto”): preparação do ambiente de

testes; planejamento de testes; test design; execução de testes; automação; ferramentas; elaboração de relatórios; etc.

2. CSQA (“processo”): estrutura de modelos de qualidade; definição de padrões de prática e controle de qualidade; construção, implementação e melhoria dos processos de qualidade; métricas.

• Outras instituições outorgantes: International Software Testing Institute e American Society for Quality

:.: Certificação Profissional:.: Certificação Profissional

Page 27: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

27

Slide: 27

:.: Papéis & Responsabilidades:.: Papéis & Responsabilidades

Papel Responsabilidades

Gerente, Coordenador ou Líder de testes

Viabiliza os recursos necessários para um esforço de testes; conduz as atividades e as monitora em conformidade com o planejamento; Realoca recursos ao longo do ciclo.

Analistas de Testes Planeja a estratégia e elabora casos de testes, baseando-se nos requisitos de negócio do SUT.

Arquiteto de Testes Prepara toda infra estrutura necessária para se executar a estratégia de testes. Instala ferramenta, gera massa de dados, mede performance, etc.

Executor de Testes Executa tudo o que está planejado. Figura-chave do ciclo de testes pois as ocorrências encontradas por ele são os indicadores da qualidade do produto inspecionado.

Page 28: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de SoftwareOutras categorias de testes em sistemas

Recuperação: força o software a falhar em diversassituações e verifica a capacidade de recuperação doProduto

Segurança: verifica se os mecanismos de proteçãoconstruídos para o sistema irão de fato protegê-lo dealguma utilização ou intrusão imprópria

Stress: executa o sistema de forma a exigir recursosem quantidade, freqüência ou volume anormais

Desempenho: avalia o desempenho do softwarequando integrado ao sistema. Normalmente estáassociado ao teste de Stress

Page 29: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 30: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 31: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Objetivo:◦ Planejar e definir o que será feito ao longo dos testes antes quecomece a sua realização efetiva

✔Definir objetivos✔Definir Cronograma✔Alocar Pessoas✔Definir Riscos✔Especificar Casos e Procedimentos de Teste

Page 32: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 33: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 1 Planejar Testes

Ponto chave para o sucesso dos testesDeve estar relacionada ao planejamento do projetoEnvolve muitas tomadas de decisões que devem ser analisadasbuscando-se encontrar as melhores opções, dado o contexto deum projetoSub-atividades:

✔Caracterização dos testes (escopo e objetivo)✔Definição dos Itens de Teste e Critérios de Aprovação dos Itens✔Planejar estratégia a ser seguida (técnicas, métodos e ferramentas)✔Planejar Recursos Humanos e necessidade de treinamentos✔Planejar Recursos Físicos✔Definir Cronograma (em conformidade ao cronograma do projeto)✔Estimar Custos✔Identificar Riscos

Page 34: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato - 1 Planejar Testes (IEEE829)

Page 35: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 36: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 2 Projetar Testes

Objetivo:◦ Especificar um refinamento da(s) abordagem(ns) de teste definida(s) no planejamento◦ Identificar as características a serem testadas para cada item◦ Projetar seus testes, identificando o conjunto de casos e procedimentos de teste a serem executados

Sub-atividades:◦ Detalhar estratégia de teste para cada item de teste e característica a ser testada◦ Identificar casos de procedimentos de teste◦ Priorizar procedimentos de teste◦ Especificar critérios de aprovação para cada característica/item

Page 37: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato - 2 Projetar Testes (IEEE829)

Page 38: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 39: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 3 Especificar caso de TesteUm caso de teste descreve uma condição particular a ser testada e é definido por valores de entrada, restrições de uso e um resultado esperadoNessa atividade, cada caso de anteriormente deve ser especificado

Sub-atividades (para cada caso de teste):✔Caracterizar o caso de teste✔Especificar Entradas e Resultados Esperados✔Definir Recursos para o Caso de Teste✔Especificar Restrições de Uso✔Definir Dependências entre Casos de Teste

Page 40: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato - 3 Especificar Caso de Teste (IEEE829)

Page 41: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 42: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 4 Definir procedimento de teste

Um procedimento de teste descreve os passos necessários para a execução de um ou mais casos de teste

Cada procedimento precisa ser caracterizado com informações sobre o seu objetivo e requisitos para a sua execução, além dos passos a serem seguidos durante os testes

Sub-atividades (para cada procedimento de teste)✔Definir objetivos do procedimento de teste✔Definir Requisitos para a Execução do Procedimento✔Descrever Passos✔Construir Procedimento de Teste

Page 43: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato - 4 Definir procedimento de teste (IEEE829)

Page 44: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste de Software

Page 45: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Execução dos Testes

Objetivo:

◦ Executar os testes a partir do que foi estabelecido durante oplanejamento◦ Monitorar as atividades realizadas◦ Registrar os incidentes detectados, e◦ Apresentar ao final os resultados dos testes

Page 46: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 47: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 5 Execução de testes

Execução dos testes deve incorporar os princípios básicos de experimentação cientifica◦ tudo feito durante os testes deve ser realizado e documentado claramente permitindo que outras pessoas possam repetir os mesmos resultadosOs testes devem ser realizados de acordo com os procedimentos planejados

Sub-atividades:◦ Configurar Ambiente de Teste◦ Executar Procedimentos de Teste◦ Registrar Incidentes de Teste

Page 48: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato – 5.1 Log dos testes

Page 49: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato – 5.1 Log dos testes

Page 50: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Planejamento dos Testes

Page 51: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Atividade 6 Analisar o resultado dos testesOs resultados dos testes devem ser avaliados para determinarse os testes obtiveram “sucesso”◦ Na maioria dos casos, “sucesso” significa que o sistema funcionouconforme o esperado de acordo com os critérios do teste, e nãoapresentou resultados inesperados

Permite a uma organização prover um entendimento sobre os seus processos identificando pontos de falhas durante o desenvolvimento, e consequentemente prover melhorias nos seus processos.

Deve-se obter métricas de teste específicasSub-atividades:◦ Resumir Testes◦ Registrar Dados dos Testes

Page 52: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Artefato – 6 Resultado

Page 53: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Código Fonte

Normalmente associa-se inspeção a código fonte, visando melhorar sua qualidade

Utilizada para verificar:Padrões de codificaçãoEstrutura dos algoritmosPara padrões de codificação, diversas ferramentas podem apoiar essa atividade:

Checkstyle, PMD, FindBugs, Dependency Finder,SQE

Existem plugins para algumas dessas ferramentasem diferentes IDEs

Page 54: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Código Fonte

Page 55: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Requisitos

Tem sido o tipo de revisão de software mais estudado e utilizadoObjetivos•Identificar erros específicos em documentos e em sistemas•Identificar erros sistemáticos no processo de desenvolvimento•Identificar desvios em relação às especificações e padrões

Page 56: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Requisitos

BenefíciosProvê ganhos significativos em relação a prazos e custos. Tende a achar mais defeitos que qualquer outro processo, e a um custo menor

No início, era aplicado apenas a código fonte.

Atualmente são amplamente utilizadas

É um método eficaz para o controle da qualidade eaumento da produtividade

Page 57: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Software

Benefícios e Custo de Inspeções:◦ Inspeções vêm sendo utilizadas há mais de três décadas;◦ Existe evidência experimental de sua usabilidade eadequabilidade;◦ Provêem um bom meio para o gerente do projeto monitorar a qualidade e progresso do projeto;◦ Apresentam baixo custo devido ao fato do revisor não precisar investir muito tempo ou mesmo não demandar ferramentas sofisticadas para realizá-las.

Uma alta taxa de atividades de inspeção ao longo do processo pode representar de 5% a 10% do esforço de desenvolvimento.

Page 58: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Software

Inspeções em requisitos e projeto, conduzidas no JPL– Nasa Jet Propulsion Laboratory (Miller,1990);

Page 59: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção de Software

Page 60: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Defeitos em Requisitos

Page 61: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Defeitos em Requisitos

Page 62: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Defeitos em Requisitos

Page 63: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Defeitos em Requisitos

Page 64: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Defeitos em Requisitos

Page 65: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Processo de inspeção de software

Page 66: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção Ad-Hoc

Page 67: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Inspeção com Checklists

Page 68: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Lista de Verificação de Inspeção de Requisitos1)Os requisitos exibem uma clara distinção entre funções e dados?2)Os requisitos definem todas as informações a serem exibidas aos usuários?3)Os requisitos definem as respostas ao sistema e ao usuário às condições de erro?4)É cada requisito indicado claramente, conciso, e não ambíguo?5)É cada requisito testável?6)Há requisitos ambíguos ou inconsistentes?7)Há conflitos de requisitos?8)Existem áreas não identificadas na especificação de requisitos de software que necessitam ser?9)Os requisitos de desempenho (tais como o tempo de resposta, requisitos de armazenamento de dados) são indicados?10)Se os requisitos envolverem complexas cadeias de decisão, estão expressos em um formato que facilite sua compreensão (isto é, tabelas de decisão, árvores da decisão, etc..)?11)Os requisitos para executar melhorias do software foram especificados?12)Há requisitos que contém um nível desnecessário de detalhe do projeto?13)As restrições de tempo real foram especificadas em detalhe suficiente?14)A precisão e a exatidão dos cálculos foram especificadas?15)É possível desenvolver um conjunto completo de testes baseados nas informações contidas nas especificações de requisito do software? Se não, que informação falta?•As suposições e as dependências foram indicadas claramente?1)O documento contém toda a informação identificada no escopo para a especificação de requisitos do software?

Page 69: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Tipos de Defeitos de Inspeção

Page 70: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Relato de Defeitos em Inspeção de Requisitos

Page 71: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

Teste Unitário

✔Possibilita o teste de métodos de cada classe✔É uma técnica caixa-branca, onde o conhecimento da estrutura interna do sistema deve ser conhecida✔Necessita de um bom planejamento de testes✔A utilização de ferramentas é fundamental✔A utilização de testes automatizados é pré-requisito para a realização de testes de regressão

Page 72: Teste de Software · qualidade ou o teste é de baixa qualidade? Tipos de teste: ... conhecimento da estrutura interna da implementação ... “sucesso” significa que o sistema

OBRIGADO!OBRIGADO!

Base de Consulta:

Slides - Marco Antônio Pereira Araújo, D.Sc