Brateste 2013: Testes Agile em Processos Agile

639 visualizações

Publicada em

Apresentação IBM Rational no Brateste 2013

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
639
No SlideShare
0
A partir de incorporações
0
Número de incorporações
34
Ações
Compartilhamentos
0
Downloads
11
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Bom dia,
    Eu sou Ana, trabalho com o Fábio , trabalhamos juntos no time Rational, responsáveis por soluções de Virtualização para o Brasil.
    Temos exeperiencia na implantação de processos de desenvolvimento
    A solução que vamos falar faz parte de um plataforma IBM para desenvolvimento de apps mobile,
    Que inclui diferentes disciplinas e ferramental.
    A nossa idéia hj é mostrar como o uso de Virtualização de serviços pode contrubir para uma nova abordagemem testes
  • Vamos então pensar um pouco mais a respeito do processo de testes
  • I: Teams compromise on the meaning of done, done, done
    Image: Stuart Miles / FreeDigitalPhotos.net
  • Vamos então pensar um pouco mais a respeito do processo de testes
  • We always want to be testing.
    Stub interfacing components out that are unavailable at the time and then re-introduce them when they are available.
    O teste de integração pode ser feito em nível de componente.
    Inicia-se os testes virtualizando os componentes que não estao disponiveis. Ã medida que ficam prontos, são substituídos.
    E entao, quando um novo componente ou uma nova versão é introduzida, pode se executar testes de regressao.
    Assim se contra o risco de liberar um componente com erros. É uma abordagem iterativa para os testes de integração.
    Essa abordagem é interessante para times usando métodos agile, permitindo que os testes sejam de fato executados em cada iteração.
  • Heterogeneous environment: An IT environment that includes computers, operating systems, platforms, databases, applications, and other components from different vendors.
    This represents a simple system for a lot of our customers.
  • Vamos então pensar um pouco mais a respeito do processo de testes
  • We always want to be testing.
    Stub interfacing components out that are unavailable at the time and then re-introduce them when they are available.
    O teste de integração pode ser feito em nível de componente.
    Inicia-se os testes virtualizando os componentes que não estao disponiveis. Ã medida que ficam prontos, são substituídos.
    E entao, quando um novo componente ou uma nova versão é introduzida, pode se executar testes de regressao.
    Assim se contra o risco de liberar um componente com erros. É uma abordagem iterativa para os testes de integração.
    Essa abordagem é interessante para times usando métodos agile, permitindo que os testes sejam de fato executados em cada iteração.
  • Por conta dessa complexidade, podemos imaginar o esforço necessário para se confirgurar um ambinete de testes, quando se implanta um sistema novo ou se faz upgrade de uma nova versão.
    A quantidade de hardware, software, sistemas operacionais, banco de dados usados nesse processo.
    Em muitos casos, o time de infraestrutura é responsável pela disponibilização desse ambiente. Fazem uso de Vmware, que sem dúvida facilita a montagem dos ambientes, mas ainda assim estas precisam ser instaladas, configuradas e uma vez disponibilizadas, se precisa de alguém que conheça as aplicações, às vezes de terceiros, que saiba como usá-las, conheça as senhas, etc.
    Isso é uma reliadade para a maioria de nossos clientes.
  • Effectively “build on steroids”
    You want to rebuild the system when something changes.
    On dev sandbox you’ll be building your component(s) several times a day.
    On integration sandbox you;ll rebuild after promoting your code changes. Ideally you should rebuild this environment at least nightly
    The pre-production environments will be built less often, perhaps weekly for example, depending on system size and need to do so.
    You may deploy into production only once a quarter or once a year for example, even though your development iterations are much shorter (e.g. two weeks).
    Integration support
    BF and RTC both have automated build functionality
    Software analyzer does static code analysis. This should be particularly interesting to agile teams looking to take the “next step” in build quality
    Deployment of code/components
    BF automates deployment between sandboxes/environments
    Reporting defects back to the dev team:
    ClearQuest is used to communicate defect reports/enhancement requests back to the dev team from testers or support people
    Independent testers can record defects as work items in RTC
  • P: Finding a way to bring valuable integration testing earlier in the cycle has a positive impact
  • Complex systems mean nightly testing is insufficient
    Quality means fewer bugs in production
    Not necessarily fewer bugs (catch them early)
    Agile improves quality through working software earlier
    Finding problems earlier means working software earlier
    Test driven development and commitment to unit tests only go so far
  • This is a high level view. Most of the details are in “Prep Service Virutalization”, this requires building the service virtualization stubs, deployment automation and test automation that supports these steps:
    Build request
    Nightly build completes (compiles & junits)
    Automation installs & configures the AUT onto SUT
    Include a GH agent in the environment
    All parts of the system except the part that is being built. GH is virtualizing *everything* else
    GH VIE receives a notification to modify the configuration files on SUT
    AUT is started
    Tests are invoked/run
    Results collected, update build status in RTC
  • Image: sheelamohan / FreeDigitalPhotos.net
  • Brateste 2013: Testes Agile em Processos Agile

    1. 1. Testes Agile em Processos Agile Ana Negrello Fabio Santos 1 #IBMMobile © 2013 IBM Corporation
    2. 2. Testes e Mé todos Á geis: a realidade 2 2 #IBMMobile © 2013 IBM Corporation
    3. 3. Terminologia: Agile e Lean • Agile – Entregue VALOR – Uma abordagem que foca em entregar elementos de valor para o cliente – Evite tudo que não traz valor – Descrença em planos detalhados logo no início do projeto http://www.rallydev.com/community/agile-blog/ agile-and-lean-software-development---oxymoron DevOps – Entregue VALOR no ciclo todo 3 #IBMMobile © 2013 IBM Corporation
    4. 4. Mudanças sustanciais precisam ser feitas para endereçar qualidade em projetos agile Abordagem Tradicional Defeitos encontados tardiamente, quanto sao mais caros para corrigir 4 Abordagem Agile Defeitos encontrados cedo, quando sao mais baratos de corrigir #IBMMobile © 2013 IBM Corporation Data from IBM Websphere CICS team based on their agile adoption
    5. 5. Agilidade diminui Qual a definição de “código executável e estável”?  Os testes de integração são realizados apenas no final do projeto? Iterações de testes?  Desafio em termos de colaboração: desenvolvedores trabalhando de forma alinhada  Os desenvolvedores estão fazendo validação das integrações?  O quanto você está comprometido com a denifição de código executável e estável? 5 #IBMMobile © 2013 IBM Corporation
    6. 6. Métodos Agile : modo de testar muda  Enfoque tradicional: foco nos diferentes tipos de testes, realizados por times distintos – unitários, funcionais, performance, usabilidade, segurança,etc  Qualidade é responsabilidade de todos!!!  Mas na prática: testadores são responsabilizados pela qualidade 6 #IBMMobile © 2013 IBM Corporation
    7. 7. Qual a dificuldade? 7 7 #IBMMobile © 2013 IBM Corporation
    8. 8. Qual a dificuldade para realizar os testes na iteração?  Ambientes e sistemas de testes indisponíveis  Seu código depende de outros componentes que não estão prontos  Maioria dos testes são orientados a interface  Pessoas disponíveis para testes – áreas usuárias 8 #IBMMobile © 2013 IBM Corporation
    9. 9. E é difícil configurar o ambiente para os testes de integração Business Partners Content Providers Web/ Internet Shared Services Portals Messaging Services Routing Service Third-party Services Directory Identity Application Collaboration File systems EJB Enterprise Service Bus Data Warehouse Mainframe Archives 9 #IBMMobile © 2013 IBM Corporation
    10. 10. Você já passou por isso? Escreve e libera código Builds noturnos Compila, testes unitários, publica Gastei 2 semanas configurando isso & e o build deu problema?$%^?? ConfigurarAmbiente de Testes Inetgrados DeveloperDesenvolvedor r Desenvolvedorr Desenvolvedorr Desenvolvedor Desenvolvedor Testador N dias para instalar e configurar Quando a agilidade para nos testes integrados, toda a organização para junto Iteration planning Week 7 Iteration 1 Design, Code, Iteration 2 Design, Code, Test Test Weeks 2 - 6 Weeks 8 -12 Integration test iteration #1 Iteration planning Week 1 SVT prep Testes de integração ficam um passo atrás do código N build noturnos empilhados 10 Integration test iteration #2 #IBMMobile © 2013 IBM Corporation
    11. 11. Qual a saída? 11 11 #IBMMobile © 2013 IBM Corporation
    12. 12. A Virtualização de Serviços é uma das saídas Virtualização habilita Teste Contínuos de Integração Serviço/App Real Serviço/App Virtual Serviços, aplicações, sistemas são introduzidos dentro do ciclo de integração contínua de forma priorizada, controlada. Incrementalmente Testando a Integração Incrementalmente Testando a Integração 12 #IBMMobile © 2013 IBM Corporation
    13. 13. A Montagem do Ambiente de Testes fica mais Simples com Virtualização Business Partners Content Providers Web/ Internet Shared Services Portals Messaging Services Routing Service Third-party Services Directory Identity Application Collaboration File systems EJB Enterprise Service Bus Data Warehouse 13 Mainframe #IBMMobile Archives © 2013 IBM Corporation
    14. 14. Integração Contínua  Builds diários são bom começo  Agilistas atualizam e testam o código o tempo todo  Assim, o sistema precisa ser regerado constantemente  Compilar  Testes de regressao  Análise estática de código  Pontos críticos:  Precisa de automação  Não se esqueça dos Bancos de Dados  Precisa estabalecer um protocolo para implantar os builds em áreas de trabalho.  Não significa que o sistema vai ser liberado para produção a cada semana 14 #IBMMobile © 2013 IBM Corporation
    15. 15. Setup do Ambiente de Testes Atividade Produtiva Consome mais de 50% do tempo de testes Times trabalham Fase QA de forma Produção Independent Test colaborativa Desenvolvimento Agile Iteração 1… n Dias Build Noturno Check ins Delay Setup manual Do amb de testes Dias Delay Setup manual Setup manual Do amb de testes Do amb de testes Dias Pacote ok para ser liberado Teste de Integração Delay Executa Testes Encontra Defeitos Setup do amb Testes em 15 minutos Dias Delay Setup manual Setup manual Do amb de testes Do amb de testes Corrige Defeitos Entrega do pacote Testa& Verifica para Produção Manual setup Manual setup of Test Env of Test Env Testa & Verifica Tempo para atividade produtiva aumenta #IBMMobile © 2013 IBM Corporation
    16. 16. Os builds passaram pelos testes Testes contínuos de integração Compilar Teste Unitário de Integração Instala & Configura Setup Ambiente de Testes Virtualização De Serviços Executa Os testes Publica Resultados Rational Quality Manager O Build só é liberado quando passou pelos testes de integração. 16 #IBMMobile © 2013 IBM Corporation
    17. 17. Quem faz o que  Alguns pré-reqs − Necessário automatizar testes de regressão − Infrastrutura existe para implantação do sistema em teste  Organizações de testes trabalham com desenvolvedores para criar os serviços virtualizados − As definições dependem do que escopo dos testes de regressão e das depedencias com outros sistemas  Modificar automação dos builds − Automatizar a instalação de componentes − Automatizar a ativação dos serviços virtuais − Ativar execução dos testes − Atualizar resultado dos builds 17 #IBMMobile © 2013 IBM Corporation
    18. 18. Incorporando a virtualização de serviços Define baseline Planej. Sprint Uma vez, apenas Instala Sprint Prep virtualiz De serviço Completa uma story Atualiza Def. de Build Constrói Testes Desenvolve Testa Build Key Estabiliza 18 * Money That Matters Scenario 2012 Compara baseline #IBMMobile Agile Agile com VirtualizaçãoIBM Corporation © 2013 de Serviços
    19. 19. Alinhamento entre o time Colaboração  Colaboração − Desenv & Testadores no mesmo código ao mesmo tempo − Defeitos encontrados e corrigidos mais cedo  Muda o tipo de métricas − Tempo para corrigir bugs x numero de bugs − # erros em produção  Teste de integração acontecendo em toda iteração e build − Todos sistema sendo testado e verificado − Em termos Agile, de fato “done, done, done” em cada iteração 19 #IBMMobile © 2013 IBM Corporation
    20. 20. IBM Rational Quality Management Offerings IBM Collaborative Application Lifecycle Management Rational Quality Manager Quality Dashboard Test Management Requirements Management Defect Management Create Build Manage Execute Report Plan Tests Test Lab Tests Results Best Practice Processes Collaboration Presentation: Mashups Unit Testing Discovery Search & Query Storage Open Lifecycle Service Integrations Integration Testing Functional Testing Performance Testing Test Data Management Test Virtualization RationalT 20 Rational Functional Tester Rational #IBMMobile Performance Tester Administration: Users, projects, process RTVS, RTW Optim TDM 20 © 2013 IBM Corporation
    21. 21. Recursos Disponíveis              Youtube: What is Service Virtualization: http://www.youtube.com/watch?v=Np5_O43BFD4&list=PLEE1757606E9348F5&index=1&feature=plpp_video What is Continuous Integration Testing: http://www.youtube.com/watch?v=wGOogTsOtc4&list=PLEE1757606E9348F5&index=3&feature=plpp_video When to you Service Virtualization: http://www.youtube.com/watch?v=j1f5vP3gCIM&list=PLEE1757606E9348F5&index=2&feature=plpp_video Videos feitos por parceiros IBM: http://www.youtube.com/playlist?list=PLlhg84-xzjfwdUShtwq7sG4HZQpFUwwFM&feature=edit_ok Artigos: Artigo em português: Métodos ágeis e qualidade: como conciliar? https://www.ibm.com/developerworks/mydeveloperworks/blogs/rationalbrasil/entry/m_c3_a9todos__c3_a1geis_e_qualidad e_como_conciliar2?lang=pt_br  PDF - Service Virtualization for dummies:  https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd-wp&S_PKG=ov13523   Use service virtualization to remove testing bottlenecks  http://library.theserverside.com/data/document.do?res_id=1368550664_519   Relatórios de Mercado:  Relatório de mercado Infotech 2013 – IBM como líder de testes:  https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd-ar&S_PKG=ov12576  Relatório sobre ROI em Virtualização da WinterGreen Resear Inc:  https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd-wp&S_PKG=ov12601  Forrester Research Total Economic Impact Study on Service Virtualization and Test Automation Solutions (estudo de caso de implementação pela Sadhanta)  https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd-ar&S_PKG=ov16778 21 #IBMMobile © 2013 IBM Corporation
    22. 22. Recursos Disponíveis          Webcasts: Webcast especialista de mercado: "Is early Performance Test really valuable and viable?" :. http://video.webcasts.com/events/pmny001/viewer/index.jsp?eventid=43694   Recording a mobile app test using RTW http://www.youtube.com/watch?v=ktQ9HUGytZo   Running a mobile app test using RTW http://www.youtube.com/watch?v=s6mq5qoj6Fs   Creating virtualized services for a mobile app using RIT http://www.youtube.com/watch?v=Z2bVWS70EAA   Running virtualized services for a mobile app using RTVS http://www.youtube.com/watch?v=QWPTwbkY4NM   Setting up a mobile app test using RQM http://www.youtube.com/watch?v=ZmkLHhPuHeg   Putting it together: Running a mobile app test against virtualized services for a mobile app using RQM, RTW, RTVS http://www.youtube.com/watch?v=oyhnRfeMq-w    22 Webcast IBM (português) http://www.tiwebcast.com.br/WebcastImages/IBM/525444_IBM_Podcast.zip Mobile: http://www.youtube.com/watch?v=w1HRP85vnKM http://www.youtube.com/watch?v=kPiVpl8lbjw Adoção de Agile na IBM: http://www.youtube.com/watch?v=PjE-XeJuV7Q&list=PLF491A0C598AF9E39&index=24 #IBMMobile © 2013 IBM Corporation
    23. 23. Visite nosso estande ! Temos demonstraç õ das es Soluç õ Integradas: es - Virtualizaç ã de Serviç os o - Testes de Mobile - Gerenciamento de Qualidade ananegre@br.ibm.com fabiossa@br.ibm.com 23 23 #IBMMobile © 2013 IBM Corporation

    ×