SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Teste de regressão ágil 
com integração de 
ferramentas de testes 
Cristian R. Silva 
about.me/ocristian
relembrando ... 
• Teste de Software 
• processo de execução de um produto para 
determinar se atingiu suas especificações e 
funciona corretamente no ambiente para o qual 
foi projetado 
2
relembrando ... 
• Objetivo do teste de software 
Identificar suas falhas para que a 
correção seja feita antes da entrega 
do produto ao usuário final 
3
teste de regressão 
• ocorre sempre que o sistema recebe alguma 
alteração. Seja na inclusão ou alteração de uma 
funcionalidade. 
4
teste de regressão 
• Tipos 
• re-teste total 
• re-teste baseado em casos de uso de maior 
risco 
• re-teste por perfil 
• re-teste dos segmentos modificados 
• re-teste com firewall 
5
teste de regressão ágil 
• Objetivo 
• diminuir custos 
• agilidade na fase de testes 
• entrega rápida do produto 
6
teste de regressão ágil 
• Como? 
• ferramentas de automação de testes 
7
teste de regressão ágil 
• Quais? 
8
teste de regressão ágil 
gerenciar planos de teste 
escrever casos de teste 
organizar em suites/grupos de testes 
cadastrar o resultado das execuções 
9 
gerar relatórios
teste de regressão ágil 
automação de testes funcionais 
10 
rec-and-play 
teste de aplicações web 
criar scripts de teste 
exportar scripts de teste em java, 
ruby, c#, php, html e python
teste de regressão ágil 
registro e controle dos defeitos 
testador faz o registro de um defeito 
programador recebe email com a 
11 
notificação de um defeito 
visualizar lista defeitos 
exportar os defeitos registrados .doc, .xls
teste de regressão ágil 
• Integração entre as ferramentas 
12
teste de regressão ágil 
13
teste de regressão ágil 
• usuário salva resultado da execução no TestLink 
• registra defeitos no mantis 
• no TestLink estará disponível um link para acesso ao mantis 
• usuário informa o id do defeito registrado 
• o TestLink exibe os dados retirados do mantis 
14
teste de regressão ágil 
15
teste de regressão ágil 
16
teste de regressão ágil 
• rastreabilidade dos defeitos 
• métricas, ex.: quais casos de testes 
geraram mais defeitos 
17
teste de regressão ágil 
18
teste de regressão ágil 
• os resultados da execução dos testes automatizados 
no Selenium são registrados no TestLink 
19
teste de regressão ágil 
20 
package selenium.integracao; 
public interface ITestlink { 
final String DEVKEY = “”; //chave de acesso ao testlink 
final String URL = “http://.../testlink/lib/api/xmlrpc.php”; 
final String testProject = “Test Project”; 
final String testPlan = “Test Plan”; 
final String buildName = “Build 1”; 
final String testCase = “Test 1”; 
}
teste de regressão ágil 
public class TestCaseSelenium extends TestCase implements ITestlink { 
Selenium selenium; 
SeleniumServer server; 
String serverHost = “localhost”; 
int serverPort = 4444; 
String browserStartCommand = “*firefox”; 
String browserURL = “http://...testlink/login.php?note=expired/”; 
21 
public void setUp() throws Exception { 
selenium = new DefaultSelenium(serverHost, serverPort, browserStartCommand, browserURL); 
selenium.start(); 
} 
. . .
teste de regressão ágil 
22 
public class TestCaseSelenium extends TestCase implements ITestlink { 
. . . 
@Test 
public void testTestlinkLogin() throws Exception { 
String result = null; String note = null; 
try { 
selenium.open(“/”); 
selenium.open(“/login.php”); 
selenium.click(“name=login_submit”); 
selenium.waitForPageToLoad(“30000”); 
assertTrue(selenium.isTextPresent(“Try again! Wrong login name or password!”)); 
result = TestLinkAPIResults.TEST_PASSED; 
} catch (Exception e) { 
result = TestLinkAPIResults.TEST_FAILED; note = e.getMessage(); e.printStackTrace(); 
} finally { 
ResultadoExecucao.reportTestCaseResult(PROJETO, PLANO, CASO_TESTE1, BUILD, nota, resultado); 
TestLinkAPIClient testlinkAPIClient = new TestLinkAPIClient(DEVKEY, URL); 
testlinkAPIClient.reportTestCaseResult(testProject, testPlan, testCase, buildName, note, result); 
} 
} 
public void tearDown() throws Exception{
teste de regressão ágil 
Pontos positivos da automatização dos testes de regressão 
• segurança da equipe quanto ao teste automatizado 
• diminuição do débito técnico 
• identificação dos defeitos e quais funcionalidades eram afetadas pelas 
alterações 
• métricas para melhoria da suíte de testes , por exemplo casos de testes 
não associados ao mantis 
• com a economia de tempo na execução dos testes de regressão, devido a 
automatização, foi possível direcionar esforços nos testes de performance 
e usabilidade 
23
teste de regressão ágil 
Dificuldades 
• com a evolução da aplicação, os scripts de 
testes precisam de atualização constante 
• é preciso mais tempo e pessoas para a 
atualização dos scripts 
24
referências 
TestExpert 
25
? about.me/ocristian

Más contenido relacionado

La actualidad más candente

Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”Postman
 
Test cases planning
Test cases planningTest cases planning
Test cases planningAbdul Basit
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest MatchersShai Yallin
 
Convert Postman APIs collections to JMeter
Convert Postman APIs collections to JMeterConvert Postman APIs collections to JMeter
Convert Postman APIs collections to JMeterBasant Dewangan
 
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Steve Pember
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code SmellsMario Sangiorgio
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1José Paumard
 
Advanced PHPUnit Testing
Advanced PHPUnit TestingAdvanced PHPUnit Testing
Advanced PHPUnit TestingMike Lively
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Bruno Grange
 

La actualidad más candente (20)

Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
 
Api testing
Api testingApi testing
Api testing
 
JUnit Presentation
JUnit PresentationJUnit Presentation
JUnit Presentation
 
Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”Webinar: “Introduction to the Postman API Network”
Webinar: “Introduction to the Postman API Network”
 
Test cases planning
Test cases planningTest cases planning
Test cases planning
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
Convert Postman APIs collections to JMeter
Convert Postman APIs collections to JMeterConvert Postman APIs collections to JMeter
Convert Postman APIs collections to JMeter
 
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
Anatomy of a Spring Boot App with Clean Architecture - Spring I/O 2023
 
Junit
JunitJunit
Junit
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
Serenity bdd
Serenity bddSerenity bdd
Serenity bdd
 
API Testing
API TestingAPI Testing
API Testing
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
 
Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1Lambda and Stream Master class - part 1
Lambda and Stream Master class - part 1
 
Advanced PHPUnit Testing
Advanced PHPUnit TestingAdvanced PHPUnit Testing
Advanced PHPUnit Testing
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 

Destacado

Verdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaVerdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaLivia Gabos
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaGabriela Patuci
 
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Douglas Leandro Kleinkauf
 
Guia de Uso do Portal Periódicos CAPES
Guia de Uso do Portal Periódicos CAPESGuia de Uso do Portal Periódicos CAPES
Guia de Uso do Portal Periódicos CAPESSIBiUSP
 
Automacao de Testes de Softwares
Automacao de Testes de SoftwaresAutomacao de Testes de Softwares
Automacao de Testes de SoftwaresEduardo Souza
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesPaulo César M Jeveaux
 

Destacado (6)

Verdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostariaVerdades e mitos sobre testes que eu gostaria
Verdades e mitos sobre testes que eu gostaria
 
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração ContínuaAutomação de Testes: Ferramentas e Aplicação com Integração Contínua
Automação de Testes: Ferramentas e Aplicação com Integração Contínua
 
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
Utilizando ferramentas de análise, testes e verificação de bugs no desenvolvi...
 
Guia de Uso do Portal Periódicos CAPES
Guia de Uso do Portal Periódicos CAPESGuia de Uso do Portal Periódicos CAPES
Guia de Uso do Portal Periódicos CAPES
 
Automacao de Testes de Softwares
Automacao de Testes de SoftwaresAutomacao de Testes de Softwares
Automacao de Testes de Softwares
 
Testes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de TestesTestes de Software & Ferramentas de Testes
Testes de Software & Ferramentas de Testes
 

Similar a Testes de regressão automatizados

Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium Mayron Cachina
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitRobinson Castilho
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.ioTDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.iotdc-globalcode
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlinkslides_teltools
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testesAndré Luiz Forchesatto
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Android: testes automatizados e TDD
Android: testes automatizados e TDDAndroid: testes automatizados e TDD
Android: testes automatizados e TDDDextra
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliverySamanta Cicilia
 
2 Ads
2 Ads2 Ads
2 Adslcbj
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersElias Nogueira
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
ybr789try
ybr789tryybr789try
ybr789tryteste
 
Testes de software
Testes de softwareTestes de software
Testes de softwareteste
 

Similar a Testes de regressão automatizados (20)

Testes Funcionais com Selenium
Testes Funcionais com Selenium Testes Funcionais com Selenium
Testes Funcionais com Selenium
 
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...
 
Palestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnitPalestra Testes Unidade Com JUnit
Palestra Testes Unidade Com JUnit
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.ioTDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
TDC2018SP | Trilha Testes - Testes de carga e performance com Gatling.io
 
PDC - Testes - Usando o Testlink
PDC - Testes - Usando o TestlinkPDC - Testes - Usando o Testlink
PDC - Testes - Usando o Testlink
 
Introdução a Programação Orientada a testes
Introdução a Programação Orientada a testesIntrodução a Programação Orientada a testes
Introdução a Programação Orientada a testes
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Android: testes automatizados e TDD
Android: testes automatizados e TDDAndroid: testes automatizados e TDD
Android: testes automatizados e TDD
 
Aula JPA
Aula JPAAula JPA
Aula JPA
 
CNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous DeliveryCNQS - Testes Automatizados & Continuous Delivery
CNQS - Testes Automatizados & Continuous Delivery
 
JUnit
JUnitJUnit
JUnit
 
2 Ads
2 Ads2 Ads
2 Ads
 
Como criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containersComo criar e executar testes paralelos web usando Selenium e containers
Como criar e executar testes paralelos web usando Selenium e containers
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
ybr789try
ybr789tryybr789try
ybr789try
 
Testes de software
Testes de softwareTestes de software
Testes de software
 

Testes de regressão automatizados

  • 1. Teste de regressão ágil com integração de ferramentas de testes Cristian R. Silva about.me/ocristian
  • 2. relembrando ... • Teste de Software • processo de execução de um produto para determinar se atingiu suas especificações e funciona corretamente no ambiente para o qual foi projetado 2
  • 3. relembrando ... • Objetivo do teste de software Identificar suas falhas para que a correção seja feita antes da entrega do produto ao usuário final 3
  • 4. teste de regressão • ocorre sempre que o sistema recebe alguma alteração. Seja na inclusão ou alteração de uma funcionalidade. 4
  • 5. teste de regressão • Tipos • re-teste total • re-teste baseado em casos de uso de maior risco • re-teste por perfil • re-teste dos segmentos modificados • re-teste com firewall 5
  • 6. teste de regressão ágil • Objetivo • diminuir custos • agilidade na fase de testes • entrega rápida do produto 6
  • 7. teste de regressão ágil • Como? • ferramentas de automação de testes 7
  • 8. teste de regressão ágil • Quais? 8
  • 9. teste de regressão ágil gerenciar planos de teste escrever casos de teste organizar em suites/grupos de testes cadastrar o resultado das execuções 9 gerar relatórios
  • 10. teste de regressão ágil automação de testes funcionais 10 rec-and-play teste de aplicações web criar scripts de teste exportar scripts de teste em java, ruby, c#, php, html e python
  • 11. teste de regressão ágil registro e controle dos defeitos testador faz o registro de um defeito programador recebe email com a 11 notificação de um defeito visualizar lista defeitos exportar os defeitos registrados .doc, .xls
  • 12. teste de regressão ágil • Integração entre as ferramentas 12
  • 14. teste de regressão ágil • usuário salva resultado da execução no TestLink • registra defeitos no mantis • no TestLink estará disponível um link para acesso ao mantis • usuário informa o id do defeito registrado • o TestLink exibe os dados retirados do mantis 14
  • 17. teste de regressão ágil • rastreabilidade dos defeitos • métricas, ex.: quais casos de testes geraram mais defeitos 17
  • 19. teste de regressão ágil • os resultados da execução dos testes automatizados no Selenium são registrados no TestLink 19
  • 20. teste de regressão ágil 20 package selenium.integracao; public interface ITestlink { final String DEVKEY = “”; //chave de acesso ao testlink final String URL = “http://.../testlink/lib/api/xmlrpc.php”; final String testProject = “Test Project”; final String testPlan = “Test Plan”; final String buildName = “Build 1”; final String testCase = “Test 1”; }
  • 21. teste de regressão ágil public class TestCaseSelenium extends TestCase implements ITestlink { Selenium selenium; SeleniumServer server; String serverHost = “localhost”; int serverPort = 4444; String browserStartCommand = “*firefox”; String browserURL = “http://...testlink/login.php?note=expired/”; 21 public void setUp() throws Exception { selenium = new DefaultSelenium(serverHost, serverPort, browserStartCommand, browserURL); selenium.start(); } . . .
  • 22. teste de regressão ágil 22 public class TestCaseSelenium extends TestCase implements ITestlink { . . . @Test public void testTestlinkLogin() throws Exception { String result = null; String note = null; try { selenium.open(“/”); selenium.open(“/login.php”); selenium.click(“name=login_submit”); selenium.waitForPageToLoad(“30000”); assertTrue(selenium.isTextPresent(“Try again! Wrong login name or password!”)); result = TestLinkAPIResults.TEST_PASSED; } catch (Exception e) { result = TestLinkAPIResults.TEST_FAILED; note = e.getMessage(); e.printStackTrace(); } finally { ResultadoExecucao.reportTestCaseResult(PROJETO, PLANO, CASO_TESTE1, BUILD, nota, resultado); TestLinkAPIClient testlinkAPIClient = new TestLinkAPIClient(DEVKEY, URL); testlinkAPIClient.reportTestCaseResult(testProject, testPlan, testCase, buildName, note, result); } } public void tearDown() throws Exception{
  • 23. teste de regressão ágil Pontos positivos da automatização dos testes de regressão • segurança da equipe quanto ao teste automatizado • diminuição do débito técnico • identificação dos defeitos e quais funcionalidades eram afetadas pelas alterações • métricas para melhoria da suíte de testes , por exemplo casos de testes não associados ao mantis • com a economia de tempo na execução dos testes de regressão, devido a automatização, foi possível direcionar esforços nos testes de performance e usabilidade 23
  • 24. teste de regressão ágil Dificuldades • com a evolução da aplicação, os scripts de testes precisam de atualização constante • é preciso mais tempo e pessoas para a atualização dos scripts 24