SlideShare uma empresa Scribd logo
TESTE DE SOFTWARE
Verificação e Validação
Aula 02
Joeldson Costa Damasceno
joeldsoncosta@gmail.com
VERIFICAÇÃO E VALIDAÇÃO
Conceitos
Livro referência:
Verificação e Validação
V&V é um processo aplicado para melhorar a qualidade dos produtos e a
produtividade dos processos de software.
Permite os desenvolvedores identificar problemas de software o mais
rápido possível e corrigi-los antes de entregarem aos usuários.
Permite identificar e corrigir problemas nas atividades de
desenvolvimento para aumentar a produtividade de novos projetos de
software.
Permite que se determine sistematicamente se os requisitos de um
sistema estão sendo corretamente tratados e implementados.
Diminui as chances de retrabalho desde as primeiras fases do
desenvolvimento de software.
Contribui diretamente para o atendimento dos prazos e custos do
projeto.
Verificação e Validação
Verificação e Validação
Em cada fase do desenvolvimento os requisitos ou componentes
são verificados para ver se estão completos ou corretos.
Cada fase de desenvolvimento atende aos requisitos e às
condições impostas pela fase anterior e o sistema ou componente
final está aderente com os requisitos especificados.
PROBLEMAS
Erros? Falhas? Defeitos? Existe diferença?
Requisitos incompletos e incorretos indicam problemas no produto
que podem se manifestar por meio de falhas, caso não sejam
corrigidos, durante a operação e uso do software. A IEEE descreve
várias definições de problemas que podem ocorrer:
– Erro (error, mistake);
– Defeito (bug, fault, defect);
– Falha (failure).
Problemas
(IEEE) Uma ação humana que produz um resultado incorreto.
Exemplos:
• Os desenvolvedores cometem erros (enganos) quando
interpretam mal as necessidades dos clientes.
• Os usuários cometem erros (enganos) quando operam um
sistema em desacordo com as intenções dos desenvolvedores.
Erros causam defeitos >>
Erro - error, mistake
(IEEE) Implementado dentro de um artefato.
Exemplos:
• Requisitos inconsistentes com as necessidades do cliente.
• Requisitos funcionais do sistema em desacordo com os
requisitos do negócio.
Os defeitos podem ou não se manifestar em falhas >>
Defeito - bug, fault, defect
(IEEE) A incapacidade de um sistema ou componente em executar
as funções requeridas dentro de um nível de desempenho
requerido.
Exemplos:
• Manifestação de um defeito no sistema ou software.
• Apresentação de data incorretas.
• Tela azul no monitor do computador.
Falha – failure
TÉCNICAS DE V&V
Podem ser divididas em estáticas e dinâmicas.
Técnicas de V&V
TÉCNICAS ESTÁTICAS
Nas técnicas estáticas, a avaliação de um produto de software é realizada por
um grupo de revisores, com intuito de identificar defeitos. Elas podem ser:
a) Revisões Técnicas e Walkthroughs: Indicadas para todas as fases do ciclo de
desenvolvimento de software.
• Revisões Técnicas permitem avaliar um produto de software para terminar a
sua adequação ao uso pretendido. Identificar discrepância entre especificações
e padrões aprovados.
• Walkthroughs permitem também avaliar um produto de software. O objetivo é
identificar anomalias, melhorar o produto, considerar alternativas de
implementação e avaliar conformidade a padrões e especificações.
Técnicas Estáticas
b) Inspeções: Indicadas para a fase de codificação.
• Inspeções têm por objetivo detectar identificar anomalias no produto de
software.
As técnicas de inspeções de software são/devem ser aplicadas em todas
as fazes do ciclo de desenvolvimento de software. Isso justifica-se porque
os defeitos podem ocorrer em códigos, arquitetura, requisitos,
especificações e documentação em geral.
Técnicas Estáticas
Durante o processo de inspeção alguns defeitos podem ser
identificados. Os tipos de defeitos podem ser caracterizados como:
• Incorreção: Implementação incorreta da especificação do
cliente/usuário.
• Ausência: Checagem de requisito especificado que não foi
incorporado no produto.
• Extra: Checagem de requisito não especificado e incorporado no
produto.
Tipos de Defeitos
Outra forma de ver os defeitos é pelo tipo de danos que eles podem causar no
software: Os feitos podem ser:
• Pequenos: Podem ser corrigidos rapidamente e não causam mau
funcionamento do software. Exemplos: defeitos de digitação, omissões em
textos eu precisam ser esclarecidos para seu entendimento e etc.
• Grandes: São defeitos relativos às especificações que podem causar mau
funcionamento do software. Exemplos: ausência de funções, problemas de
interfaces etc.
• Muito sério: São defeitos que podem comprometer o projeto ocasionando o
reprojeto total (ou quase) e a recodificação do software.
Classificação de Defeitos
TÉCNICAS DINÂMICAS
• A avaliação é feitas através de testes.
• Os testes podem ser estruturais (Teste Caixa Branca) ou
funcionais (Teste Caixa Preta).
• Para realizar os primeiros testes, a boa prática diz que se deve
verificar inicialmente se a menor unidade de software está
funcionando de acordo com as suas especificações. Nestes são
realizados os testes estruturais.
• Após a verificação das unidades, parte-se para os testes
funcionais para verificar o software como um todo.
Técnicas Dinâmicas
Atendem às seguintes características:
• O projeto de casos de teste usa a estrutura de controle procedimental do
software (fluxo de controle) para derivar casos de teste.
• Deve garantir que todos os caminhos independentes dentro de um módulo
tenham sido exercitados pelo menos uma vez.
• Devem exercitar todas as decisões lógicas para valores falsos ou verdadeiros.
• Devem executar todos os laços em suas fronteiras e dentro de limites
operacionais.
• Devem exercitar as estruturas de dados internas para garantir a sua validade.
Testes Caixa Branca
Os tipos mais comuns são (funcionais):
• Teste de integração:
– Testar um conjunto de módulos;
– Verificação do funcionamento com foco nas interfaces;
– A referencia utilizada é a especificação do projeto;
– Teste realizado pela equipe de desenvolvimento.
• Teste de validação:
– Verificar o software como um todo;
– Verificar se todas as exigências funcionais, comportamentais e de desempenho foram atendidas.
– A referencia utilizada é a especificação de requisitos funcionais e não funcionais;
– Teste realizado pela equipe de desenvolvimento.
Tipos de Testes Caixa Branca
• Teste de sistema:
– Medir o sistema em diferentes cenários verificado se todos os elementos do
sistema (hardware, software, banco de dados e pessoas) foram adequadamente
integrados e realizam as funções requeridas.
– A referencia utilizada é a especificação de requisitos;
– Realizado por uma equipe independente ou um usuário do sistema.
Tipos de Testes Caixa Branca
• Outros testes de sistema:
– Teste de recuperação: Força o sistema a apresentar falhas de diversas
maneiras e verifica se a recuperação (reiniciação do sistema e recuperação
de dados) é adequadamente executada.
– Teste de proteção: verifica se todos os mecanismos de proteção embutidos
em um sistema funcionam contra acessos indevidos.
– Teste de estresse: confrontar com situações anormais (altas exigências de
recursos de dados, alto número de interrupções, alta taxa de entrada de
dados, alta busca de dados em disco etc.)
– Teste de desempenho: teste do software no contexto de um sistema
integrado (tempos envolvidos, ciclos de processador, interrupções etc).
Tipos de Testes Caixa Branca
Atendem às seguintes características:
• Concentram-se nos requisitos funcionais do software.
• São uma abordagem complementar aos testes estruturais.
Testes Caixa Preta
Os tipos mais comuns são (estrutural):
• Teste de unidade:
– O objetivo é testar os módulos isoladamente verificando o
funcionamento conjunto dos algoritmos e as estruturas de dados.
– A referencia utilizada é a especificação de módulos, um documento
detalhado de cada módulo do software.
– Teste realizado por um programador.
Tipos de Testes Caixa Preta
OUTROS TESTES DE SOFTWARE
• Teste Alfa: realizado pelo cliente no ambiente de
desenvolvimento do software.
• Teste Beta: realizado em um ou mais ambientes do cliente pelos
usuários.
Outros testes de software
PRINCÍPIOS IMPORTANTES
Segundo Hirama (livro referência) apesar da importância dos testes
de software, sua realização apresenta algumas dificuldades:
1. Falta de conhecimento necessário sobre testes por parte dos
desenvolvedores.
2. Simplificação quando o cronograma do projeto está comprometido.
Para isso, ele destaca alguns princípios importantes que deve ser seguidos >>
A atividade de testes
❶
Teste completo não é possível, ou seja, testar todas as situações
não é possível. Não significa que se pode deixar algum requisito do
cliente sem teste.
TESTES - Princípios importantes
❷
A atividade de teste é criativa e difícil, ou seja, ela exige boa
experiência dos testadores. É necessário conhecimento para ter
maior cobertura possível dos testes.
TESTES - Princípios importantes
❸
Uma importante razão do teste é a prevenção de defeitos, ou seja,
o teste permite melhorar a qualidade do software detectando os
defeitos no software.
TESTES - Princípios importantes
❹
O teste é baseado em risco, ou seja, o esforço de teste é
proporcional ao risco de negócio envolvido (resultados incorretos,
transação não autorizada, perda de desempenho,
comprometimento de segurança etc.) quanto maior o risco de
negócio mais teste devem ser realizados.
TESTES - Princípios importantes
❺
Ele deve ser planejado por se tratar de uma atividade importante
que exige estratégias e recursos.
TESTES - Princípios importantes
❻
O teste requer independência, ou seja, não basta planeja-lo, é
necessário ter visão crítica para analisar os resultados; uma boa
prática é “quem implementa não testa”
TESTES - Princípios importantes
QUALIDADE DO SOFTWARE
O teste:
– Ajuda a tornar a qualidade visível.
– É a maneira de medir a qualidade de software.
A qualidade do software está intimamente relacionada a
quantidade de erros descobertos.
+ erros descobertos + maior qualidade
Qualidade do software
Segundo Perry, a proporção de defeitos detectados em projeto de
software é:
Qualidade do software
36%
64%
Codificação
Análise e Projeto
EXTENSÃO DE TESTE
Extensão de teste
Custo de teste
Extensão do teste
Qualidade
Número de defeitos
Teste
Excessivo
Teste
Insuficiente
EXERCÍCIOS
1. Em uma verificação de produtos ou documentos buscam-se erros, defeitos ou falhas?
Justifique.
2. A maior parte de defeitos é embutida nas fase iniciais do desenvolvimento de software. Sugira
formas de minimizar este problema.
3. Explica com suas palavras o que significam as questões “Estamos construindo certou o
produto?” para verificação e “Estamos construindo o produto certo?” para validação.
4. Escolha três produtos de desenvolvimento de software que devem passar por uma técnica
estática de V&V, Qual foi o critério usando para as escolhas?
5. A aplicação da técnica dinâmica de V&V, conhecido como teste de software, depende dos
programas estarem prontos. Como se poderia organizar os testes de maneira que sejam os
mais efetivos possíveis?
6. Qual a diferença entre técnicas estáticas e dinâmicas de V&V? O que podem ser verificados?
7. O teste é baseado em risco ao negócio. Cite uma área de negócio onde os testes devem ser
mais rigorosos. Justifique.
8. O que são teste caixa branca e caixa preta? Dê exemplos.
9. A finalidade dos teste de validação é verificar o atendimento de requisitos do cliente. Está
correto? Justifique.
PERGUNTAS ?
Referência
HIRAMA, Kechi. Engenharia de Software: qualidade e produtividade com tecnologia /
Kechi Hirama. Rio de Janeiro: Elsevier, 2011. ISBN 978-85-352-4882-1

