Buscar

Aula6 - Garantia de Qualidade de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Garantia de Qualidade de Software
Prof. Carlos Henrique R. Sarro
Garantia de Qualidade de Software
“Se tivesse seis horas para derrubar uma árvore, eu passaria as primeiras quatro horas afiando o machado.”
Abraham Lincoln 
Garantia de Qualidade de Software
A Realidade dos Projetos de Software 
 +30% dos projetos são cancelados antes de serem finalizados;
 +70% dos projetos falham nas entregas das funcionalidades;
 Os custos extrapolam em mais de 180% do orçamento inicial;
 Os prazos excedem em mais de 200% os cronogramas originais. 
Garantia de Qualidade de Software
Os custos da Falta de Qualidade
02/07/2002 - 13h03 
Bugs em software custam US$ 60 bilhões por ano aos EUA
da Reuters, em Nova York (EUA)
... a pesquisa também descobriu que melhores testes dos programas poderiam eliminar falhas e etapas iniciais de desenvolvimento, o que poderia reduzir os custos em US$ 22,2 bilhões. 
... cerca de 80% dos custos com desenvolvimento de softwares são gerados para identificar e corrigir defeitos de programação em milhares de linhas de código.
Garantia de Qualidade de Software
Modelo CMM 
Nível 1: Inicial
Nível 2:
Repetível
Nível 3:
Definido
Nível 4:
Gerenciado
Nível 5:
Otimizado
Anárquico
Cultural
Padronizado
Mensurável
Otimizado
Processo imprevisível e pouco controlado
Tarefas “Mestras” podem ser Repetidas Continuamente
Processo Caracterizado e
Bem Entendido
Processo Medido e
controlado
Foco no Aperfeiçoamento
do Processo
Garantia de Qualidade de Software
Adquirindo Maturidade Organizacional 
 Regras e Responsabilidades reduzem em 15% o número de defeitos;
 Procedimentos Formalizados reduzem em 25% o número de defeitos;
 Processos Repetitivos reduzem em 35% o número de defeitos;
 Controles e Medições reduzem em 30% o número de defeitos;
Garantia de Qualidade de Software
Definindo Qualidade de Software 
Qualidade de Software é um processo sistemático que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos, prevenindo e eliminando defeitos.
Garantia de Qualidade de Software
Definição Comum de Testes 
Teste é o processo de demonstrar que os defeitos não estão presentes.
Teste é o processo de demonstrar que algo funciona corretamente.
Teste é o processo de provar que determinadas coisas fazem o que deveriam fazer.
Garantia de Qualidade de Software
Perspectivas Diferentes
Visão do
Analista de Sistemas
Cenários Positivos Comuns
Testes para provar que algo esta correto
Testes para provar que
algo não esta correto
Visão do
Analista de Testes
Cenários Positivos Estendidos
Cenários Negativos Estendidos
Garantia de Qualidade de Software
A Correta Definição dos Testes
Teste é um processo sistemático e planejado que tem por finalidade única a identificação de erros.
Garantia de Qualidade de Software
Onde devemos aplicar Qualidade ? 
Modelo
Negócios
Requisitos
Análise e Modelagem
Implemen
tação
Testes de
Software
Disponibili
zação
Tempo
Esforço
para obter Qualidade
Garantia de Qualidade de Software
Onde estão os Erros ? 
Garantia de Qualidade de Software
O Custo do Erro
“Erros na produção são extremamente caros”. 
Garantia de Qualidade de Software
Processo de Garantia da Qualidade de Software
Modelo
Negócios
Requisitos
Análise e Modelagem
Implemen
tação
Testes de
Software
Disponibili
zação
Tempo
Processo de Garantia da Qualidade de Software
Garantia de Qualidade de Software
Maquiavel
“Os homens prudentes sabem tirar proveito de todas as suas ações, mesmo daquelas a que são obrigados pela necessidade.” 
Garantia de Qualidade de Software
Diferença entre Verificação e Validação
Verificação
A verificação tem o objetivo de avaliar se o que foi planejado realmente foi realizado, ou seja, se os requisitos, funcionalidades e performance documentados foram implementados. 
Também pode ser realizada para especificação de sistemas, para avaliar se os requisitos estão sendo documentados como deveriam e ainda prever falhas ou inconsistências entre requisitos. 
Garantia de Qualidade de Software
Diferença entre Verificação e Validação
Validação
A validação tem o objetivo de avaliar se o que foi entregue atende as expectativas. Ou seja, se os requisitos, independente do que foi planejado, estão implementados para atender ao negócio (cliente). 
Validação final do sistema é realizada pelo cliente ou usuário. 
Garantia de Qualidade de Software
Especificação de
Requisitos
Verificação
de
Requisitos
2
Análise e
Modelagem
Verificação
Análise e
Modelagem
3
Integração
Especificada ou
Modificada
Validação
da
Integração
6
Unidade
Especificada ou
Modificada
Validação
da
Unidade
5
Implementação
Verificação
da
Implementação
4
Sistema
Especificado ou
Modificado
Validação
do
Sistema
7
Testes de Validação
Testes de Verificação
Clientes
Patrocinadores
Usuários
Modelo
de
Negócios
Verificação
de
Negócios
1
Disponibiliza
Solução
Validação
do
Aceite
8
Garantia de Qualidade de Software
Fracassos nos Processos de Qualidade 
 Falta de um Modelo Corporativo de Qualidade;
 Qualidade é Aplicado Tardiamente no Processo;
 Ausência de Profissionais Capacitados em Qualidade;
 Ausência de Procedimentos de Testes Automatizados;
 Deficiência no Planejamento dos Testes;
 Foco em Testes Progressivos Aumentam Riscos;
 Sobre pressão, os Testes são Sacrificados 
