26
Teste de regressão ágil com integração de ferramentas de testes Cristian R. Silva about.me/ocristian

Testes de regressão automatizados

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Testes de regressão automatizados

Teste de regressão ágil com integração de

ferramentas de testes

Cristian R. Silvaabout.me/ocristian

Page 2: Testes de regressão automatizados

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

Page 3: Testes de regressão automatizados

relembrando ...

• Objetivo do teste de software

3

Identificar suas falhas para que a correção seja feita antes da entrega

do produto ao usuário final

Page 4: Testes de regressão automatizados

teste de regressão

• ocorre sempre que o sistema recebe alguma alteração. Seja na inclusão ou alteração de uma funcionalidade.

4

Page 5: Testes de regressão automatizados

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

Page 6: Testes de regressão automatizados

teste de regressão ágil

• Objetivo

• diminuir custos

• agilidade na fase de testes

• entrega rápida do produto

6

Page 7: Testes de regressão automatizados

teste de regressão ágil

• Como?

• ferramentas de automação de testes

7

Page 8: Testes de regressão automatizados

teste de regressão ágil

• Quais?

8

Page 9: Testes de regressão automatizados

teste de regressão ágil

9

gerenciar planos de testeescrever casos de teste

organizar em suites/grupos de testescadastrar o resultado das execuções

gerar relatórios

Page 11: Testes de regressão automatizados

teste de regressão ágil

11

registro e controle dos defeitostestador faz o registro de um defeito

programador recebe email com a notificação de um defeito

visualizar lista defeitosexportar os defeitos registrados .doc, .xls

Page 12: Testes de regressão automatizados

teste de regressão ágil

• Integração entre as ferramentas

12

Page 13: Testes de regressão automatizados

teste de regressão ágil

13

Page 14: Testes de regressão automatizados

teste de regressão ágil

14

• 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

Page 15: Testes de regressão automatizados

teste de regressão ágil

15

Page 16: Testes de regressão automatizados

teste de regressão ágil

16

Page 17: Testes de regressão automatizados

teste de regressão ágil

17

• rastreabilidade dos defeitos

• métricas, ex.: quais casos de testes geraram mais defeitos

Page 20: Testes de regressão automatizados

teste de regressão ágil

20

package selenium.integracao;

public interface ITestlink {

final String DEVKEY = “”; //chave de acesso ao testlinkfinal 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”;

}

Page 21: Testes de regressão automatizados

teste de regressão ágil

21

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/”;

public void setUp() throws Exception {selenium = new DefaultSelenium(serverHost, serverPort, browserStartCommand, browserURL);selenium.start();

}

. . .

Page 22: Testes de regressão automatizados

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{

Page 23: Testes de regressão automatizados

teste de regressão ágil

23

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

Page 24: Testes de regressão automatizados

teste de regressão ágil

24

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

Page 25: Testes de regressão automatizados

referências

25

TestExpert