Mais conteúdo relacionado

PPTX
Teste de Software - Introdução
PPT
Testes De Software - Uma Visão Geral
PDF
Introdução à Qualidade e Testes Ágeis de Software
PDF
Introdução ao Teste de Software - Uma abordagem prática
PDF
Qualidade de software
ODP
Diagrama de Casos de Uso
PDF
Introdução à Engenharia de Software
PPTX
Principais Técnicas de Elicitação de Requisitos
Teste de Software - Introdução
Testes De Software - Uma Visão Geral
Introdução à Qualidade e Testes Ágeis de Software
Introdução ao Teste de Software - Uma abordagem prática
Qualidade de software
Diagrama de Casos de Uso
Introdução à Engenharia de Software
Principais Técnicas de Elicitação de Requisitos

Mais procurados (20)

PDF
Teste de software
PDF
Aula - Introdução a Engenharia de Software
PPTX
01 php - introdução ao php
PDF
Aula 6 - Qualidade de Software
PPT
X-Zone - Garantia da Qualidade de Software
PPS
Gerência de Configuração
PDF
Introdução à Programação
PDF
Verificação, Validação e Teste de Software
PDF
Teste de software - aula 01 (motivação)
PDF
O Processo de Desenvolvimento de Software
PDF
Qualidade de Software
PPTX
Introdução à programação
PDF
Ciclo de vida de software
PDF
Aula UML - Unified Modeling Language
PPT
Teste de Software Introdução à Qualidade
PDF
Relatório de Teste Invasão fícticio
PPT
Aula 3 - Política de Segurança da Informação (PSI)
PDF
Qualidade de Software: Teste de software
PDF
Banco de questões qualidade de software
PPT
Java modulo 01 - Introdução
Teste de software
Aula - Introdução a Engenharia de Software
01 php - introdução ao php
Aula 6 - Qualidade de Software
X-Zone - Garantia da Qualidade de Software
Gerência de Configuração
Introdução à Programação
Verificação, Validação e Teste de Software
Teste de software - aula 01 (motivação)
O Processo de Desenvolvimento de Software
Qualidade de Software
Introdução à programação
Ciclo de vida de software
Aula UML - Unified Modeling Language
Teste de Software Introdução à Qualidade
Relatório de Teste Invasão fícticio
Aula 3 - Política de Segurança da Informação (PSI)
Qualidade de Software: Teste de software
Banco de questões qualidade de software
Java modulo 01 - Introdução
Anúncio

