Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[GUTS-RS] GUTS Talks - Automação de Testes

Cada edição do GUTS Talks tem um tema central onde os palestrantes abordam o assunto sob diferentes perspectivas. A 2ª edição do evento em 2017 foi sobre Automação de Testes, onde foi apresentado sobre estratégias, automação web e mobile.

  • Login to see the comments

[GUTS-RS] GUTS Talks - Automação de Testes

  1. 1. Aline Zanin Elias Nogueira Maximiliano Alves GUTS Talks Automação de Testes
  2. 2. Quem somos... Comunidade apaixonada por Qualidade de Software Ajudamos pessoas interessadas em Qualidade Conectamos pessoas para compartilhar conhecimento Realizamos eventos, promovemos debates... ...com o apoio de voluntários e da SUCESU- RS Esperamos a sua participação ativa... ...trocando experiências, palestrando, ouvindo... ...sempre respeitando opiniões divergentes Crie, Inove, Faça parte desta colmeia!
  3. 3. Fique ligado nos próximos eventos! Projetando a sua carreira de testes para 2018 Dia 12/12 Vagas limitadas!!!
  4. 4. Como planejar pensando em automação de teste no seu time ágil
  5. 5. Elias Nogueira • QA Engineer | Agile Coach • @eliasnogueira • http://academiadeteste.com.br
  6. 6. Níveis de Planejamento NívelSistema Nível Tarefa Nível Story Nível Feature Nível Release
  7. 7. Nível de Release • Pensar em: • Ferramentas | Ambientes | Práticas e Técnicas (performance) • Fazer PoC | Levantar riscos
  8. 8. Nível de Feature (Planejamento da Iteração) • Determinar o tamanho da Feature levando em conta o esforço de automação • Analisar quais podem ser impactadas por requisitos não funcionais (performance | segurança)
  9. 9. Nível de Story • Separação das Stories por níveis • Unitário | integração | API | Funcional | Aceitação/E2E • Preparar massa de dados de teste • Criar/atualizar os ambientes necessários
  10. 10. Nível de Story - Exemplo prático Como um possível passageiro Eu desejo pesquisar por voos Para que eu possa passar férias Pesquisar por voos Seleção de voos Como um possível passageiro Eu desejo selecionar o voo de minha preferência Para que eu possa comprar o voo Preencher dados e pagamento Localizador da passagem Como um passageiro Eu desejo informar meus dados pessoais e de cartão de crédito Para que eu possa efetuar a compra da passagem Como um passageiro Eu desejo visualizar o localizador da passagem Para que eu possa fazer meu checkin A B C D
  11. 11. Nível de Story - Exemplo prático A1 A1 A2 A3 A4 A1
  12. 12. Nível de Tarefas • Ao menos, pensar em todas as tarefas relacionadas a automação • Criação/Atualização de Scripts | Criação/Atualização de massa de dados, etc..
  13. 13. Seleção dos Testes • Devemos considerar, sempre, ao menos 3 fatores: • ROI Tentar associar ao impacto e risco no projeto e ganho de tempo para execução • Complexidade de desenvolvimento O quão complexo/demorado é o esforço de automação • Esforço de manutenção Analisar de a funcionalidade está passando por constantes mudanças ou tem uma concentração grande de bugs
  14. 14. Seleção dos Testes – Exemplo prático • Criar uma matriz para ajudar na seleção • Estabelecer Critérios para considerar • Pontuação • Prioridade • Esforço de implementação
  15. 15. @eliasnogueira http://academiadeteste.com.br Obrigado!
  16. 16. PRIMEIROS PASSOS COM SELENIUM WEBDRIVER
  17. 17. ALINE ZANIN • Mestra em Ciência da Computação; • Especialista em Qualidade de Software; • Professora; • Pesquisadora; • “Agilista”
  18. 18. Por que Selenium? • Simples de configurar; • Leve para “rodar”; • Fácil para aprender; • Útil para testar;
  19. 19. Por onde Começo? • Selenium é uma biblioteca que você adiciona em um projeto e te permite interagir com elementos de páginas da web; • Para começar faça download do Selenium e extraia os arquivos; • Crie um projeto Java; • Adicione a biblioteca do Seleniun neste projeto; • Adicione a bibliteca do Junit neste projeto
  20. 20. Primeiro Teste •@Before • Executado antes de cada teste •@Test • Contem os testes •@After • Executado Depois de cada teste
  21. 21. Setup do Teste Configurando o caminho do driver que é utilizado para interagir com o navegador
  22. 22. Setup do Teste Inicializando o driver do Firefox
  23. 23. Setup do Teste Abrindo a página web
  24. 24. Setup do Teste Maximiza a página Web
  25. 25. Localizando Campos •ID
  26. 26. Localizando Campos •Name
  27. 27. Localizando Campos •link
  28. 28. Navegando Entre Páginas
  29. 29. Inserindo Valores em Campos de Texto
  30. 30. Trabalhando com Listas
  31. 31. https://alinezanin.wordpress.com/ https://pt.slideshare.net/AlineZanin1 alinnezanin@gmail.com Obrigada!
  32. 32. CROSS TESTING MOBILE COM RUBY, CUCUMBER E APPIUM
  33. 33. Agenda • Objetivos • Desafios • Ruby, Cucumber e Appium • Porque os escolhemos? • Como implementamos • Relatórios e documentação
  34. 34. Maximiliano Alves • 3 anos na área de qualidade • 7 meses na CWI • Formando 2018/1 em Análise e desenvolvimento de sistemas
  35. 35. Objetivo - Projeto novo - Apps Nativos - Mesma UX - Necessário agilidade
  36. 36. Automatiza ai!
  37. 37. Desafios • Unificar os mapeamentos de telas • Base de testes, cenários e métodos auxiliares únicos • Execução unificada • Geração de reports unificados
  38. 38. Um pouco sobre Ruby • Linguagem dinâmica • Open source • Foco na simplicidade e na produtividade • Tem uma sintaxe elegante de leitura natural e fácil escrita Fonte: https://www.ruby-lang.org/pt/
  39. 39. Um pouco sobre Cucumber • Framework para escrita em uma linguagem semelhante à natural • Conceitos Gherkin • Behavior Driven Development Fonte: https://cucumber.io/
  40. 40. Um pouco sobre Appium - Open Source - Android, iOS, Windows* - Protocolo Webdriver - https://w3c.github.io/webdri ver/webdriver-spec.html Fonte: http://appium.io/
  41. 41. Porque escolhemos Ruby, Cucumber e Appium? • Curva de aprendizagem • Fácil integração • Poucas dependências
  42. 42. Como estruturamos nossa solução? ● app: Onde colocamos os aplicativos Android e IOS. ● config: Onde colocamos as configurações passadas para o appium_lib. ● features: Core da aplicação com: ○ elementos mapeados para ambas as plataformas ○ features com os cenários que serão executados ○ pageObjects com abstrações que facilitam a criação dos testes ○ passos para execução dos testes ● support: classes e métodos auxiliares ● rake_tasks: aqui é onde boa parte da mágica acontece, onde é possível rodar um teste para uma determinada plataforma com um simples comando.
  43. 43. Config
  44. 44. Estrutura
  45. 45. Features
  46. 46. Elements nome_do_arquivo.yaml
  47. 47. Page Objects
  48. 48. Step definitions
  49. 49. Support
  50. 50. Appium custom
  51. 51. Appium custom
  52. 52. Env
  53. 53. Hooks
  54. 54. Screen mappings implements
  55. 55. Rake
  56. 56. Rake
  57. 57. Como executar? rake run_acceptance[android,@suatagsuite] rake run_acceptance[ios,@suatagsuite]
  58. 58. Relatórios
  59. 59. Docs com Yard
  60. 60. • Twitter: @max_dacruz • Github: maximilianoalves • Email: maximilianodacruz@gmail.com • LinkedIn: maximilianodacruz Obrigado!
  61. 61. Fishbowl time!!!

×