SlideShare uma empresa Scribd logo
Universidade Federal da Bahia
     Instituto de Matemática
     Departamento de Ciência da Computação
     Disciplina: MATA62 – Engenharia de Software I



     Cliquez pour modifier le style du titre
                       Teste de Software

                         Mauricio C. Santos
                            CPD-UFBA


Salvador, Março/2010
O Que Veremos?


                    Conceitos Básicos
Teste de Software
                    Teste de Software
                    • Teste de Unidade
                    • Teste Funcional
                    • Teste de Integração
                    Estratégia de Testes em XP
                    Test-Driven Development
                    • TDD com Ruby
                    Teste de Unidade com Ruby

                                                 2
Referências Bibliográficas

https://disciplinas.dcc.ufba.br/pub/MATB15/SemestreCorrent
e/Aula1.pdf
http://disciplinas.dcc.ufba.br/MATA62/TesteDeSoftware
http://disciplinas.dcc.ufba.br/MATA62/TestesDeUnidade
http://www.disciplinas.dcc.ufba.br/MATA63/Desenvolviment
oDirigidoPorTestes
http://disciplinas.dcc.ufba.br/MATA62/TDDComRuby
http://pt.wikipedia.org/wiki/Test_Driven_Development




                                                        3
Cliquez pour modifier le style du titre

                    Conceitos Básicos
Defeitos e Falhas



Defeito
• um problema nos requisitos, no projeto, no
  código, na documentação ou nos casos de teste.
Falha
• um problema no funcionamento do sistema.


        Falha: conseqüência de um defeito


                                              5
Defeitos e Falhas: Uma Visão Mais Completa




                                         6
Principais Artefatos de Software: Uma Visão
Simplificada




                                          7
Defeitos Introduzidos ao Longo do Processo
  de Desenvolvimento

A maior parte é de origem humana.
São gerados na comunicação e na transformação
de informações.
Permanecem presentes nos diversos produtos de
software produzidos e liberados.
A maioria encontra-se em partes do produto de
software raramente utilizadas e/ou executadas.




                                                 8
Alguns Tipos de Defeitos Introduzidos




                                        9
Defeitos Introduzidos ao Longo do Processo
  de Desenvolvimento

Principal causa:
• Tradução incorreta de informações.
Quanto antes a presença do defeito for revelada,
menor o custo de correção do defeito e maior a
probabilidade de corrigi-lo corretamente.
Solução:
• Introduzir atividades de V V & T ao longo de todo
  o ciclo de desenvolvimento.


                                                   10
Verificação e Validação V & V


As atividades de avaliação de produtos são parte
do tema chamado Verificação e Validação (V&V).
A definição de V&V abrange muitas das atividades
às quais nos referimos como Garantia da
Qualidade de Software (SQA).




                                              11
Verificação



Refere-se ao conjunto de atividades que garante
que o software implementa corretamente uma
função específica.


  “Estamos construindo certo o produto?”




                                                  12
Validação



Refere-se ao conjunto de atividades que garante
que o software que foi construído é “rastreável” às
exigências do cliente.


  “Estamos construindo o produto certo?”




                                                 13
Garantia da Qualidade de Software



Métodos de Engenharia de Software: proporcionam
a base a partir da qual a qualidade é construída.
Revisões Técnicas Formais: ajudam a garantir a
qualidade do produto produzido como uma
conseqüência de cada passo da engenharia de
software.
Medição: ajudam a controlar cada elemento da
configuração de software.


                                                 14
Garantia da Qualidade de Software



Padrões e Procedimentos: ajudam a garantir a
uniformidade.
Garantia de Qualidade de Software (SQA): põe em
prática uma filosofia de qualidade total.
Teste: a qualidade pode ser avaliada.




                                               15
Garantia da Qualidade de Software




                                    16
Cliquez pour modifier le style du titre

                     Teste de Software
O Que É ?



A atividade de teste é o processo de executar um
programa com a intenção de descobrir um erro
Um bom caso de teste é aquele que tem uma
elevada probabilidade de revelar um erro ainda não
descoberto
Um teste bem-sucedido é aquele que revela um
erro ainda não descoberto.



                                               18
Objetivos da Atividade de Teste