Destaque (20)

PPTX
Estatuto da Criança e do Adolescente + Questões de Concurso Público.
PPTX
Pitch de apresentação - Aula prática
PPTX
Informática Básica - Aula 03 - Hardware
PPTX
Informática Básica - Aula 05 - Sistema Operacional Windows
PPTX
Informática Básica - Aula 01 - Introdução
PPTX
Informática Básica - Aula 04 - Software
PPTX
Informática Básica - Aula 09 - Uso de E-mail
PPT
Curso de Informatica Básica - Noções básicas de um computador
PPTX
Informática Básica - Aula 06 - Utilitários e Ferramentas do Sistema
PPTX
Informática Básica - Aula 02 - A evolução e caracterização dos computadores
PPTX
Informática Básica - Introdução ao Microsoft Word 2010
PPT
Verificação e validação de software
PPT
Informática Basica
PPT
Sintese em powerpoit
PPTX
Criando um e-mail no Gmail
PDF
Internet
ODP
Computação Básica - Aula 1
PDF
Sistemas Operacionais
PPTX
Introdução a Informática - Arquitetura
Estatuto da Criança e do Adolescente + Questões de Concurso Público.
Pitch de apresentação - Aula prática
Informática Básica - Aula 03 - Hardware
Informática Básica - Aula 05 - Sistema Operacional Windows
Informática Básica - Aula 01 - Introdução
Informática Básica - Aula 04 - Software
Informática Básica - Aula 09 - Uso de E-mail
Curso de Informatica Básica - Noções básicas de um computador
Informática Básica - Aula 06 - Utilitários e Ferramentas do Sistema
Informática Básica - Aula 02 - A evolução e caracterização dos computadores
Informática Básica - Introdução ao Microsoft Word 2010
Verificação e validação de software
Informática Basica
Sintese em powerpoit
Criando um e-mail no Gmail
Internet
Computação Básica - Aula 1
Sistemas Operacionais
Introdução a Informática - Arquitetura
Anúncio

