[ticnova2015] palestra sobre automação de testes

19
[email protected] (48) 3285-5615 twitter.com/qualister facebook.com/qualister linkedin.com/company/qualister Automação de Testes Maringá, Paraná | 26/08/2015

Upload: julio-de-lima

Post on 20-Mar-2017

350 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: [TICNOVA2015] Palestra sobre Automação de Testes

[email protected]

(48) 3285-5615

twitter.com/qualister

facebook.com/qualister

linkedin.com/company/qualister

Automação de Testes

Maringá, Paraná | 26/08/2015

Page 2: [TICNOVA2015] Palestra sobre Automação de Testes

Palestrante

Júlio de Lima Especialista em teste de software com ênfase em automação de testes de software, possui formação em Tecnologia da Informação e certificações internacionais (CTFL e CTAL-TM pelo ISTQB) e nacional (CBTS pela ALATS). Professor convidado em cursos de pós graduação em universidades do Paraná e Santa Catarina ministrando disciplinas relacionadas a testes e qualidade de software.

[email protected]

twitter.com/juliodelimasbr.linkedin.com/in/juliodelimas

goldtips.by/juliodelimas

Page 3: [TICNOVA2015] Palestra sobre Automação de Testes

Sobre a Qualister

• Fundada em 2007 • Mais de 1.000 clientes em todo o Brasil • Mais de 50 cursos sobre teste de software • Mais de 3.000 alunos formados • Áreas de atuação: • Consultoria na área de teste qualidade de

software • Cursos • Revenda de ferramentas

Page 4: [TICNOVA2015] Palestra sobre Automação de Testes

Testes

• Avaliam se o software atende a seus requisitos

• Feitos de forma manual ou automatizada

• Avaliam o software sob perspectiva funcional e não funcional

Page 5: [TICNOVA2015] Palestra sobre Automação de Testes

Testes manuais

• Costumam tomar muito tempo para execução

• Permite explorar cenários diferentes do que foi planejado

• Suscetíveis ao humor do testador

Page 6: [TICNOVA2015] Palestra sobre Automação de Testes

Planejamento de entregas

Page 7: [TICNOVA2015] Palestra sobre Automação de Testes

Cenário dejado para testes

Page 8: [TICNOVA2015] Palestra sobre Automação de Testes

Mas com prazos apertados…

Page 9: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

• São velozes

• Fornecem feedback imediato

• Aumentam a confiabilidade na aplicação

Page 10: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

Unidade

Page 11: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

Unidade/** * @test * @small * @covers Pedido::getPedidoItens*/public function listaDePedidosDeveEstarVazia(){

// Arrange$pedido = new Pedido();

// Act$pedidoitens = $pedido->getPedidoItens();

// Assert$this->assertCount(0, $pedidoitens);

}

class Pedido implements IPedido{

private $pedidoitens = array();

public function getPedidoItens(){

return $this->pedidoitens;}

}

Classe

Teste de Unidade

Usando PHPUnit

Page 12: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

API

Page 13: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

Unidade

URI

Teste da API

/** * @test */ public function gerarPedidoClienteEVerOCodigoDoPedido() { // Arrange $client = new GuzzleHttp\Client( ["base_uri" => "http://api.qualister.com.br/"] );

// Act $resposta = $client->get( "pedido/1?clientenome=Julio", ['auth' => ['qualister', '123']]

); $body = json_decode($resposta->getBody(), true); // Assert $this->assertEquals(200, $resposta->getStatusCode()); $this->assertEquals("sucesso", $body["status"]); $this->assertEquals("Seu código é 1", $body["message"]); $this->assertEquals("Julio", $body["data"]["clientenome"]); }

GET api.qualister.com.br/pedido?clientenome=

Usando PHPUnit e

GuzzleHTTP

Page 14: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

Interface Gráfica

Page 15: [TICNOVA2015] Palestra sobre Automação de Testes

Testes automatizados

Unidade

/** * @test */public function preencherFormularioReceberMensagemSucesso(){ // Arrange $this->driver = RemoteWebDriver::create( "http://localhost:4444/wd/hub", DesiredCapabilities::firefox() ); $this->driver->manage()->window()->maximize(); $this->driver->get('http://qualister.com.br/contato');

// Act $this->driver->findElement(WebDriverBy::id("nome"))->sendKeys("Julio"); $this->driver->findElement(WebDriverBy::name(“email”))->sendKeys("[email protected]"); $this->driver->findElement(WebDriverBy::xpath("//textarea"))->sendKeys("Oi"); $this->driver->findElement(WebDriverBy::cssSelector("#enviar"))->click(); $mensagem = $this->driver->switchTo()->alert()->getText();

// Assert $this->assertEquals("Sucesso", $mensagem);}

Testes em Interface Gráfica WebUsando

PHPUnit e WebDriver

Page 16: [TICNOVA2015] Palestra sobre Automação de Testes

Integração Contínua

Imag

em:

http

://f

ileca

taly

st.c

om/w

p-co

nten

t/up

load

s/20

14/1

2/Co

ntin

uous

-Int

egra

tion

-Dia

gram

.png

Page 17: [TICNOVA2015] Palestra sobre Automação de Testes

Entrega Contínua

Imagem: http://1piygz303e2p3ze2nt2kfhla.wpengine.netdna-cdn.com/wp-content/uploads/2013/08/continuous-delivery-development.png

Page 18: [TICNOVA2015] Palestra sobre Automação de Testes

Entrega Contínua

Imagem: http://1piygz303e2p3ze2nt2kfhla.wpengine.netdna-cdn.com/wp-content/uploads/2013/08/continuous-delivery-development.png

Hands on!qualister.com.br/videos

Page 19: [TICNOVA2015] Palestra sobre Automação de Testes

[email protected]

(48) 3285-5615

twitter.com/qualister

facebook.com/qualister

linkedin.com/company/qualister

Dúvidas?