Objetivo: projetar testes que descubram
sistematicamente diferentes classes de erros com
uma quantidade de tempo e esforço razoáveis.
Se a atividade de teste for conduzida com sucesso,
ela descobrirá erros no software.

   A atividade de teste não pode mostrar a ausência de bugs.
  Ela só pode mostrar se defeitos de software estão presentes.




                                                                 19
Erros e as Atividades de Teste


Se erros graves forem encontrados com
regularidade, isto implica que a qualidade e a
confiabilidade de software são suspeitas.
Se erros facilmente corrigíveis forem
encontrados, isto implica que a qualidade e a
confiabilidade do software estão aceitáveis ou os
testes são inadequados para revelar erros graves
Se não for encontrado erro isto implica que a
configuração de teste não foi suficientemente
elaborada e erros estão escondidos no software
                                                 20
Processo Tradicional de Testes




                                 21
Abordagens para Testes



Abordagem funcional
• AKA "teste caixa preta"
• são testadas as funcionalidades do software,
  emitindo entradas pré-definidas e testando pelas
  saídas esperadas.




                                               22
Abordagens para Testes


Abordagem estrutural
• AKA "teste caixa branca"
• são testados aspectos de implementação das
  unidades de modularização (e.g. classes):
    algoritmos utilizados
    resultados esperados de métodos em função
    de seus parâmetros



                                               23
Teste Automatizado de Software


Programas que testam programas.
• oráculo
Uso de frameworks de teste.




                                   24
Etapas do Teste de Software




Testes de Unidade: cada módulo é testado
individualmente garantindo que ele funcione
adequadamente.
Utiliza as técnicas de teste de caixa branca.




                                                25
Etapas do Teste de Software




Testes de Integração: os módulos são montados
ou integrados para formarem um pacote de
software.
Utiliza principalmente as técnicas de teste de caixa
preta.




                                                  26
Etapas do Teste de Software




Testes de Alto Nível (validação e sistema): Os
critérios de validação estabelecidos durante a
análise de requisitos são testados.
Verifica também se todos os elementos combinam-
se adequadamente e se a função/ desempenho
global do sistema é conseguida.
Utiliza as técnicas de caixa preta.


                                                 27
Etapas do Teste de Software




                              28
Cliquez pour modifier le style du titre

        Estratégia de Teste em XP
Estratégia de Teste em XP



"O que não pode ser mensurado não existe." [Kent
Beck]
"Não confio em nada que escrevi até que eu tenha
testes para isso." [Kent Beck]
"Tests are both resource and responsibility."
"Work with human nature, not against it."
• Testar é importante mas pensamos mais no
  código do que nos testes

                                                30
Estratégia de Teste em XP



Testes com XP são isolados e automáticos
• Testes isolados: não há efeito "cascata" pois
  testes não interagem entre si
• Testes automáticos: indicam apenas se os testes
  passaram ou não




                                                  31
Cliquez pour modifier le style du titre

 Test Driven Development - TDD
O Que É ?




            33
Por Quê Usar ?



Ênfase na interface
Expressão dos requisitos
Projeto bottom-up
Todo código desenvolvido é coberto por testes
Design do programa
Redução do tempo de depuração
Código modularizado, flexível e extensível

                                                34
Refatoração



Modificar o design de um código sem alterar o seu
comportamento
Em TDD, isso significa alterar o código de forma
que os testes continuem passando.
Para saber mais: Refactoring: Improving the Design
of Existing Code (The Addison-Wesley Object
Technology Series): Martin Fowler,Kent Beck,John
Brant,William Opdyke,Don Roberts


                                                   35
Beneficios

Alguns estudos mostram impacto positivo de TDD:
Redução de número de defeitos
• Um estudo sobre o impacto do uso de
  desenvolvimento orientado por testes na
  melhoria da qualidade de software. Projeto de
  conclusão de curso de Daniela Feitosa, 2007.2.
Aumento da produtividade
Aumento da qualidade


                                              36
Limitações

Mudança de pensamento
Suporte gerencial
Dependência de testes funcionais para
sucesso/falha (interfaces de usuários, interação
com bases de dados, sistemas que dependam de
configurações específicas da rede)




                                               37

Mais conteúdo relacionado