Semelhante a Teste de software - Processo de Verificação e Validação (20)

PPTX
Engenharia de software Testes e Manutenção.pptx
PDF
Aula07_TesteSoftware_Parte1_semResposta.pdf
PDF
Aula09_TesteSoftware_Parte1_apremdeeghku
PDF
Aula - Teste de Software
PPT
Engenharia de Testes
PPT
Teste de Software - Bluesoft Labs
PPTX
Teste de software, artefatos, tipos de testes
PDF
4 engenharia de software
PPT
Teste de software
PDF
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
PPTX
Teste de software
PDF
Teste de software
PDF
Palestra Fundamentos de Testes - Tche linux POA
PPTX
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
PDF
3 engenharia de software
PPTX
Eng de testes
PPT
Testes de Software
PPTX
Testes de Software - Fundamentos
PDF
Teste de Software
PPT
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Engenharia de software Testes e Manutenção.pptx
Aula07_TesteSoftware_Parte1_semResposta.pdf
Aula09_TesteSoftware_Parte1_apremdeeghku
Aula - Teste de Software
Engenharia de Testes
Teste de Software - Bluesoft Labs
Teste de software, artefatos, tipos de testes
4 engenharia de software
Teste de software
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Teste de software
Teste de software
Palestra Fundamentos de Testes - Tche linux POA
01 UNIDADE I - Princípios, pilares e modelos de teste de software.pptx
3 engenharia de software
Eng de testes
Testes de Software
Testes de Software - Fundamentos
Teste de Software
Conceitos e fundamentos sobre testes de software e garantia da qualidade

