Testes de regressão automatizados

600 visualizações

Publicada em

Testes de regressão com integração de ferramentas para testes.

Publicada em: Software
  • Seja o primeiro a comentar

Testes de regressão automatizados

  1. 1. Teste de regressão ágil com integração de ferramentas de testes Cristian R. Silva about.me/ocristian
  2. 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. 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. 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. 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. 6. teste de regressão ágil • Objetivo • diminuir custos • agilidade na fase de testes • entrega rápida do produto 6
  7. 7. teste de regressão ágil • Como? • ferramentas de automação de testes 7
  8. 8. teste de regressão ágil • Quais? 8
  9. 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. 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. 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. 12. teste de regressão ágil • Integração entre as ferramentas 12
  13. 13. teste de regressão ágil 13
  14. 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
  15. 15. teste de regressão ágil 15
  16. 16. teste de regressão ágil 16
  17. 17. teste de regressão ágil • rastreabilidade dos defeitos • métricas, ex.: quais casos de testes geraram mais defeitos 17
  18. 18. teste de regressão ágil 18
  19. 19. teste de regressão ágil • os resultados da execução dos testes automatizados no Selenium são registrados no TestLink 19
  20. 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. 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. 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. 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. 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
  25. 25. referências TestExpert 25
  26. 26. ? about.me/ocristian

×