Introdução aos Fundamentos
de Teste de Software 3
ALAIN AGEEV
ALAINAGEEV@GMAIL.COM
1
Conteúdo da Aula
• Tipos de Ferramentas de Teste
• Testes Ágeis
• Técnicas de Script (Módulo 4)
• Automação de Testes (Selenium IDE)
2
Tipos de Ferramentas de Teste
• Gerenciamento de teste:
• Ferramenta de gestão de teste que proporciona a criação,
execução e controle das atividades de teste.
TestLink (http://www.teamst.org/)
• Bugtracker:
• Ferramenta de gestão de incidentes, pratica e bastante robusta
01- Mantisbt (http://www.mantisbt.org/)
02- Bugzilla (http://www.bugzilla.org/)
• 03- REDMINE
3
• Testes Funcionais Automatizados:
• 01- Selenuim (http://seleniumhq.org/)
Suite de ferramentas para testes funcionais em aplicações WEB.
• 02- SiKuLi (http://sikuli.org/)
Ferramenta para automatizar teste de interfaces gráficas do
usuário (GUI) utilizando imagens (screenshots).
• 03- BadBoy (http://www.badboy.com.au/)
Ferramenta de testes para aplicações WEB.
4
• Ferramentas para Testes de Performance
• 01- Apache JMeter (http://jakarta.apache.org/jmeter/)
Originalmente foi desenvolvida para ser uma ferramenta para
teste de Performance em aplicações WEB, mas que permite
inúmeros tipos de testes.
• Testes Unitarios:
• 01- JUnit (http://junit.sourceforge.net/)
Umas das ferramentas mais difundidadas de testes unitarios, para
aplicações Java.
• 02- TestNG (http://testng.org)
Ótima framework para testes unitarios.
• 03- NUnit (http://www.nunit.org/)
Framework para teste unitario para aplicações que utiliza a
tecnologia dotNet.
5
Lista de softwares para Teste e Qualidade de software
• Segue abaixo uma lista de sites que possuem link's para diversas
ferramentas dos mais variados tipos: Performance,
Funcional/Regressão, Unitário, Gerenciamento, Bug Tracking,
Segurança, etc...
• http://www.softwareqatest.com/qatweb1.html
• http://www.opensourcetesting.org/
• http://www.aptest.com/resources.html
6
Testes Ágeis
• Manifesto Ágil, desenvolvimento de software Ágil, modelo de
desenvolvimento incremental, modelo de desenvolvimento
iterativo, ciclo de vida do software, automação de testes, base em
testes, desenvolvimento orientado a testes, oráculo de teste,
estória do usuário.
• Desenvolvimento do Software Ágil
• Princípios Fundamentais do Teste Ágil, Práticas e Processos
• Técnicas, Ferramentas e Métodos de Teste Ágil
7
O Manifesto Ágil contém quatro declarações de valores:
• Indivíduos e interações sobre processos e ferramentas ;
• Software funcionando sobre documentação mais abrangente ;
• Colaboração com o cliente sobre negociação de contratos ;
• Resposta às mudanças sobre seguimento de um plano;
8
Abordagem da Equipe
• Melhorar a comunicação e colaboração dentro da equipe
• Ativar os vários conjuntos de habilidades dentro da equipe para
serem aproveitados em benefício do projeto
• Promover qualidade na responsabilidade de cada elemento
9
Abordagens de Desenvolvimento do Software Ágil
• abordagens ágil são considerados:
• Extreme Programming (XP) - conjunto de princípios - comunicação,
simplicidade, feedback, coragem e respeito.
10
Scrum - instrumentos e práticas constituintes - Sprint,
Incremento do produto , Backlog, Definição de Pronto ,
Timeboxing, Transparência;
11
Kanban - Quadro Kanban, Limite do Trabalho em
Andamento, Tempo de espera;
12
Criação Colaborativa da Estória do Usuário
• A autoria colaborativa da estória do usuário pode usar técnicas
como brainstorming e mapas mentais. O testador pode usar a
técnica :
• Independente
• Negociável
• Valioso
• Estimável
• Pequeno (Small)
• Testável
13
Retrospectivas
• No desenvolvimento ágil, uma retrospectiva é uma reunião
realizada no final de cada iteração para discutir o que foi bem
sucedido, o que poderia ser melhorado e como incorporar as
melhorias e preservar os êxitos em iterações futuras.
14
Métodos de Teste do Ágil
• Desenvolvimento Orientado para Teste, Desenvolvimento Orientado
para Teste de Aceitação e Desenvolvimento Orientado para o
Comportamento (TDD)
• Pirâmide de Teste
• Quadrantes de Teste, Níveis de Teste e Tipos de Teste
• A Função de um Testador
15
Trabalho em equipe
• Multifuncional
16
• O processo pode ser realizado de diferentes maneiras, desde
informalmente sem muitos dados ou documentação, até um
processo muito formal (como o que será descrito ainda nesta
seção). O nível de formalidade depende do contexto do teste, o que
inclui a organização, maturidade do processo de teste e
desenvolvimento, restrições de tempo e as pessoas envolvidas.
• Durante a análise de teste, a documentação base de teste é
analisada de maneira a determinar o que testar (ex.: identificar as
condições de teste). A condição do teste é definida como um item
ou evento que pode ser verificado por um ou mais casos de testes
(ex.: uma função, transação, característica de qualidade ou
elemento estrutural).
17
REFERÊNCIAS
Referências
1.1.5 Black, 2001, Kaner, 2002
1.2 Beizer, 1990, Black, 2001, Myers, 1979
1.3 Beizer, 1990, Hetzel, 1998, Myers, 1979
1.4 Hetzel, 1998
1.4.5 Black, 2001, Craig, 2002
1.5 Black, 2001, Hetzel, 1998
Alain Ageev
alainageev@gmail.com
18

Introdução aos fundamentos de teste de software 3

  • 1.
    Introdução aos Fundamentos deTeste de Software 3 ALAIN AGEEV ALAINAGEEV@GMAIL.COM 1
  • 2.
    Conteúdo da Aula •Tipos de Ferramentas de Teste • Testes Ágeis • Técnicas de Script (Módulo 4) • Automação de Testes (Selenium IDE) 2
  • 3.
    Tipos de Ferramentasde Teste • Gerenciamento de teste: • Ferramenta de gestão de teste que proporciona a criação, execução e controle das atividades de teste. TestLink (http://www.teamst.org/) • Bugtracker: • Ferramenta de gestão de incidentes, pratica e bastante robusta 01- Mantisbt (http://www.mantisbt.org/) 02- Bugzilla (http://www.bugzilla.org/) • 03- REDMINE 3
  • 4.
    • Testes FuncionaisAutomatizados: • 01- Selenuim (http://seleniumhq.org/) Suite de ferramentas para testes funcionais em aplicações WEB. • 02- SiKuLi (http://sikuli.org/) Ferramenta para automatizar teste de interfaces gráficas do usuário (GUI) utilizando imagens (screenshots). • 03- BadBoy (http://www.badboy.com.au/) Ferramenta de testes para aplicações WEB. 4
  • 5.
    • Ferramentas paraTestes de Performance • 01- Apache JMeter (http://jakarta.apache.org/jmeter/) Originalmente foi desenvolvida para ser uma ferramenta para teste de Performance em aplicações WEB, mas que permite inúmeros tipos de testes. • Testes Unitarios: • 01- JUnit (http://junit.sourceforge.net/) Umas das ferramentas mais difundidadas de testes unitarios, para aplicações Java. • 02- TestNG (http://testng.org) Ótima framework para testes unitarios. • 03- NUnit (http://www.nunit.org/) Framework para teste unitario para aplicações que utiliza a tecnologia dotNet. 5
  • 6.
    Lista de softwarespara Teste e Qualidade de software • Segue abaixo uma lista de sites que possuem link's para diversas ferramentas dos mais variados tipos: Performance, Funcional/Regressão, Unitário, Gerenciamento, Bug Tracking, Segurança, etc... • http://www.softwareqatest.com/qatweb1.html • http://www.opensourcetesting.org/ • http://www.aptest.com/resources.html 6
  • 7.
    Testes Ágeis • ManifestoÁgil, desenvolvimento de software Ágil, modelo de desenvolvimento incremental, modelo de desenvolvimento iterativo, ciclo de vida do software, automação de testes, base em testes, desenvolvimento orientado a testes, oráculo de teste, estória do usuário. • Desenvolvimento do Software Ágil • Princípios Fundamentais do Teste Ágil, Práticas e Processos • Técnicas, Ferramentas e Métodos de Teste Ágil 7
  • 8.
    O Manifesto Ágilcontém quatro declarações de valores: • Indivíduos e interações sobre processos e ferramentas ; • Software funcionando sobre documentação mais abrangente ; • Colaboração com o cliente sobre negociação de contratos ; • Resposta às mudanças sobre seguimento de um plano; 8
  • 9.
    Abordagem da Equipe •Melhorar a comunicação e colaboração dentro da equipe • Ativar os vários conjuntos de habilidades dentro da equipe para serem aproveitados em benefício do projeto • Promover qualidade na responsabilidade de cada elemento 9
  • 10.
    Abordagens de Desenvolvimentodo Software Ágil • abordagens ágil são considerados: • Extreme Programming (XP) - conjunto de princípios - comunicação, simplicidade, feedback, coragem e respeito. 10
  • 11.
    Scrum - instrumentose práticas constituintes - Sprint, Incremento do produto , Backlog, Definição de Pronto , Timeboxing, Transparência; 11
  • 12.
    Kanban - QuadroKanban, Limite do Trabalho em Andamento, Tempo de espera; 12
  • 13.
    Criação Colaborativa daEstória do Usuário • A autoria colaborativa da estória do usuário pode usar técnicas como brainstorming e mapas mentais. O testador pode usar a técnica : • Independente • Negociável • Valioso • Estimável • Pequeno (Small) • Testável 13
  • 14.
    Retrospectivas • No desenvolvimentoágil, uma retrospectiva é uma reunião realizada no final de cada iteração para discutir o que foi bem sucedido, o que poderia ser melhorado e como incorporar as melhorias e preservar os êxitos em iterações futuras. 14
  • 15.
    Métodos de Testedo Ágil • Desenvolvimento Orientado para Teste, Desenvolvimento Orientado para Teste de Aceitação e Desenvolvimento Orientado para o Comportamento (TDD) • Pirâmide de Teste • Quadrantes de Teste, Níveis de Teste e Tipos de Teste • A Função de um Testador 15
  • 16.
    Trabalho em equipe •Multifuncional 16
  • 17.
    • O processopode ser realizado de diferentes maneiras, desde informalmente sem muitos dados ou documentação, até um processo muito formal (como o que será descrito ainda nesta seção). O nível de formalidade depende do contexto do teste, o que inclui a organização, maturidade do processo de teste e desenvolvimento, restrições de tempo e as pessoas envolvidas. • Durante a análise de teste, a documentação base de teste é analisada de maneira a determinar o que testar (ex.: identificar as condições de teste). A condição do teste é definida como um item ou evento que pode ser verificado por um ou mais casos de testes (ex.: uma função, transação, característica de qualidade ou elemento estrutural). 17
  • 18.
    REFERÊNCIAS Referências 1.1.5 Black, 2001,Kaner, 2002 1.2 Beizer, 1990, Black, 2001, Myers, 1979 1.3 Beizer, 1990, Hetzel, 1998, Myers, 1979 1.4 Hetzel, 1998 1.4.5 Black, 2001, Craig, 2002 1.5 Black, 2001, Hetzel, 1998 Alain Ageev alainageev@gmail.com 18