Your SlideShare is downloading. ×
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Todas as abordagens de testes dentro do ágil

8,941

Published on

Palestra apresentada dia 10/11/2012 no Rio Agile Talks (@rioagile) mostrando a importância do Agile Testing e das visões que mudam sobre modelos, como o quadrande de Brian Merick que pode ser …

Palestra apresentada dia 10/11/2012 no Rio Agile Talks (@rioagile) mostrando a importância do Agile Testing e das visões que mudam sobre modelos, como o quadrande de Brian Merick que pode ser mudado/atualizado pelo novo uadrante proposto por Elisabeth Hendrickson, mas onde uma coida não muda: a pirâmide de automação de teste

Published in: News & Politics
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,941
On Slideshare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
107
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Todas as abordagens de testedentro do ágil! @eliasnogueira
  • 2. Elias Nogueira Tester, professor http://about.me/eliasnogueira @eliasnogueira TDC - The Developers Conference TestDay Jenkins User Conference – São Paulo
  • 3. Nós fizemos o deploy em produção esta manhã!
  • 4. Os testes irão levar 4 dias para executarem... Em 4 dias eu retorno com o resultado!
  • 5. Agile Testing
  • 6. Agile Testing Agile Testing é uma prática de Teste de Software que segue os princípios do desenvolvimento ágil
  • 7. Agile Testing Feedback contínuo Entrega de valor ao cliente Comunicação face-to-face Coragem Simplicidade Resposta a mudanças Auto-organização Foco em pessoas
  • 8. Como a maioria dos “Agile Testers” são hoje!
  • 9. Testadores hoje Não sabem o que é Ágil Não sabem programar O desenvolvedor é seu maior inimigo Programador frustrado ou querendo ser BA Não querem “passar trabalho”
  • 10. Separação clara dos papéis Desenvolvedores ágeis são “test infected” Agile Testers e Desenvolvedores colaboram Agile Testers colaboram com o usuário TODO O TIME é responsável por teste! Todos devem entender do negócio AUTOMATIZAM!!!
  • 11. http://www.shino.de/2012/07/30/the-testing-quadrants-we-got-it-wrong/
  • 12. Pirâmide de Automação de Teste
  • 13. Inicio da entrada da qualidade no produtoTem um suporte de refatoraçãoÉ a base de uma suíte de automaçãoTODO O TIME é responsável por teste!Todos devem entender do negócio
  • 14. Build Tools • Judson/JenkinsUnit Test Tools • xUnit • Mocking
  • 15. Testar os serviços da aplicação sem UIPreenche o gap entre Unit x UIDescrita de uma forma clara para o clienteTanto tester quanto dev podem criarPodemos referencia-lo como “integração” • API Test • Integration Test • Component Test
  • 16. BDD Tools • Cucumber • Jbehave • SpecFlowUnit Test Tools • xUnitFixture Tools • Fitnesse
  • 17. Teste da UI / E2EFocar em smoke testsMais caro e mais frágilDesenvolvido no final do ‘done; de testeUsualmente fácil para testadores ágeis
  • 18. ATDD Tools • Selenium • Robot Framework
  • 19. TDD – Test Driven Development
  • 20. TDD – Test Driven Development Pequeno mal entendido Sou pago pra desenvolver, não testar “Done” é quando eu dou checkin Todos conhecem o código O projeto é curto Não há cliente
  • 21. BDD – Behavior Driven Development BDD pode ser visto como uma técnica de desenvolvimento ágil que encoraja colaboração entre os desenvolvedores, analistas, QA e o pessoal não técnico (stackeholders) para o sucesso de um projeto Éder Ignatowicz (@ederig)
  • 22. BDD – Behavior Driven Development BDD pode ser visto como uma técnica de desenvolvimento ágil que encoraja colaboração entre os desenvolvedores, analistas, QA e o pessoal não técnico (stackeholders) para o sucesso de um projeto
  • 23. BDD – Behavior Driven Development O suficiente é o suficiente Entregar valor para os stackholders Tudo é comportamento
  • 24. BDD – Behavior Driven Development User Story Feature: <description of the feature> As a <user/actor> I want <goal to be achieved> so that <the reason you want to achieve the goal> Funcionalidade: <descrição da funcionalidade> Como um <usuário/ator> Eu quero <meta a ser alcançada> De modo que <a razão para alcançar a meta>
  • 25. BDD – Behavior Driven Development Acceptance Criteria Scenario: <description of the test> Given <a known state> When <an event occurs> Then <then this should happen> Cenário: <descrição do teste> Dado <um estado conhecido> Quando <um determinado evento ocorre> Então <isso deve ocorrer>
  • 26. BDD – Behavior Driven Development Funcionalidade: Leitor de tipos de Triângulo Para conhecer o tipo de um triângulo Como um aluno da matemática Eu quero informar os tamanhos do lado de um triângulo e saber qual seu tipo NARRATIVA Um triângulo com todos os lados iguais é chamado Equilátero Um triângulo com dois lados iguais é chamado Isósceles Um triângulo com todos os lados diferentes é chamado Escaleno FORA DE ESCOPO - Validar triângulos inválidos - Exibir o triangulo graficamente - Validação de entrada de dados do usuáriohttp://www.bugbang.com.br/entendendo-bdd-com-cucumber-parte-i/
  • 27. BDD – Behavior Driven Development Cenário: Consultando um triangulo Escaleno Dado que eu estou na página de consulta de triângulos Quando quando eu informo os lados do triangulo | lado1 | lado 2 | lado 3 | | 3 | 4 | 5 | Então o sistema informa que o triangulo é “Escaleno”
  • 28. ATDD – Acceptance Test Drive Development ATDD é uma prática onde todo o time, colaborativamente, discute critérios de aceitação através de exemplos antes de começar o desenvolvimento. Também garante que todos tenham a mesma definição do done.
  • 29. ATDD – Acceptance Test Drive Development
  • 30. ATDD – Acceptance Test Drive Development Exemplo Os usuários agora precisam utilizar senhas seguras (string de, no mínimo, 6 caracteres com pelo menos uma letra, um número e um símbolo)
  • 31. ATDD – Acceptance Test Drive DevelopmentDiscutir o requisitoDurante uma reunião de planejamento O que acontece se o usuário inserir uma senha não segura? E se o usuário colocar um espaço? Como fica as contas já existentes?
  • 32. ATDD – Acceptance Test Drive DevelopmentDestilar em um formato amigávelPensando em um formato para ferramenta Teste: Validar senhas válidas e inválidas Ação Argumento O teste deve ser válido p@ssw0rd O teste deve ser válido @@@000dd O teste deve ser válido p@ss w0rd O teste deve ser inválido password O teste deve ser inválido p@ss3 O teste deve ser inválido passw0rd O teste deve ser inválido @@@000
  • 33. ATDD – Acceptance Test Drive DevelopmentDesenvolver o códigoImplementação em qualquer formato public class ValidateLoginPage { WebDriver driver; public String loginValidation(String username, String password) { driver.findElement(By.id(“user”)).sendKeys(username); driver.findElement(By.id(“passwd”).sendKeys(password); driver.findElement(By.id(“submit”).click(); String result = driver.findElement(By.cssSelector(“result”)).getText() } }
  • 34. ATDD – Acceptance Test Drive DevelopmentDesenvolver o códigoImplementação em qualquer formato public class TestLogin { WebDriver driver = new FirefoxDriver(); @Test (dataProvider = ”data") public String testAllScenarios (String username, String password, String result) { ValidateLoginPage testLogin = new ValidationLoginPage(driver); String result = testLogin.loginValidation(username, password); Assert.assertEquals(expected, result); } @DataProvider(name = ”data”) public Object[][] createData() { Object[][] obj ={{”fred","p@ssw0rd",”Valid Password"}, {{”jack","passw0rd",”Invalid Password!”} }
  • 35. ATDD – Acceptance Test Drive DevelopmentDemostrar o testeExecução do teste em ambiente controlado
  • 36. Mas cadê o topo da pirâmide?
  • 37. Testes ExploratóriosSimultâneamente ....... aprender sobre o software... desenvolver mais testes... executar testesUsando o feedback do último teste paraexecutar o próximo!
  • 38. Todos os testes unitários Essa user story dePassaram com sucesso! segurança passou nos meusA build está OK! teste de aceitação! Alguém já se deu conta que o usuário pode colocar ele mesmo como administrador?
  • 39. SBT - Session Based TestingCharter Explorar áreas/features [com recursos, condições , restrições] para descobrir informação Explorar o site em diversos browsers e configurações para descobrir riscos relacionados a configurações não suportadas
  • 40. SBT - Session Based TestingCharter Descrição e objetivo Tempo Área de Concentração Setup Observações Bugs

×