Upload
julio-de-lima
View
351
Download
0
Embed Size (px)
Citation preview
(48) 3285-5615
twitter.com/qualister
facebook.com/qualister
linkedin.com/company/qualister
Automação de Testes
Maringá, Paraná | 26/08/2015
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.
twitter.com/juliodelimasbr.linkedin.com/in/juliodelimas
goldtips.by/juliodelimas
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
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
Testes manuais
• Costumam tomar muito tempo para execução
• Permite explorar cenários diferentes do que foi planejado
• Suscetíveis ao humor do testador
Planejamento de entregas
Cenário dejado para testes
Mas com prazos apertados…
Testes automatizados
• São velozes
• Fornecem feedback imediato
• Aumentam a confiabilidade na aplicação
Testes automatizados
Unidade
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
Testes automatizados
API
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
Testes automatizados
Interface Gráfica
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
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
Entrega Contínua
Imagem: http://1piygz303e2p3ze2nt2kfhla.wpengine.netdna-cdn.com/wp-content/uploads/2013/08/continuous-delivery-development.png
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
(48) 3285-5615
twitter.com/qualister
facebook.com/qualister
linkedin.com/company/qualister
Dúvidas?