SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
• De acordo com PRESSMAN:
   – Todos os testes devem estar relacionados aos requisitos do cliente (p.
     93).
   – Teste é um conjunto de atividades que podem ser planejadas
     antecipadamente e conduzidas sistematicamente (p. 262).
• Planejamento de Casos de Teste?
• Série de Testes:
   –   Alfa e Beta
   –   Integração
   –   Regressão
   –   Sistema
   –   Unidade
   –   Validação
   –   Fumaça


                                                                              2
• Segundo PRESSMAN (p. 316):
   – Operabilidade: Quanto melhor funciona, mas eficientemente pode ser
     testado.

   – Observabilidade: O que você vê, é o que você testa.

   – Controlabilidade: Quando melhor você controlar o software, mais o
     teste pode ser automatizado e otimizado.

   – Decomponibilidade: Controlando o escopo do teste, podemos isolar
     problemas mais rapidamente e realizar retestagem mais
     racionalmente.

   – Simplicidade: Quanto menos houver a testar, mais rapidamente
     podemos testar.

   – Estabilidade: Quanto menos modificações, menos interrupções no
     teste.                                                              3
• Também chamado de “teste caixa preta” ou
  teste comportamental (PRESSMAN, p. 327).
  – Focaliza os requisitos funcionais do software.
  – Abordagem complementar a “caixa branca”,
    buscando os erros:
     •   Erros de Interface.
     •   Funções incorretas ou omitidas.
     •   Erros de comportamento o desempenho.
     •   Erros de Estrutura de Dados ou acesso a Banco de
         Dados.
                                                            4
• Ferramenta para gravação, construção, edição e
  execução de testes, onde a reprodução dos testes é
  realizada no ambiente real da aplicação.
   – Extensão do Mozilla Firefox
   – Onde obter? http://seleniumhq.org/projects/ide
   – Dica: instalar também a extensão “Page Coverage”
      • Para tirar “prints” das interfaces testadas.




                                                        5
6
• Construção:
  – Passo a passo
  – Gravação do teste
     • Gravação dos “prints” das telas testadas




• Execução:
  – A partir de teste salvo previamente
  – Após a construção.

                                                  7
8
• Também chamado de “teste caixa branca” ou
  teste lógico (PRESSMAN, p. 318).
  – Usa a estrutura de controle para realizar os testes
    (código fonte).
  – Buscando os erros:
     • Todos os caminhos lógicos serão exercitados, nos lados
       verdadeiro e falso.
     • Execução de todos os ciclos, dentro limites e bis
       intervalos estabelecidos.
     • Exercício das estruturas de dados internas para garantir
       validade.
                                                              9
10
• É uma ferramenta “free” para calcular a porcentagem de
  código Java acessado pelos testes.
   – Pode ser executado via Ant ou linha de comando.
   – Instrumentação da Java Bytecode.
   – Geração de relatórios em HTML (ou XML, para o
     Hudson!)
   – Onde Obter?
     http://cobertura.sourceforge.net/index.html



                                                       11
Instrumentação das Classes                     Geração de Relatórios
• cobertura-instrument.bat                  • cobertura-report.bat
Parâmetro:      Descrição:                   Parâmetro:      Descrição:
--basedir       Diretório onde estão as      --basedir       Diretório onde estão as
                classes que você vai                         classes que você vai
                instrumentar.                                instrumentar.
--datafile      Diretório que vai conter     --datafile      Diretório que vai conter
                o “cobertura.ser”                            o “cobertura.ser”
--destination   Diretório das classes        --destination   Diretório das classes
                instrumentadas                               instrumentadas
--ignore        Expressão regular para       --format        HTML ou XML
                ignorar linhas de código.    --ignore        Expressão regular para
                                                             ignorar linhas de código.
                                                                                    12
– Integração com o NetBeans
  • project.properties
  • Automação no Ant (Build.xml)
     –   Instrumentação.
     –   Geração de Relatórios.
     –   Como rodar a geração do relatório? Executar tarefas do Ant.
     –   Como fazer? Quais as Instruções? Arquivo em anexo.




                                                                       13
14
15
• PRESSMAN, R. S. Engenharia de Software. São Paulo:
  McGraw-Hill, 2006.
