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

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorMicael Feliz Arias
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Scanners Seguridad Informatica
Scanners Seguridad InformaticaScanners Seguridad Informatica
Scanners Seguridad Informaticagio_vani
 
hierarchical bus system
 hierarchical bus system hierarchical bus system
hierarchical bus systemElvis Jonyo
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Daniela Velasquez
 
Administración de Recursos Informáticos / Software y Políticas
Administración de Recursos Informáticos / Software y Políticas Administración de Recursos Informáticos / Software y Políticas
Administración de Recursos Informáticos / Software y Políticas Xavier Carrión
 
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍA
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍAUNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍA
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍAAlix Indriago
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Operating system components
Operating system componentsOperating system components
Operating system componentsSyed Zaid Irshad
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsSeema Kamble
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisorsGaurav Suri
 
Streaming computing: architectures, and tchnologies
Streaming computing: architectures, and tchnologiesStreaming computing: architectures, and tchnologies
Streaming computing: architectures, and tchnologiesNatalino Busa
 
Structure of Operating System
Structure of Operating System Structure of Operating System
Structure of Operating System anand hd
 

Mais procurados (20)

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Scanners Seguridad Informatica
Scanners Seguridad InformaticaScanners Seguridad Informatica
Scanners Seguridad Informatica
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
hierarchical bus system
 hierarchical bus system hierarchical bus system
hierarchical bus system
 
Semaphore
Semaphore Semaphore
Semaphore
 
Sistemas operativos distribuidos.
Sistemas operativos distribuidos.Sistemas operativos distribuidos.
Sistemas operativos distribuidos.
 
Administración de Recursos Informáticos / Software y Políticas
Administración de Recursos Informáticos / Software y Políticas Administración de Recursos Informáticos / Software y Políticas
Administración de Recursos Informáticos / Software y Políticas
 
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍA
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍAUNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍA
UNIDAD V. GERENCIA DEL ÁREA DE EQUIPOS Y TECNOLOGÍA
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Operating system components
Operating system componentsOperating system components
Operating system components
 
Pressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metricsPressman ch-22-process-and-project-metrics
Pressman ch-22-process-and-project-metrics
 
virtualization and hypervisors
virtualization and hypervisorsvirtualization and hypervisors
virtualization and hypervisors
 
Unit 2
Unit 2Unit 2
Unit 2
 
Procesamiento en paralelo
Procesamiento en paraleloProcesamiento en paralelo
Procesamiento en paralelo
 
Streaming computing: architectures, and tchnologies
Streaming computing: architectures, and tchnologiesStreaming computing: architectures, and tchnologies
Streaming computing: architectures, and tchnologies
 
Structure of Operating System
Structure of Operating System Structure of Operating System
Structure of Operating System
 
IBM Storwize V7000
IBM Storwize V7000IBM Storwize V7000
IBM Storwize V7000
 
Cyclomatic complexity
Cyclomatic complexityCyclomatic complexity
Cyclomatic complexity
 

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