Mais de Joeldson Costa Damasceno (18)

PPTX
Scrum - conceitos iniciais
PPTX
Aula 01 - Redação Oficial - Aplicação em Concursos Públicos
PPTX
Informática Básica - Software de Apresentações - Microsoft Power Point
PPTX
Informática Básica - Planilha Eletronica - Microsoft Excel 2010
PPTX
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
PPTX
Informática Básica - Formatação de Documentos no Microsoft Word 2010
PPTX
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
PPTX
PPTX
O que é um Banco de Dados Relacional?
PPTX
O que é um Banco de Dados?
PPTX
Instalação e configuração - Servidor DHCP
PPTX
Instalação do Exchange
PPTX
Auditoria em Arquivos - Microsoft Windows server 2008
PPTX
Backup do Windows Server 2008
PPTX
Instalação de Servidor de Arquivo
PPTX
Redundância de Servidor de Arquivos
PPTX
Instalação de Servidor FTP - Microsoft Windows Server 2008
PPTX
Política de Grupo - Active Directory
Scrum - conceitos iniciais
Aula 01 - Redação Oficial - Aplicação em Concursos Públicos
Informática Básica - Software de Apresentações - Microsoft Power Point
Informática Básica - Planilha Eletronica - Microsoft Excel 2010
Informática Básica - Criação de Tabelas e Gráficos no Microsoft Word 2010
Informática Básica - Formatação de Documentos no Microsoft Word 2010
Informática Básica - Criação e Edição de Documentos no Microsoft Word 2010
O que é um Banco de Dados Relacional?
O que é um Banco de Dados?
Instalação e configuração - Servidor DHCP
Instalação do Exchange
Auditoria em Arquivos - Microsoft Windows server 2008
Backup do Windows Server 2008
Instalação de Servidor de Arquivo
Redundância de Servidor de Arquivos
Instalação de Servidor FTP - Microsoft Windows Server 2008
Política de Grupo - Active Directory

Último (20)