• Selenium Team. Selenium IDE Project. Disponível em:
  <http://seleniumhq.org/projects/ide>. Acesso em 06 jun.
  2012.
• Cobertura Team. Cobertura. Disponível em: <
  http://cobertura.sourceforge.net/index.html>. Acesso em 10
  jun. 2012.
• NetBeans. Cobertura – NetBeans Wiki. Disponível em: <
  http://wiki.netbeans.org/Cobertura >. Acesso em 12 jun.
  2012.

                                                               16

Mais conteúdo relacionado

Mais procurados

Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networksGyuhyeon Nam
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Agile India
 
Tutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component pluginTutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component pluginsearchbox-com
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019Kenneth Ceyer
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST APIIvan Katunou
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentFrederick Reiss
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsYura Nosenko
 
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoElaine Cecília Gatto
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 
Cloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunnerCloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunnerRichard Bishop
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleDataWorks Summit
 
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan Zhang
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan ZhangExperiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan Zhang
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan ZhangDatabricks
 
Ozone: scaling HDFS to trillions of objects
Ozone: scaling HDFS to trillions of objectsOzone: scaling HDFS to trillions of objects
Ozone: scaling HDFS to trillions of objectsDataWorks Summit
 
Spark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon WhitearSpark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon WhitearSpark Summit
 

Mais procurados (20)

Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networks
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
 
Tutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component pluginTutorial on developing a Solr search component plugin
Tutorial on developing a Solr search component plugin
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
 
Test Design and Automation for REST API
Test Design and Automation for REST APITest Design and Automation for REST API
Test Design and Automation for REST API
 
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
 
The Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter DeploymentThe Five Stages of Enterprise Jupyter Deployment
The Five Stages of Enterprise Jupyter Deployment
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Jpa
JpaJpa
Jpa
 
Whitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applicationsWhitebox testing of Spring Boot applications
Whitebox testing of Spring Boot applications
 
Algoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de ProgramaçãoAlgoritmos - Paradigmas de Programação
Algoritmos - Paradigmas de Programação
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
Cloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunnerCloud Performance Testing with LoadRunner
Cloud Performance Testing with LoadRunner
 
Hive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! ScaleHive and Apache Tez: Benchmarked at Yahoo! Scale
Hive and Apache Tez: Benchmarked at Yahoo! Scale
 
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan Zhang
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan ZhangExperiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan Zhang
Experiences Migrating Hive Workload to SparkSQL with Jie Xiong and Zhan Zhang
 
Ozone: scaling HDFS to trillions of objects
Ozone: scaling HDFS to trillions of objectsOzone: scaling HDFS to trillions of objects
Ozone: scaling HDFS to trillions of objects
 
Hibernate
HibernateHibernate
Hibernate
 
Jsf presentation
Jsf presentationJsf presentation
Jsf presentation
 
Spark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon WhitearSpark Summit EU talk by Simon Whitear
Spark Summit EU talk by Simon Whitear
 

Semelhante a Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizadosThiago Ghisi
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...Guilherme Veras
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Affinitas GmbH
 
Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniterAnderson Gonçalves
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Metodologia de-testes
Metodologia de-testesMetodologia de-testes
Metodologia de-testespadinho
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"ISCTE
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...minastestingconference
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsSamanta Cicilia
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumSandy Maciel
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js4ALL Tests
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSFrederico Allan
 
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...Clavis Segurança da Informação
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com HudsonLuis Reis
 

Semelhante a Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura (20)

Introdução a testes automatizados
Introdução a testes automatizadosIntrodução a testes automatizados
Introdução a testes automatizados
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
sfCon 2012 - Conceitos de Engenharia Reversa aplicados na migração de sistema...
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
Python Brasil 2020 - Desmitificando pipeline de dados com Python: o que apren...
 
Introdução ao framework CodeIgniter
Introdução ao framework CodeIgniterIntrodução ao framework CodeIgniter
Introdução ao framework CodeIgniter
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Metodologia de-testes
Metodologia de-testesMetodologia de-testes
Metodologia de-testes
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"Apresentação "O CMS Seguro"
Apresentação "O CMS Seguro"
 
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
Samanta Cicilia - MTC - Importância de Testes Automatizados para Continuous D...
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Importância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOpsImportância de Testes Automatizados para Continuous Delivery & DevOps
Importância de Testes Automatizados para Continuous Delivery & DevOps
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Introdução a testes de software utilizando selenium
Introdução a testes de software utilizando seleniumIntrodução a testes de software utilizando selenium
Introdução a testes de software utilizando selenium
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJS
 
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...
V SEGINFO: “Utilizando padrões abertos para Coleta de informações e Assessmen...
 