Mais procurados

Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
Tiago Antônio da Silva
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
Camilo Ribeiro
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
marthahuback
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
André Phillip Bertoletti
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
Jadson Santos
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
Ariane Izac
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Elias Nogueira
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
Alvaro Oliveira
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
Fabrício Campos
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de software
carlosabs13
 
Modelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de SequênciaModelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de Sequência
Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
Alan Carlos
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
Cloves da Rocha
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
Capgemini
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
Camilo Almendra
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
AlexandreBartie
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
Leinylson Fontinele
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
Nécio de Lima Veras
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
Rodrigo Branas
 

Mais procurados (20)

Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Técnicas de Teste
Técnicas de TesteTécnicas de Teste
Técnicas de Teste
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Planejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágilPlanejamento de testes em um mundo ágil
Planejamento de testes em um mundo ágil
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Introdução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem práticaIntrodução ao Teste de Software - Uma abordagem prática
Introdução ao Teste de Software - Uma abordagem prática
 
Metricas de qualidade em produtos de software
Metricas de qualidade em produtos de softwareMetricas de qualidade em produtos de software
Metricas de qualidade em produtos de software
 
Modelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de SequênciaModelagem de Sistemas de Informação 10 Diagrama de Sequência
Modelagem de Sistemas de Informação 10 Diagrama de Sequência
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Testes de Software
Testes de SoftwareTestes de Software
Testes de Software
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 

Semelhante a Aula - Teste de Software

Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
Fernando Palma
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
Roberto Nunes
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
João Lourenço
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
UFPA
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
testedesoftwarepe
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
Mário Pravato Junior
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
Taís Dall'Oca
 
Teste de software
Teste de softwareTeste de software
Teste de software
Claudio Eckert
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
Wagner Zaparoli
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
Felipe Bugov
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
Lucas Bonanno Casanova
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
MichaelArrais1
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
GustavoRondini
 
Eng de testes
Eng de testesEng de testes
Eng de testes
GrupoAlves - professor
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
Cloves da Rocha
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
Felipe Bugov
 
Teste de software
Teste de software Teste de software
Teste de software
Allan Almeida de Araújo
 
Teste de software
Teste de softwareTeste de software
Teste de software
Rodrigo Cardoso Alves Fonte
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
Juliana Maria Lopes
 

Semelhante a Aula - Teste de Software (20)

Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
Palestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreiraPalestra Teste de Software: princípios, ferramentas e carreira
Palestra Teste de Software: princípios, ferramentas e carreira
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Aula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdfAula18_V&VTesteSoftware.pdf
Aula18_V&VTesteSoftware.pdf
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
4 engenharia de software
4   engenharia de software4   engenharia de software
4 engenharia de software
 
Teste de software
Teste de software Teste de software
Teste de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes Funcionais
Testes FuncionaisTestes Funcionais
Testes Funcionais
 

Mais de Mauricio Cesar Santos da Purificação

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Mauricio Cesar Santos da Purificação
 
R para Iniciantes
R para IniciantesR para Iniciantes
Aprendendo R
Aprendendo RAprendendo R
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Mauricio Cesar Santos da Purificação
 
Pitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus PartyPitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus Party
Mauricio Cesar Santos da Purificação
 
Pitch BestPoint - Campus Party
Pitch BestPoint - Campus PartyPitch BestPoint - Campus Party
Pitch BestPoint - Campus Party
Mauricio Cesar Santos da Purificação
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Flyer BestPoint
Flyer BestPointFlyer BestPoint
Pitch BestPoint
Pitch BestPointPitch BestPoint
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Mauricio Cesar Santos da Purificação
 
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TIOxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
Mauricio Cesar Santos da Purificação
 
Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015
Mauricio Cesar Santos da Purificação
 
BestPoint
BestPointBestPoint
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Mauricio Cesar Santos da Purificação
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Mauricio Cesar Santos da Purificação
 
QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…
Mauricio Cesar Santos da Purificação
 
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Mauricio Cesar Santos da Purificação
 
Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?
Mauricio Cesar Santos da Purificação
 
Derivação de Modelos ER
Derivação de Modelos ERDerivação de Modelos ER
Derivação de Modelos ER
Mauricio Cesar Santos da Purificação
 