PPSX
4. A Cultura da Catedral - HistóriaCArtes .ppsx
PPT
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
PPTX
BIÓTICOS E ABIOTICOS CADEIA ALIMENTAR.pptx
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PPTX
4. A cultura do cinema e as vanguardas.pptx
PDF
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
PDF
Urbanização no Brasil LEVANDO EM CONTA CONCEITOS
PDF
edital-de-chamamento-publico-no-3-2025.pdf
PPT
Domínios Morfoclimáticos.................................
PPTX
AULA METodologia MODIFIC PART 1 MSC.pptx
PPT
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
PPT
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PDF
historia-e-geografia-do-amapa.pdf slides
PPT
YY2015MM3DD6HH12MM42SS3-Organiza__o do Estado ILP.ppt
PPTX
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PDF
Historia-da-Psicologia-Rumos-e-percursos.pdf
PPTX
Fronteiras e soberania..........................pptx
4. A Cultura da Catedral - HistóriaCArtes .ppsx
AS VANGUARDAS EUROPEIAS NA LITERATURA E N
BIÓTICOS E ABIOTICOS CADEIA ALIMENTAR.pptx
Uma Introdução às Ciências do Alcorão (Islam)
4. A cultura do cinema e as vanguardas.pptx
EXPRESSÕES IDIOMÁTICAS - LÍNGUA PORTUGUESA
Urbanização no Brasil LEVANDO EM CONTA CONCEITOS
edital-de-chamamento-publico-no-3-2025.pdf
Domínios Morfoclimáticos.................................
AULA METodologia MODIFIC PART 1 MSC.pptx
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
Caderno de Boas Práticas dos Professores Alfabetizadores.ppt
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
historia-e-geografia-do-amapa.pdf slides
YY2015MM3DD6HH12MM42SS3-Organiza__o do Estado ILP.ppt
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
Historia-da-Psicologia-Rumos-e-percursos.pdf
Fronteiras e soberania..........................pptx