Integração Contínua com Hudson
Integração Contínua com HudsonIntegração Contínua com Hudson
Integração Contínua com Hudson
 

Mais de Tiago Antônio da Silva

SIF - Sistemas de Informacao e Regressao Linear
SIF - Sistemas de Informacao e Regressao LinearSIF - Sistemas de Informacao e Regressao Linear
SIF - Sistemas de Informacao e Regressao LinearTiago Antônio da Silva
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilTiago Antônio da Silva
 
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestradoCaminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestradoTiago Antônio da Silva
 
Análise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
Análise e Projeto de Sistemas: Mockup de um Crud no BalsamiqAnálise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
Análise e Projeto de Sistemas: Mockup de um Crud no BalsamiqTiago Antônio da Silva
 
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceXamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceTiago Antônio da Silva
 
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin FormsXamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin FormsTiago Antônio da Silva
 
Redes - Camada Física e Meios de Transmissão
Redes - Camada Física e Meios de TransmissãoRedes - Camada Física e Meios de Transmissão
Redes - Camada Física e Meios de TransmissãoTiago Antônio da Silva
 
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de RegiõesDefesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de RegiõesTiago Antônio da Silva
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosTiago Antônio da Silva
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxTiago Antônio da Silva
 
Curso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarCurso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarTiago Antônio da Silva
 
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoCurso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoTiago Antônio da Silva
 

Mais de Tiago Antônio da Silva (20)

SIF - Sistemas de Informacao e Regressao Linear
SIF - Sistemas de Informacao e Regressao LinearSIF - Sistemas de Informacao e Regressao Linear
SIF - Sistemas de Informacao e Regressao Linear
 
Manual de Sovrevivência do Aluno
Manual de Sovrevivência do AlunoManual de Sovrevivência do Aluno
Manual de Sovrevivência do Aluno
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestradoCaminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
Caminhos na Carreira Acadêmica: A visão de um tecnólogo que fez mestrado
 
Análise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
Análise e Projeto de Sistemas: Mockup de um Crud no BalsamiqAnálise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
Análise e Projeto de Sistemas: Mockup de um Crud no Balsamiq
 
Redes - Camada de Enlace de Dados
Redes - Camada de Enlace de DadosRedes - Camada de Enlace de Dados
Redes - Camada de Enlace de Dados
 
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceXamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
 
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin FormsXamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
Xamarin - Aula 2 - Criando o Primeiro Projeto com Xamarin Forms
 
O que são Redes de Computadores
O que são Redes de ComputadoresO que são Redes de Computadores
O que são Redes de Computadores
 
Redes - Camada Física e Meios de Transmissão
Redes - Camada Física e Meios de TransmissãoRedes - Camada Física e Meios de Transmissão
Redes - Camada Física e Meios de Transmissão
 
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de RegiõesDefesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
Defesa do meu Mestrado: Segmentação de Imagens 3D com Crescimento de Regiões
 
Folhas de Estilo XSL
Folhas de Estilo XSLFolhas de Estilo XSL
Folhas de Estilo XSL
 
Divisão de Imagens 3D com CloudCompare
Divisão de Imagens 3D com CloudCompareDivisão de Imagens 3D com CloudCompare
Divisão de Imagens 3D com CloudCompare
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
Curso JavaScript - Aula jQuery
Curso JavaScript - Aula jQueryCurso JavaScript - Aula jQuery
Curso JavaScript - Aula jQuery
 
Curso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e AjaxCurso JavaScript - Aula sobre DOM e Ajax
Curso JavaScript - Aula sobre DOM e Ajax
 
Curso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como ProgramarCurso JavaScript - Aula de Introdução como Programar
Curso JavaScript - Aula de Introdução como Programar
 
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoCurso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
 
Curso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um LayoutCurso HTML 5 - Construindo um Layout
Curso HTML 5 - Construindo um Layout
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 