Business Intelligence - Prática e Experiências
Business Intelligence - Prática e ExperiênciasBusiness Intelligence - Prática e Experiências
Business Intelligence - Prática e Experiências
Mauricio Cesar Santos da Purificação
 

Mais de Mauricio Cesar Santos da Purificação (20)

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
 
R para Iniciantes
R para IniciantesR para Iniciantes
R para Iniciantes
 
Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
 
Pitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus PartyPitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus Party
 
Pitch BestPoint - Campus Party
Pitch BestPoint - Campus PartyPitch BestPoint - Campus Party
Pitch BestPoint - Campus Party
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 
Flyer BestPoint
Flyer BestPointFlyer BestPoint
Flyer BestPoint
 
Pitch BestPoint
Pitch BestPointPitch BestPoint
Pitch BestPoint
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TIOxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
 
Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015
 
BestPoint
BestPointBestPoint
BestPoint
 
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…
 
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
 
Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?
 
Derivação de Modelos ER
Derivação de Modelos ERDerivação de Modelos ER
Derivação de Modelos ER
 
Business Intelligence - Prática e Experiências
Business Intelligence - Prática e ExperiênciasBusiness Intelligence - Prática e Experiências
Business Intelligence - Prática e Experiências
 

Último

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (7)

PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

Aula - Teste de Software

  • 1. Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Disciplina: MATA62 – Engenharia de Software I Cliquez pour modifier le style du titre Teste de Software Mauricio C. Santos CPD-UFBA Salvador, Março/2010
  • 2. O Que Veremos? Conceitos Básicos Teste de Software Teste de Software • Teste de Unidade • Teste Funcional • Teste de Integração Estratégia de Testes em XP Test-Driven Development • TDD com Ruby Teste de Unidade com Ruby 2
  • 4. Cliquez pour modifier le style du titre Conceitos Básicos
  • 5. Defeitos e Falhas Defeito • um problema nos requisitos, no projeto, no código, na documentação ou nos casos de teste. Falha • um problema no funcionamento do sistema. Falha: conseqüência de um defeito 5
  • 6. Defeitos e Falhas: Uma Visão Mais Completa 6
  • 7. Principais Artefatos de Software: Uma Visão Simplificada 7
  • 8. Defeitos Introduzidos ao Longo do Processo de Desenvolvimento A maior parte é de origem humana. São gerados na comunicação e na transformação de informações. Permanecem presentes nos diversos produtos de software produzidos e liberados. A maioria encontra-se em partes do produto de software raramente utilizadas e/ou executadas. 8
  • 9. Alguns Tipos de Defeitos Introduzidos 9
  • 10. Defeitos Introduzidos ao Longo do Processo de Desenvolvimento Principal causa: • Tradução incorreta de informações. Quanto antes a presença do defeito for revelada, menor o custo de correção do defeito e maior a probabilidade de corrigi-lo corretamente. Solução: • Introduzir atividades de V V & T ao longo de todo o ciclo de desenvolvimento. 10
  • 11. Verificação e Validação V & V As atividades de avaliação de produtos são parte do tema chamado Verificação e Validação (V&V). A definição de V&V abrange muitas das atividades às quais nos referimos como Garantia da Qualidade de Software (SQA). 11
  • 12. Verificação Refere-se ao conjunto de atividades que garante que o software implementa corretamente uma função específica. “Estamos construindo certo o produto?” 12
  • 13. Validação Refere-se ao conjunto de atividades que garante que o software que foi construído é “rastreável” às exigências do cliente. “Estamos construindo o produto certo?” 13
  • 14. Garantia da Qualidade de Software Métodos de Engenharia de Software: proporcionam a base a partir da qual a qualidade é construída. Revisões Técnicas Formais: ajudam a garantir a qualidade do produto produzido como uma conseqüência de cada passo da engenharia de software. Medição: ajudam a controlar cada elemento da configuração de software. 14
  • 15. Garantia da Qualidade de Software Padrões e Procedimentos: ajudam a garantir a uniformidade. Garantia de Qualidade de Software (SQA): põe em prática uma filosofia de qualidade total. Teste: a qualidade pode ser avaliada. 15
  • 16. Garantia da Qualidade de Software 16
  • 17. Cliquez pour modifier le style du titre Teste de Software
  • 18. O Que É ? A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro Um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um erro ainda não descoberto Um teste bem-sucedido é aquele que revela um erro ainda não descoberto. 18
  • 19. Objetivos da Atividade de Teste Objetivo: projetar testes que descubram sistematicamente diferentes classes de erros com uma quantidade de tempo e esforço razoáveis. Se a atividade de teste for conduzida com sucesso, ela descobrirá erros no software. A atividade de teste não pode mostrar a ausência de bugs. Ela só pode mostrar se defeitos de software estão presentes. 19
  • 20. Erros e as Atividades de Teste Se erros graves forem encontrados com regularidade, isto implica que a qualidade e a confiabilidade de software são suspeitas. Se erros facilmente corrigíveis forem encontrados, isto implica que a qualidade e a confiabilidade do software estão aceitáveis ou os testes são inadequados para revelar erros graves Se não for encontrado erro isto implica que a configuração de teste não foi suficientemente elaborada e erros estão escondidos no software 20
  • 22. Abordagens para Testes Abordagem funcional • AKA "teste caixa preta" • são testadas as funcionalidades do software, emitindo entradas pré-definidas e testando pelas saídas esperadas. 22
  • 23. Abordagens para Testes Abordagem estrutural • AKA "teste caixa branca" • são testados aspectos de implementação das unidades de modularização (e.g. classes): algoritmos utilizados resultados esperados de métodos em função de seus parâmetros 23
  • 24. Teste Automatizado de Software Programas que testam programas. • oráculo Uso de frameworks de teste. 24
  • 25. Etapas do Teste de Software Testes de Unidade: cada módulo é testado individualmente garantindo que ele funcione adequadamente. Utiliza as técnicas de teste de caixa branca. 25
  • 26. Etapas do Teste de Software Testes de Integração: os módulos são montados ou integrados para formarem um pacote de software. Utiliza principalmente as técnicas de teste de caixa preta. 26
  • 27. Etapas do Teste de Software Testes de Alto Nível (validação e sistema): Os critérios de validação estabelecidos durante a análise de requisitos são testados. Verifica também se todos os elementos combinam- se adequadamente e se a função/ desempenho global do sistema é conseguida. Utiliza as técnicas de caixa preta. 27
  • 28. Etapas do Teste de Software 28
  • 29. Cliquez pour modifier le style du titre Estratégia de Teste em XP
  • 30. Estratégia de Teste em XP "O que não pode ser mensurado não existe." [Kent Beck] "Não confio em nada que escrevi até que eu tenha testes para isso." [Kent Beck] "Tests are both resource and responsibility." "Work with human nature, not against it." • Testar é importante mas pensamos mais no código do que nos testes 30
  • 31. Estratégia de Teste em XP Testes com XP são isolados e automáticos • Testes isolados: não há efeito "cascata" pois testes não interagem entre si • Testes automáticos: indicam apenas se os testes passaram ou não 31
  • 32. Cliquez pour modifier le style du titre Test Driven Development - TDD
  • 33. O Que É ? 33
  • 34. Por Quê Usar ? Ênfase na interface Expressão dos requisitos Projeto bottom-up Todo código desenvolvido é coberto por testes Design do programa Redução do tempo de depuração Código modularizado, flexível e extensível 34
  • 35. Refatoração Modificar o design de um código sem alterar o seu comportamento Em TDD, isso significa alterar o código de forma que os testes continuem passando. Para saber mais: Refactoring: Improving the Design of Existing Code (The Addison-Wesley Object Technology Series): Martin Fowler,Kent Beck,John Brant,William Opdyke,Don Roberts 35
  • 36. Beneficios Alguns estudos mostram impacto positivo de TDD: Redução de número de defeitos • Um estudo sobre o impacto do uso de desenvolvimento orientado por testes na melhoria da qualidade de software. Projeto de conclusão de curso de Daniela Feitosa, 2007.2. Aumento da produtividade Aumento da qualidade 36
  • 37. Limitações Mudança de pensamento Suporte gerencial Dependência de testes funcionais para sucesso/falha (interfaces de usuários, interação com bases de dados, sistemas que dependam de configurações específicas da rede) 37