Garantia de Qualidade de Software
Benefícios do Processo de Qualidade 
 Torna o Ciclo de Desenvolvimento Confiável;
 Garante Ações Corretivas no Ciclo de Desenvolvimento;
 Evita a Ingerência do Projeto de Software;
 Amplia as Chances de Sucesso do Projeto de Software;
 Amplia a Produtividade do Desenvolvimento;
 Evita a Propagação de Erros;
 Automação de Testes Reduz Custos do Projeto; 
Garantia de Qualidade de Software
Peter Drucker
"O planejamento não diz respeito a decisões futuras, mas às implicações futuras de decisões presentes" 
Garantia de Qualidade de Software
Métodos Estruturados de Verificação 
Qualidade
do
Processo de
Software
Revisões
Auditorias
Foco nas Documentações
Foco nas Atividades
Garantia de Qualidade de Software
 Revisões de Requisitos detectam 15% dos defeitos;
 Revisões na Análise e Design detectam 30% dos defeitos;
 Revisões na Implementação detectam 20% dos defeitos;
Impacto das Revisões
Garantia de Qualidade de Software
Tipos de Revisões
Criação
Validação
Divulgação
Autor
Irtoprçlhkhg
][gfg~fçlkçj
Documento
Revisor
Autor
Irtoprçlhkhg
][gfg~fçlkçj
Documento
Moderador
Grupo de Revisão
Grupo de Acompanhamento
Irtoprçlhkhg
][gfg~fçlkçj
Documento
Autor
Reunião
Acompanhamento
Revisão
Formal
Revisão
Isolada
Garantia de Qualidade de Software
Executando Revisões
 Um tópico é definido e será escopo das discussões;
 Uma questão é levantada por um revisor;
 A questão é discutida e avaliada;
 Os revisores confirmam a existência do defeito;
 O defeito é registrado e detalhado para que seja corrigido pelos autores;
 Outras questões são levantadas até que todas tenham sido analisadas;
 Um novo tópico é identificado até que todos tenham sido discutidos;
Garantia de Qualidade de Software
Um Instrumento de Verificação 
Verificação
de
Negócios
Verificação
de
Requisitos
Verificação
Análise e
Modelagem
Verificação
da
Implementação
Check-List
Verificação
de
Negócios
Check-List
Verificação
Análise e
Modelagem
Check-List
Verificação
de
Requisitos
Check-List
Verificação
da
Implementação
Garantia de Qualidade de Software
Check-List do Diagramas UML
q    Diagramas de Classes
- Todas as classes possuem nome e descrição adequados.
 OK
 Não OK
- Todos os atributos da classe possuem nome e descrição adequados.
 OK
 Não OK
- Todos os serviços da classe possuem nome e descrição adequados.
 OK
 Não OK
q    Diagrama de Estado
- Todas as transições de estado possuem um serviço ou evento associado. OK
 Não OK
- Todos os estados possuem nome e descrição adequados.
 OK
 Não OK
- Todas as transições de estado refletem o real ciclo de vida da classe.
 OK
 Não OK
q    Diagramas de Componentes
- As “Packages” agrupam componentes com mesmas características.
 OK
 Não OK
- Cada componente agrupa classes de única camada: user, business, data
 OK
 Não OK
- Todas as dependências dos Componentes foram estabelecidas.
 OK
 Não OK
Garantia de Qualidade de Software
Testando cada Fase do Processo de Software 
Modelo 
de
Negócios
Implementação
Análise
e
Modelagem
 Revisar Contexto do Mercado e Necessidades Cliente;
 Revisar Riscos do Projeto;
 Auditar Alternativas de Execução do Projeto;
 Revisar Estudo de Viabilidade do Projeto;
 Revisar Arquitetura da Aplicação;
 Revisar o Modelo Estático do Projeto de Software;
 Revisar o Modelo Dinâmico do Projeto de Software;
 Revisar Nível de Componentização;
 Revisar Nível de Reutilização;
 Modelo de Negócios;
 Análise de Riscos;
 Arvore de Decisão;
 Estudo de Viabilidade;
 Arquitetura da Aplicação;
 Modelos Estáticos;
 Modelos Dinâmicos;
 Modelos Distribuição;
 Código-Fonte;
 Componentes;
 Manual do Usuário;
 Revisar o Código-Fonte;
 Avaliar Complexidade do Código-Fonte;
 Auditar Rastreabilidade entre Componentes;.
 Revisar Manual do Usuário;
 Especificação Requisitos;
 Rastreabilidade;
 Revisar Especificação de Requisitos Funcionais;
 Revisar Especificação de Requisitos Não-Funcionais;
 Revisar Priorização de Requisitos;
 Auditar Rastreabilidade de Requisitos;
Especificação
de
Requisitos
Fase da Verificação
Principais
Produtos
Principais Atividades da
Fase de Verificação
Garantia de Qualidade de Software
Critério de Finalização da Revisão do Código-Fonte
Complexidade
Ciclomática (ou complexidade condicional) 
Avaliação
da Complexidade
Percentual Máximo
Permitido
< 5
Simples
100 %
5-10
Moderado
20 %
11-20
Difícil
5 %
21-50
Muito Difícil
Não Permitido
> 50
Impossível testar
Não Permitido
Garantia de Qualidade de Software
Henry Ford
“O insucesso é apenas uma oportunidade para recomeçar com mais inteligência.”
Garantia de Qualidade de Software
Estratégias de Testes de Software 
Caixa Branca
Caixa Preta
Garantia de Qualidade de Software
Caixa-Branca
Término do Processamento
Início do Processamento
Caminho A
Caminho B
Garantia de Qualidade de Software
Caixa-Preta 
Resultados
Gerados
Estímulos
Produzidos
Garantia de Qualidade de Software
Abordagens Fundamentais dos Testes 
Caixa Branca
Caixa Preta
Testes Baseados na Estrutura Interna
Testes Baseados nos Requisitos
Garantia de Qualidade de Software
Progressividade e Regressividade dos Testes
Cenário Versão “A”
Cliente
VIP
Cliente
Normal
Pedidos
Cliente
VIP
Cliente
Normal
Pedidos
Cliente
Ocasional
Cliente
VIP
Cliente
Normal
Pedidos
Cliente
Ocasional
Cenário Versão “B”
Cenário Versão “B.1”
Erro !
Garantia de Qualidade de Software
Categorias dos Testes
- simular saques acima do saldo disponível;
- simular saques com cartão vencido;
- avaliar se a duração do saque dura até 30 seg. num universo de 5 milhões de correntistas e 100 milhões de movimentação bancária;
- simular saque com defeito no “cash-dispenser”; 
- simular saque com impressora do fornecedor A, B e C;
- avaliar se a senha do cartão esta sendo requisitada antes e depois da transação;
- simular 2 saques simultâneos na mesma conta-corrente;
- simular saque na conta-poupança;
- avaliar se a senha adicional e randômica esta sendo requisitada no início da operação.
- simular saques no Windows 95, 98, NT e 2000;
- avaliar se todas as telas possuem ajuda;
Cenários de Testes
Transferência
Depósito
Saque
Garantia de Qualidade de Software
Organizando em Categorias
- simular saques acima do saldo disponível;
- simular saque na conta-poupança;
- simular saque acima do valor do limite da conta;
- simular saque com valores não múltiplos das notas;
- simular saque com valores não múltiplos das notas;
Funcional
- avaliar se a duração do saque dura até 30 seg. num universo de 5 milhões de correntistas e 100 milhões de movimentação bancária;
- garantir que manipulação com dispositivos físicos no saque não ultrapassem 10 seg. da operação;
Performance
- avaliar se todas as telas possuem ajuda;
- avaliar se mensagens são claras e objetivas;
- avaliar se o padrão visual é mantido em todos os momentos;
- avaliar se todas as operações possuem caminhos de fuga;
Usabilidade
- simular saques com cartão vencido;
- avaliar se a senha do cartão esta sendo requisitada antes e depois da transação;
- avaliar se a senha adicional e randômica esta sendo requisitada no início da operação;
- simular saque noturno acima do valor permitido;
Segurança
- simular 2 saques simultâneos na mesma conta-corrente;
- simular 10.000 saques simultâneos;
Carga e Concorrência
- disparar processo de instalação emergencial;
Contingência
- simular saque com defeito no “cash-dispenser;
- simular saque com defeito na impressora;
- simular saque com falha de conexão com a central;
- simular saque com queda de energia;
Recuperação
- simular saque com impressora do fornecedor A, B e C;
- simular saques no Windows 95, 98, NT e 2000;
- simular saque com impressora do fornecedor X, Y e Z;
Configuração
Garantia de Qualidade de Software
Entendendo as Categorias
Desempenho
Portabilidade
Configuração
Funcional
Recuperação
Usabilidade
Saque
Garantia de Qualidade de Software
Priorizando as Categorias
Características da Aplicação
Importância
01. Funcional
Essencial
02. Desempenho
Médio Impacto
03. Confiabilidade/Disponibilidade
Alto Impacto
04. Segurança
Essencial
05. Carga e Concorrência
Alto Impacto
06. Usabilidade
Médio Impacto
07. Compatibilidade
Essencial
08. Portabilidade
Baixo Impacto
09. Contingência
Alto Impacto
10. Instalação
Médio Impacto
11. Distribuição
Alto Impacto
12. Recuperação
Alto Impacto
Garantia de Qualidade de Software
Casos de Testes de Caixa-Branca
Início do Processamento
A
C
F
D
E
Término do Processamento
B
I
J
L
G
H
Abordagem Caixa-Branca
A
B
F
E
A
B
C
D
E
A
B
I
J
L
A
G
I
J
L
H
Caso de Teste 1
Caso de Teste 2
Caso de Teste 3
Caso de Teste 4
Garantia de Qualidade de Software
Casos de Testes de Caixa-Preta
Requisito A
Caso de Teste A.1
Caso de Teste A.2
Caso de Teste A.3
Caso de Teste A.4
Requisito B
Caso de Teste B.1
Caso de Teste B.2
Caso de Teste B.3
Caso de Teste B.4
Abordagem Caixa-Preta
Garantia de Qualidade de Software
Método de Decomposição de Requisitos
Sistema de Vendas
Realizar
Pagamentos
Cenários Alternativos
Cliente realiza pagamento com cheque.
Cliente realiza pagamento com cartão de crédito.
Cliente realiza pagamento parcelado.
Cliente realiza pagamento da última parcela.
Cliente realiza pagamento adiantado.
Cliente realiza pagamento em atraso.
Cenário Primário
Cliente realiza pagamento em dinheiro.
Cenários de Exceção
Cliente realiza pagamento com cartão inválido.
Cliente realiza pagamento com cheque bloqueado.
Cliente realiza pagamento com cheque e histórico de mal pagador.
Garantia de Qualidade de Software
Método de Análise de Documentos
Diagrama de
Casos de Uso
Cenários Positivos
E
A
F
E
A
Cenários Negativos
B
A
C
A
D
A
Casos de Testes Identificados
B
C
D
E
A
F
Diagrama de Atividades
Garantia de Qualidade de Software
Método de Análise de Documentos
Cenários Positivos
Casos de Testes Identificados
Disponível
Emprestado
Restauração
Refugado
Análise
Catalogação 
Doação
Classificação
Empréstimo
Devolução
Refugo
Restaurar
Disponibiliza
Recuperação
Destruição
Diagrama de Estados
Compra
1
2
3
6
5
4
1
2
2
3
3
4
4
2
4
5
5
6
6
1
1
Cenários Negativos
21
3
2
4
3
5
4
6
6
4
5
Garantia de Qualidade de Software
Estágios dos Testes de Software
Teste de
Unidade
Teste de
Aceitação
Teste de
Sistema
Teste de Baixo Nível
Teste de Alto Nível
 Estratégia Caixa-Branca;
 Testam partes do software;
 Requer conhecimento da estrutura interna;
 Executado pelo desenvolvedor ou profissional de teste.
 Estratégia de Caixa-Preta;
 Os testes são aplicados no software como um todo;
 Não requer conhecimento da estrutura interna do software;
 Requer ambiente muito semelhante ao da produção;
 Deve ser executado por um grupo de teste independente.
 Estrutura Interna;
 Funcionalidade;
 Usabilidade
 Segurança;
 Funcionais;
 Não Funcionais;
 Performance;
 Instalação;
 Recuperação;
 Carga;
 Funcional;
 Usabilidade;
 Segurança;
 Estratégia de Caixa-Preta;
 Os testes são aplicados no software como um todo;
 Não requer conhecimento da estrutura interna do software;
 Requer ambiente muito semelhante ao da produção;
 Deve ser executado pelos usuários finais.
 Interfaces;
 Dependências entre Componentes;
 Estratégia de Caixa-Branca;
 Testam integrações entre partes do software;
 Requer conhecimento da arquitetura interna do software;
 Executado pelo desenvolvedor ou profissional de teste.
Teste de
Integração
Fase da Validação
Categorias de Testes Aplicada
Características da
Fase de Validação
Garantia de Qualidade de Software
Teste de Unidade
 Unidade E
Unidade
H
Unidade
I
Unidade
J
Arquitetura Completa do Aplicativo
Bottom-Up
Arquitetura do Teste da Unidade E
 Unidade A
 Unidade D
 Unidade E
 Unidade H
 Unidade G
 Unidade F
 Unidade 
I
 Unidade J
 Unidade B
 Unidade C
 Controlador
 Testes-E
Garantia de Qualidade de Software
Teste de aceite
Aceite
Formal
Implantação Total
Todos os clientes recebem o software devidamente testado.
Implantação BETA
Clientes selecionados recebem o software para operar em seu ambiente.
Clientes planejam e realizam os testes do software.
Aceite Formal
ALPHA
Teste
BETA
Teste
Todos
Clientes
Clientes são convidados a operar o software no fornecedor.
Implantação ALPHA
Aceite da Solução
Distribuição
Garantia de Qualidade de Software
Testes de Software nos vários Ambientes
Ambiente
de
Desenvolvimento
Ambiente
Teste e
Homologação
Ambiente
de
Produção
Em
Teste
Em
Desenvolvimento
Em
Produção
Em
Homologação
Ciclo de Vida do Software
Requisitos56%Análise e Modelagem27%Implementação7%Outros10%
Gráf1
	Requisitos
	Análise e Modelagem
	Implementação
	Outros
56
27
7
10
Plan1
	Requisitos	56
	Análise e Modelagem	27
	Implementação	7
	Outros	10
Plan2
	
Plan3

Continue navegando