Teste de software - Processo de Verificação e Validação

  • 1. TESTE DE SOFTWARE Verificação e Validação Aula 02 Joeldson Costa Damasceno joeldsoncosta@gmail.com
  • 3. Verificação e Validação V&V é um processo aplicado para melhorar a qualidade dos produtos e a produtividade dos processos de software. Permite os desenvolvedores identificar problemas de software o mais rápido possível e corrigi-los antes de entregarem aos usuários. Permite identificar e corrigir problemas nas atividades de desenvolvimento para aumentar a produtividade de novos projetos de software.
  • 4. Permite que se determine sistematicamente se os requisitos de um sistema estão sendo corretamente tratados e implementados. Diminui as chances de retrabalho desde as primeiras fases do desenvolvimento de software. Contribui diretamente para o atendimento dos prazos e custos do projeto. Verificação e Validação
  • 5. Verificação e Validação Em cada fase do desenvolvimento os requisitos ou componentes são verificados para ver se estão completos ou corretos. Cada fase de desenvolvimento atende aos requisitos e às condições impostas pela fase anterior e o sistema ou componente final está aderente com os requisitos especificados.
  • 7. Requisitos incompletos e incorretos indicam problemas no produto que podem se manifestar por meio de falhas, caso não sejam corrigidos, durante a operação e uso do software. A IEEE descreve várias definições de problemas que podem ocorrer: – Erro (error, mistake); – Defeito (bug, fault, defect); – Falha (failure). Problemas
  • 8. (IEEE) Uma ação humana que produz um resultado incorreto. Exemplos: • Os desenvolvedores cometem erros (enganos) quando interpretam mal as necessidades dos clientes. • Os usuários cometem erros (enganos) quando operam um sistema em desacordo com as intenções dos desenvolvedores. Erros causam defeitos >> Erro - error, mistake
  • 9. (IEEE) Implementado dentro de um artefato. Exemplos: • Requisitos inconsistentes com as necessidades do cliente. • Requisitos funcionais do sistema em desacordo com os requisitos do negócio. Os defeitos podem ou não se manifestar em falhas >> Defeito - bug, fault, defect
  • 10. (IEEE) A incapacidade de um sistema ou componente em executar as funções requeridas dentro de um nível de desempenho requerido. Exemplos: • Manifestação de um defeito no sistema ou software. • Apresentação de data incorretas. • Tela azul no monitor do computador. Falha – failure
  • 12. Podem ser divididas em estáticas e dinâmicas. Técnicas de V&V
  • 14. Nas técnicas estáticas, a avaliação de um produto de software é realizada por um grupo de revisores, com intuito de identificar defeitos. Elas podem ser: a) Revisões Técnicas e Walkthroughs: Indicadas para todas as fases do ciclo de desenvolvimento de software. • Revisões Técnicas permitem avaliar um produto de software para terminar a sua adequação ao uso pretendido. Identificar discrepância entre especificações e padrões aprovados. • Walkthroughs permitem também avaliar um produto de software. O objetivo é identificar anomalias, melhorar o produto, considerar alternativas de implementação e avaliar conformidade a padrões e especificações. Técnicas Estáticas
  • 15. b) Inspeções: Indicadas para a fase de codificação. • Inspeções têm por objetivo detectar identificar anomalias no produto de software. As técnicas de inspeções de software são/devem ser aplicadas em todas as fazes do ciclo de desenvolvimento de software. Isso justifica-se porque os defeitos podem ocorrer em códigos, arquitetura, requisitos, especificações e documentação em geral. Técnicas Estáticas
  • 16. Durante o processo de inspeção alguns defeitos podem ser identificados. Os tipos de defeitos podem ser caracterizados como: • Incorreção: Implementação incorreta da especificação do cliente/usuário. • Ausência: Checagem de requisito especificado que não foi incorporado no produto. • Extra: Checagem de requisito não especificado e incorporado no produto. Tipos de Defeitos
  • 17. Outra forma de ver os defeitos é pelo tipo de danos que eles podem causar no software: Os feitos podem ser: • Pequenos: Podem ser corrigidos rapidamente e não causam mau funcionamento do software. Exemplos: defeitos de digitação, omissões em textos eu precisam ser esclarecidos para seu entendimento e etc. • Grandes: São defeitos relativos às especificações que podem causar mau funcionamento do software. Exemplos: ausência de funções, problemas de interfaces etc. • Muito sério: São defeitos que podem comprometer o projeto ocasionando o reprojeto total (ou quase) e a recodificação do software. Classificação de Defeitos
  • 19. • A avaliação é feitas através de testes. • Os testes podem ser estruturais (Teste Caixa Branca) ou funcionais (Teste Caixa Preta). • Para realizar os primeiros testes, a boa prática diz que se deve verificar inicialmente se a menor unidade de software está funcionando de acordo com as suas especificações. Nestes são realizados os testes estruturais. • Após a verificação das unidades, parte-se para os testes funcionais para verificar o software como um todo. Técnicas Dinâmicas
  • 20. Atendem às seguintes características: • O projeto de casos de teste usa a estrutura de controle procedimental do software (fluxo de controle) para derivar casos de teste. • Deve garantir que todos os caminhos independentes dentro de um módulo tenham sido exercitados pelo menos uma vez. • Devem exercitar todas as decisões lógicas para valores falsos ou verdadeiros. • Devem executar todos os laços em suas fronteiras e dentro de limites operacionais. • Devem exercitar as estruturas de dados internas para garantir a sua validade. Testes Caixa Branca
  • 21. Os tipos mais comuns são (funcionais): • Teste de integração: – Testar um conjunto de módulos; – Verificação do funcionamento com foco nas interfaces; – A referencia utilizada é a especificação do projeto; – Teste realizado pela equipe de desenvolvimento. • Teste de validação: – Verificar o software como um todo; – Verificar se todas as exigências funcionais, comportamentais e de desempenho foram atendidas. – A referencia utilizada é a especificação de requisitos funcionais e não funcionais; – Teste realizado pela equipe de desenvolvimento. Tipos de Testes Caixa Branca
  • 22. • Teste de sistema: – Medir o sistema em diferentes cenários verificado se todos os elementos do sistema (hardware, software, banco de dados e pessoas) foram adequadamente integrados e realizam as funções requeridas. – A referencia utilizada é a especificação de requisitos; – Realizado por uma equipe independente ou um usuário do sistema. Tipos de Testes Caixa Branca
  • 23. • Outros testes de sistema: – Teste de recuperação: Força o sistema a apresentar falhas de diversas maneiras e verifica se a recuperação (reiniciação do sistema e recuperação de dados) é adequadamente executada. – Teste de proteção: verifica se todos os mecanismos de proteção embutidos em um sistema funcionam contra acessos indevidos. – Teste de estresse: confrontar com situações anormais (altas exigências de recursos de dados, alto número de interrupções, alta taxa de entrada de dados, alta busca de dados em disco etc.) – Teste de desempenho: teste do software no contexto de um sistema integrado (tempos envolvidos, ciclos de processador, interrupções etc). Tipos de Testes Caixa Branca
  • 24. Atendem às seguintes características: • Concentram-se nos requisitos funcionais do software. • São uma abordagem complementar aos testes estruturais. Testes Caixa Preta
  • 25. Os tipos mais comuns são (estrutural): • Teste de unidade: – O objetivo é testar os módulos isoladamente verificando o funcionamento conjunto dos algoritmos e as estruturas de dados. – A referencia utilizada é a especificação de módulos, um documento detalhado de cada módulo do software. – Teste realizado por um programador. Tipos de Testes Caixa Preta
  • 26. OUTROS TESTES DE SOFTWARE
  • 27. • Teste Alfa: realizado pelo cliente no ambiente de desenvolvimento do software. • Teste Beta: realizado em um ou mais ambientes do cliente pelos usuários. Outros testes de software
  • 29. Segundo Hirama (livro referência) apesar da importância dos testes de software, sua realização apresenta algumas dificuldades: 1. Falta de conhecimento necessário sobre testes por parte dos desenvolvedores. 2. Simplificação quando o cronograma do projeto está comprometido. Para isso, ele destaca alguns princípios importantes que deve ser seguidos >> A atividade de testes
  • 30. ❶ Teste completo não é possível, ou seja, testar todas as situações não é possível. Não significa que se pode deixar algum requisito do cliente sem teste. TESTES - Princípios importantes
  • 31. ❷ A atividade de teste é criativa e difícil, ou seja, ela exige boa experiência dos testadores. É necessário conhecimento para ter maior cobertura possível dos testes. TESTES - Princípios importantes
  • 32. ❸ Uma importante razão do teste é a prevenção de defeitos, ou seja, o teste permite melhorar a qualidade do software detectando os defeitos no software. TESTES - Princípios importantes
  • 33. ❹ O teste é baseado em risco, ou seja, o esforço de teste é proporcional ao risco de negócio envolvido (resultados incorretos, transação não autorizada, perda de desempenho, comprometimento de segurança etc.) quanto maior o risco de negócio mais teste devem ser realizados. TESTES - Princípios importantes
  • 34. ❺ Ele deve ser planejado por se tratar de uma atividade importante que exige estratégias e recursos. TESTES - Princípios importantes
  • 35. ❻ O teste requer independência, ou seja, não basta planeja-lo, é necessário ter visão crítica para analisar os resultados; uma boa prática é “quem implementa não testa” TESTES - Princípios importantes
  • 37. O teste: – Ajuda a tornar a qualidade visível. – É a maneira de medir a qualidade de software. A qualidade do software está intimamente relacionada a quantidade de erros descobertos. + erros descobertos + maior qualidade Qualidade do software
  • 38. Segundo Perry, a proporção de defeitos detectados em projeto de software é: Qualidade do software 36% 64% Codificação Análise e Projeto
  • 40. Extensão de teste Custo de teste Extensão do teste Qualidade Número de defeitos Teste Excessivo Teste Insuficiente
  • 42. 1. Em uma verificação de produtos ou documentos buscam-se erros, defeitos ou falhas? Justifique. 2. A maior parte de defeitos é embutida nas fase iniciais do desenvolvimento de software. Sugira formas de minimizar este problema. 3. Explica com suas palavras o que significam as questões “Estamos construindo certou o produto?” para verificação e “Estamos construindo o produto certo?” para validação. 4. Escolha três produtos de desenvolvimento de software que devem passar por uma técnica estática de V&V, Qual foi o critério usando para as escolhas? 5. A aplicação da técnica dinâmica de V&V, conhecido como teste de software, depende dos programas estarem prontos. Como se poderia organizar os testes de maneira que sejam os mais efetivos possíveis? 6. Qual a diferença entre técnicas estáticas e dinâmicas de V&V? O que podem ser verificados? 7. O teste é baseado em risco ao negócio. Cite uma área de negócio onde os testes devem ser mais rigorosos. Justifique. 8. O que são teste caixa branca e caixa preta? Dê exemplos. 9. A finalidade dos teste de validação é verificar o atendimento de requisitos do cliente. Está correto? Justifique.
  • 44. Referência HIRAMA, Kechi. Engenharia de Software: qualidade e produtividade com tecnologia / Kechi Hirama. Rio de Janeiro: Elsevier, 2011. ISBN 978-85-352-4882-1