Testes Funcionais e Estruturais utilizando Selenium IDE e Cobertura

  • 1.
  • 2. • De acordo com PRESSMAN: – Todos os testes devem estar relacionados aos requisitos do cliente (p. 93). – Teste é um conjunto de atividades que podem ser planejadas antecipadamente e conduzidas sistematicamente (p. 262). • Planejamento de Casos de Teste? • Série de Testes: – Alfa e Beta – Integração – Regressão – Sistema – Unidade – Validação – Fumaça 2
  • 3. • Segundo PRESSMAN (p. 316): – Operabilidade: Quanto melhor funciona, mas eficientemente pode ser testado. – Observabilidade: O que você vê, é o que você testa. – Controlabilidade: Quando melhor você controlar o software, mais o teste pode ser automatizado e otimizado. – Decomponibilidade: Controlando o escopo do teste, podemos isolar problemas mais rapidamente e realizar retestagem mais racionalmente. – Simplicidade: Quanto menos houver a testar, mais rapidamente podemos testar. – Estabilidade: Quanto menos modificações, menos interrupções no teste. 3
  • 4. • Também chamado de “teste caixa preta” ou teste comportamental (PRESSMAN, p. 327). – Focaliza os requisitos funcionais do software. – Abordagem complementar a “caixa branca”, buscando os erros: • Erros de Interface. • Funções incorretas ou omitidas. • Erros de comportamento o desempenho. • Erros de Estrutura de Dados ou acesso a Banco de Dados. 4
  • 5. • Ferramenta para gravação, construção, edição e execução de testes, onde a reprodução dos testes é realizada no ambiente real da aplicação. – Extensão do Mozilla Firefox – Onde obter? http://seleniumhq.org/projects/ide – Dica: instalar também a extensão “Page Coverage” • Para tirar “prints” das interfaces testadas. 5
  • 6. 6
  • 7. • Construção: – Passo a passo – Gravação do teste • Gravação dos “prints” das telas testadas • Execução: – A partir de teste salvo previamente – Após a construção. 7
  • 8. 8
  • 9. • Também chamado de “teste caixa branca” ou teste lógico (PRESSMAN, p. 318). – Usa a estrutura de controle para realizar os testes (código fonte). – Buscando os erros: • Todos os caminhos lógicos serão exercitados, nos lados verdadeiro e falso. • Execução de todos os ciclos, dentro limites e bis intervalos estabelecidos. • Exercício das estruturas de dados internas para garantir validade. 9
  • 10. 10
  • 11. • É uma ferramenta “free” para calcular a porcentagem de código Java acessado pelos testes. – Pode ser executado via Ant ou linha de comando. – Instrumentação da Java Bytecode. – Geração de relatórios em HTML (ou XML, para o Hudson!) – Onde Obter? http://cobertura.sourceforge.net/index.html 11
  • 12. Instrumentação das Classes Geração de Relatórios • cobertura-instrument.bat • cobertura-report.bat Parâmetro: Descrição: Parâmetro: Descrição: --basedir Diretório onde estão as --basedir Diretório onde estão as classes que você vai classes que você vai instrumentar. instrumentar. --datafile Diretório que vai conter --datafile Diretório que vai conter o “cobertura.ser” o “cobertura.ser” --destination Diretório das classes --destination Diretório das classes instrumentadas instrumentadas --ignore Expressão regular para --format HTML ou XML ignorar linhas de código. --ignore Expressão regular para ignorar linhas de código. 12
  • 13. – Integração com o NetBeans • project.properties • Automação no Ant (Build.xml) – Instrumentação. – Geração de Relatórios. – Como rodar a geração do relatório? Executar tarefas do Ant. – Como fazer? Quais as Instruções? Arquivo em anexo. 13
  • 14. 14
  • 15. 15
  • 16. • PRESSMAN, R. S. Engenharia de Software. São Paulo: McGraw-Hill, 2006. • Selenium Team. Selenium IDE Project. Disponível em: <http://seleniumhq.org/projects/ide>. Acesso em 06 jun. 2012. • Cobertura Team. Cobertura. Disponível em: < http://cobertura.sourceforge.net/index.html>. Acesso em 10 jun. 2012. • NetBeans. Cobertura – NetBeans Wiki. Disponível em: < http://wiki.netbeans.org/Cobertura >. Acesso em 12 jun. 2012. 16