View
165
Download
2
Category
Preview:
DESCRIPTION
Testes de regressão com integração de ferramentas para testes.
Citation preview
Teste de regressão ágil com integração de
ferramentas de testes
Cristian R. Silvaabout.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
3
Identificar suas falhas para que a correção seja feita antes da entrega
do produto ao usuário final
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
9
gerenciar planos de testeescrever casos de teste
organizar em suites/grupos de testescadastrar o resultado das execuções
gerar relatórios
teste de regressão ágil
10
automação de testes funcionaisrec-and-play
teste de aplicações webcriar scripts de teste
exportar scripts de teste em java, ruby, c#, php, html e python
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
teste de regressão ágil
• Integração entre as ferramentas
12
teste de regressão ágil
13
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
teste de regressão ágil
15
teste de regressão ágil
16
teste de regressão ágil
17
• rastreabilidade dos defeitos
• métricas, ex.: quais casos de testes geraram mais defeitos
teste de regressão ágil
18
teste de regressão ágil
19
• os resultados da execução dos testes automatizados no Selenium são registrados no TestLink
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”;
}
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();
}
. . .
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
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
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
referências
25
TestExpert
Recommended