Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Calabash - Testes de aceitação automatizados pa...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Calabash - Testes de aceitação automatizados para mobile apps

Apresentação sobre Calabash no Digital Day BH 2016 - CI&T

Avatar for Fabiano França

Fabiano França

September 04, 2016

More Decks by Fabiano França

Other Decks in Programming

Transcript

  1. O Calabash permite que você escreva e execute testes de

    aceitação automatizados para aplicativos móveis. É multi-plataforma, suporta aplicativos Android e iOS nativos. Possui código aberto e livre, desenvolvido e mantido pela Xamarin.
  2. Calabash é formado por bibliotecas que permitem que o código

    de teste interaja programaticamente com apps nativos e híbridos. A interação é composta por um certo número de ações do usuário final. Cada ação pode ser: Gestos Asserção Capturas de tela
  3. Um pouco de história... Uma startup dinamarquesa que foi criada

    em 2011 com o objetivo de oferecer testes automatizados em nuvem, onde os desenvolvedores criavam os testes em Cucumber utilizando "steps" pré-definidos e eram executados apenas em dispositivos Android. A empresa utilizava o Calabash internamente e resolveu disponibilizá-lo como um projeto de código aberto em Janeiro de 2012. Já era possível implementar testes para iOS e Android.
  4. Um pouco de história... Por que foi criada uma ferramenta

    de testes funcionais de código aberto? • Interface uniforme em todas as plataformas • Cucumber • Autenticidade • Poder • Extensibilidade e Comunidade
  5. BDD Behaviour-Driven Development fala sobre o desenvolvimento de uma aplicação

    através da descrição do seu comportamento na perspectiva das partes interessadas. David Chelimsky, The RSpec Book.
  6. BDD Quando queremos detalhar o comportamento de um carro ao

    acelerar utilizando BDD, descrevemos que ao acionar o pedal do acelerador, o carro deve acelerar a tal velocidade, o velocímetro deve aumentar e que o indicador de giro do motor deve exibir o giro, mas quando vamos montar o motor devemos descrever com TDD tudo que está dentro do motor.
  7. Anatomia do Calabash Framework É formado por duas bibliotecas Ruby

    (gems) e um Objective-C framework. calabash-android calabash-ios (calabash-cucumber) calabash.framework
  8. Calabash/Cucumber Teste(s) Calabash Ruby API APP Xamarin Test Cloud Agent

    Resultado Teste APP Xamarin Test Cloud Agent Resultado Teste Assinado com a mesma chave JSON sobre HTTP
  9. Descrevendo o comportamento do app... Fluxo normal: Na tela de

    descrição do evento, toco no botão "inscrever-se" e sou redirecionado para a tela de inscrição. Preencho o campo "Nome Completo", o campo "e-mail" e toco no botão "enviar". Então sou redirecionado para a tela de agradecimento.
  10. Descrevendo o comportamento do app... Fluxo alternativo: Na tela de

    descrição do evento, toco no botão "inscrever-se" e sou redirecionado para a tela de inscrição. Toco no botão "enviar" e visualizo a mensagem "Informe seu nome completo". Preencho o campo "Nome Completo" e toco no botão "enviar", então visualizo a mensagem "Informe um e-mail válido". Preencho o campo "e-mail" e toco no botão "enviar", então sou redirecionado para a tela de agradecimento.