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.
© 2013 IBM Corporation
Testes Contínuos – Automação/Virtualização
Fábio de Souza (fabiossa@br.ibm.com)
Especialista Ration...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
2
Agenda
 Como garantir melhor Qualidade de Software?
...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Hoje, Software conduz inovação para um mundo mais intel...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Qualidade do software é o principal problema entre toda...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Desequilíbrio entre
Qualidade e Velocidade
Crescente
Cu...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Melhor qualidade do software requer novo foco
Evoluindo...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
7
Soluções do Passado e Limitações
Custos de Mão de obr...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Tempo/
Prazo
Qualidade
Custo
Risco
Automação de
Testes ...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
9
Significativament
e Menos Custos
de Labs
• Redução em...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
10
Agenda
 Como garantir melhor Qualidade de Software?...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
11
O que é Virtualização em Testes?
Virtualização em Te...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes da IBM Rational
Uma ...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
IBM Quality Management Portfolio
Rational Quality Manag...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
As Aplicações Modernas
•Leves
•Atualizadas
•Novas
•Simp...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Desafio: Limitações no ciclo de vida de desenvolvimento...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução: Virtualização em Testes
Virtualização ouve e c...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes possibilita a implan...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Testes de Integração – Contínuos e Incrementais
Interfa...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Define-se
sistemas com
restrições e
serviços para
virtu...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Incrementalmente Testando a IntegraçãoIncrementalmente ...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
21
Testes de Performance com Solução de Virtualização e...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Ambiente e Tecnologias Suportados
• ActiveMQ
• Email (S...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
23
Tipos de Aplicações Virtuais
Simples
Resposta Hard-c...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
24
Workflow da Solução de Virtualização em Testes
 Usa...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes: Como tudo se encaix...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
26
Agenda
 Como garantir melhor Qualidade de Software?...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes da IBM Rational tem
...
© 2013 IBM Corporation
Software and Systems Engineering | Rational
28
© Copyright IBM Corporation 2011. All rights reserve...
Upcoming SlideShare
Loading in …5
×

Teste Contínuo de Integração e Virtualização de Serviços

1,312 views

Published on

Mostramos como podemos antecipar os testes de integração entre sistemas distintos (até mesmo entre empresas diferentes) sem a necessidade de esperar até que todas as partes envolvidas estejam disponíveis para teste. Parece impossível, mas não é!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Teste Contínuo de Integração e Virtualização de Serviços

  1. 1. © 2013 IBM Corporation Testes Contínuos – Automação/Virtualização Fábio de Souza (fabiossa@br.ibm.com) Especialista Rational, Software Group, IBM Setembro/2013
  2. 2. © 2013 IBM Corporation Software and Systems Engineering | Rational 2 Agenda  Como garantir melhor Qualidade de Software? – Do “teste” ao gerenciamento de qualidade inteligente  Solução IBM Rational de Virtualização em Testes – Rational Test Workbench – Rational Test Virtualization Server – Rational Performance Test Server  Referências – Casos de Sucesso Requirements Uma Solução Inteligente para Gerenciamento de Qualidade
  3. 3. © 2013 IBM Corporation Software and Systems Engineering | Rational Hoje, Software conduz inovação para um mundo mais inteligente Transformando a forma que nós vivemos, trabalhamos, e atuamos 3
  4. 4. © 2013 IBM Corporation Software and Systems Engineering | Rational Qualidade do software é o principal problema entre todas as indústrias  Software é mais culpado pelos principais problemas nos negócios do que qualquer outro produto fabricado pelo Homem.  Qualidade ruim do software passou a ser um dos tópicos mais caros na história da humanidade – $150+ bilhões por ano nos EUA. – $500+ bilhões por anos em todo o mundo.  Projetos cancelados devido a qualidade ruim são 15% mais custosos do que projetos com sucesso do mesmo tamanho e tipo. Fonte: Capers Jones, 2011 Based on 675 companies, 35 government/military groups, 13,500 projects, 50-75 new projects/month, 24 countries, 15 lawsuits
  5. 5. © 2013 IBM Corporation Software and Systems Engineering | Rational Desequilíbrio entre Qualidade e Velocidade Crescente Custo da Qualidade Crescente Complexidade do Desenvolvimento Custo, complexidade e velocidade tornam a qualidade impraticável De 60% a 80% dos custos estimados de desenvolvimento de software está no retrabalho* * Source: http://www.sei.cmu.edu/about/message/ Mão de obra terceirizada não é um modelo sustentável com o aumento dos salários globais Complexidade e tamanho do produto e da aplicação estão crescendo Produtividade é inibida já que equipes de testes não podem mais se manter num desenvolvimento ágil Heterogeneous Environments Public Cloud Private Cloud Data Warehouse Mainframe Enterprise Service Bus Directory Identity File systems Collaboration Web/ Internet Routing Service Third-party Services Portals Content Providers EJB Shared Services Archives Business Partners Messaging Services Traditional Testing Other costs Testing costs
  6. 6. © 2013 IBM Corporation Software and Systems Engineering | Rational Melhor qualidade do software requer novo foco Evoluindo de Testes para Gerenciamento da Qualidade Uma técnica de investigação feita para expor informação relacionada a qualidade sobre o produto ou serviço sob teste Gerenciamento da QualidadeTestes Monitoração sistemática e avaliação dos vários aspectos de um produto ou serviço para maximizar o potencial e atingir padrões de qualidade almejados “Eu tenho centenas de testadores & muita automação, mas tudo que faço é descobrir mais defeitos. Eu não tenho o problema de testar, Eu tenho um problema de qualidade.” – de um grande banco global
  7. 7. © 2013 IBM Corporation Software and Systems Engineering | Rational 7 Soluções do Passado e Limitações Custos de Mão de obra, de hardware e software para gerenciar labs de testes e ambientes Enormes Custos de Lab Dias/semanas desperdiçados esperando pela disponibilidade de um ambiente de testes Longos Ciclos de Testes Disponibilidade de ambientes de testes ocultam a habilidade dos desenvolvedores de testar apropriadamente Altíssimos Riscos Muitos recursos do lab de testes sub-utilizados e custosos Desenvolvimento e QA desperdiçam muito tempo em atividades improdutivas: instalação, configuração, tentativa/erro, etc.  Uma porção significativa dos esforços de testes é impelida para tarde no processo resultando em custos de correção de defeitos na ordem de 10-100x
  8. 8. © 2013 IBM Corporation Software and Systems Engineering | Rational Tempo/ Prazo Qualidade Custo Risco Automação de Testes Multicanais 1 Continuous Integration Testing & Delivery 2Smarter Testing 3 O que é mandatório para um efetivo Gerenciamento de Qualidade?
  9. 9. © 2013 IBM Corporation Software and Systems Engineering | Rational 9 Significativament e Menos Custos de Labs • Redução em até 90% dos custos de infra-estrutura do laboratório de testes • Redução em 80% ou mais dos custos com a mão de obra envolvida na configuração dos ambientes de testes • Redução ou eliminação dos custos de invocar sistemas de terceiros para uso que não seja de produção, como web services pagos Reduzidos Ciclos de Testes • Ambientes de Testes podem ser configurados em minutos versus semanas • Mais testadores podem estar focados em testes, e não na configuração do ambiente de testes • Mais testes de regressão podem ser realizados independentemente da interface do usuário final, durante o desenvolvimento Menores Riscos • Desenvolvedores tem como testar o software antes no nível do Serviço/API • Equipes extensas trabalhando em diferentes partes de uma aplicação ou sistema podem efetivamente trabalhar/desenvolver em paralelo, virtualizando diferentes partes do sistema Solução de Virtualização em Testes da IBM Rational Uma Solução Inteligente para Melhor Qualidade
  10. 10. © 2013 IBM Corporation Software and Systems Engineering | Rational 10 Agenda  Como garantir melhor Qualidade de Software? – Do “teste” ao gerenciamento de qualidade inteligente  Solução IBM Rational de Virtualização em Testes – Rational Test Workbench – Rational Test Virtualization Server – Rational Performance Test Server  Referências – Casos de Sucesso Requirements Uma Solução Inteligente para Gerenciamento de Qualidade
  11. 11. © 2013 IBM Corporation Software and Systems Engineering | Rational 11 O que é Virtualização em Testes? Virtualização em Testes permite a criação de “ serviços virtuais”: –Serviços Virtuais simulam o comportamento de uma aplicação ou sistema inteiro durante testes –Serviços Virtuais podem rodar em hardware comoditizado, nuvem privativa, núvem publica –Cada desenvolvedor, testador pode facilmente ter seus próprios ambientes de testes –Desenvolvedores e testadores continuam a usar suas próprias ferramentas de testes (Manual, Performance web, automação de testes na Interface do Usuário) Captura &Modela Captura &Modela Dependências do sistema são um desafio chave na configuração de ambientes de testes: Indisponível/inacessível: Testes são limitados por agendamentos de produção, restrições de segurança, contenção entre equipes, ou porque eles ainda estão sob desenvolvimento Taxas custosas para acesso a sistemas de terceiros: Desenvolvimento ou testes de serviços baseados em nuvem ou compartilhados podem resultar em taxas de utilização custosas Impraticável virtualização baseada em hardware: Sistemas são ou muito difíceis (mainframes) ou remotos (serviços de terceiros) para replicar via abordagem tradicional de virtualização baseada em hardware Heterogeneous Environments Public Cloud Private Cloud Data Warehouse Mainframe Enterprise Service Bus Directory Identity File systems Collaboration App Under TestRouting Service Third-party Services Portals Content Providers EJB Shared Services Archives Business Partners Messaging Services Databases Mainframe applications App Under Test Third-party Services Packaged apps, messaging services, etc. Virtual Services
  12. 12. © 2013 IBM Corporation Software and Systems Engineering | Rational Solução de Virtualização em Testes da IBM Rational Uma Solução Inteligente para Melhor Qualidade  Rational Test Workbench é uma solução desktop que possibilita testadores/desenvolvedores a: – Capturar e modelar serviços virtuais – Testar serviços e aplicações antesque suas interfaces se tornem disponíveis e fazer testes de sistemas integrados (SOA, BPM)  Rational Test Virtualization Server é uma solução de servidor que: – Fornece um ambiente central para virtualizar hardware, software e servicços heterogêneos para fornecer capacidades de teste 24x7 – Reduz os custos de infra-estrutura dos ambientes de testes tradicionais – Serviços virtuais podem ser construidos a partir da definição da interface do sistema para uma variedade ampla de protocolos, incluindo HTTP, web services, SOA, JMS, TIBCO, IBM WebSphere MQ, Oracle, etc.  Rational Performance Test Server permite que os usuários do Rational Test Workbench reusem scripts de testes para conduzir testes de performance – Pde ser usado combinado com Serviços Virtuais – Coleta de estatísticas para identificação de gargalos Databases Mainframe applications App Under Test Third-party Services Packaged apps, messaging services, etc. Rational Test Virtualization Server Rational Test Workbench Developers & Testers Rational Performance Test Server
  13. 13. © 2013 IBM Corporation Software and Systems Engineering | Rational IBM Quality Management Portfolio Rational Quality Manager Test Planning Test Construction Test Execution Team Collaboration Reporting & Dashboard Gerenciamento de Requisitos Gerenciamento de Defeitos Rational Requirements Composer Rational DOORS Rational RequisitePro Rational Team Concert Rational ClearQuest Teste Functional e Mobile Teste de Performance Teste de Integração e Virtualização em Testes Dados de Testes Segurança e Conformidade Rational Test Workbench Rational [Performance] Test [Virtualization] Server AppScan Optim
  14. 14. © 2013 IBM Corporation Software and Systems Engineering | Rational As Aplicações Modernas •Leves •Atualizadas •Novas •Simples …mas ainda infelizmente conectadas a mais de 20 anos de legado de TI
  15. 15. © 2013 IBM Corporation Software and Systems Engineering | Rational Desafio: Limitações no ciclo de vida de desenvolvimento e de testes Ambiente Físico de Testes Sistema Sob TesteSistema Sob Teste Volume Constraints Volume Constraints 2hr. access window Maintenance Constraints Database / JDBCDatabase / JDBC Server/ Web ServicesServer/ Web Services Mainframe / MQ/CICSMainframe / MQ/CICS Smart Device / SD-IOSmart Device / SD-IO Problema: Restrições que penetram no desenvolvimento e limitam a produtividade dos testes
  16. 16. © 2013 IBM Corporation Software and Systems Engineering | Rational Solução: Virtualização em Testes Virtualização ouve e captura o comportamento e características dos sistemas back-end Ambiente Físico de Testes Volume Constraints Volume Constraints 2hr. access window Maintenance Constraints Database / JDBCDatabase / JDBC Server/ Web ServicesServer/ Web Services Mainframe / MQ/CICSMainframe / MQ/CICS Smart Device / SD-IOSmart Device / SD-IO MQ/CICS Web Services Smart Devices JDBC Ambiente VirtualAmbiente Virtual Captura & Modela Sistema Sob TesteSistema Sob Teste Ouve / CapturaOuve / Captura ArmazenaArmazena Test Case Repository
  17. 17. © 2013 IBM Corporation Software and Systems Engineering | Rational Solução de Virtualização em Testes possibilita a implantação de serviços virtuais em múltiplos ambientes MQ/CICS Web Services Smart Devices JDBC AV - SITAV - SIT Captura & Modela Sistema Sob TesteSistema Sob Teste Modela e implantaModela e implanta Physical Test Environment Volume Constraints Volume Constraints 2hr. accesswindow Maintenance Constraints Database / JDBC Server/Web Services Mainframe/ MQ/CICS SmartDevice / SD-IO MQ/CICS Web Services Smart Devices JDBC AV - FTEAV - FTE Captura & Modela MQ/CICS Web Services Smart Devices JDBC AV - UATAV - UAT Captura & Modela Real / VirtualReal / Virtual Repositório de Test Cases
  18. 18. © 2013 IBM Corporation Software and Systems Engineering | Rational Testes de Integração – Contínuos e Incrementais Interface do Usuário Lógica de Negócio Camada Técnica Serviço Backend/ Bases de Dados Test Driver  Detecta defeitos antes e de forma mais barata  Acelera a resolução  Simplifica questões de regressão (criação de defeitos, priorização)  Abordagem completa para desenvolvimento paralelo de componentes com um mínimo de problemas de integração
  19. 19. © 2013 IBM Corporation Software and Systems Engineering | Rational Define-se sistemas com restrições e serviços para virtualização Integration OperabilityUser AcceptanceSystem IntegrationSystemUnit Integration OperabilityUser AcceptanceSystem IntegrationSystemUnit Performance Desenvolvedor usa serviços virtuais para testes unitários do código na sua workstation – nenhum ambiente elaborado é requerido Equipes de Desenvolvimento e de Testes usam serviços virtuais cedo para testes avançados O sistema todo ou componentes do sistema podem ter a performance testada bem cedo no ciclo. Serviços virtuais podem ser usados quando componentes não estiverem disponíveis Mais tarde no ciclo, versões finais de pré-produção dos serviços são trocados a medida que se tornam disponíveis. Os testes finais são feitos utilizando os serviços reais Solução de Virtualização em Testes fornece benefícios através do ciclo de vida de entrega de software
  20. 20. © 2013 IBM Corporation Software and Systems Engineering | Rational Incrementalmente Testando a IntegraçãoIncrementalmente Testando a Integração Serviço/App Real Serviço/App Virtual Virtualização habilita Teste Contínuos de Integração Serviços, aplicações, sistemas são introduzidos dentro do ciclo de integração contínua de forma priorizada, controlada. Solução de Virtualização em Testes tem papel chave para os Testes Contínuos de Integração
  21. 21. © 2013 IBM Corporation Software and Systems Engineering | Rational 21 Testes de Performance com Solução de Virtualização em Testes Configure & Control Execute Virtualize Analyse 1700 New Orders Type A per second 5 Cancelled Orders per second 50 Order Edits per second 1 Heartbeat per second 750 New Orders Type B per second
  22. 22. © 2013 IBM Corporation Software and Systems Engineering | Rational Ambiente e Tecnologias Suportados • ActiveMQ • Email (SMTP, IMAP) • Files • FTP/S • HTTP/S JMS (JBOSS et al) IBM WebSphere MQ • JBoss MQ • SAP IDoc, BAPI, RFC & XI/PI • Software AG’s IB & IS • Solace • Sonic MQ • TCP TIBCO Rendezvous, Smart Sockets & EMS • Custom • CentraSite • Oracle Fusion • SCA Domain • Software AG IS, BPMS • Sonic ESB • TIBCO ActiveMatrix • UDDI • Web Services • WebSphere RR • WSDL • BPM • Databases • Log Files • .Net Objects • Bytes • COBOL Copybook • ebXML • EDI • Fixed Width • HL7 • IATA • Java Objects • MIME • OAG • SOAP • Software AG Broker Docs • SWIFT • TIBCO ActiveEnterprise • XML (DTD, XSD, WSDL) • Custom Protocolos de Mensagens SOA, ESB, Outros Formatos de Mensagens Nota : Suporte a protocolo customizado pode ser desenvolvido
  23. 23. © 2013 IBM Corporation Software and Systems Engineering | Rational 23 Tipos de Aplicações Virtuais Simples Resposta Hard-coded retornada para qualquer entrada Não-determinísticos Uma-de-várias respostas hard-coded Data driven Dado de entrada e/ou saída especificado numa fonte de dados externa (Excel, arquivo, banco de dados) Model driven, stateful Dado de entrada e/ou saída mantido num modelo de dados com relacionamentos complexos. Suporta CRUD e outros comportamentos com estado Comportamental Estende model-driven para fornecer funcionalidade pré- empacotada, p.ex.: carrinho de compras, feed de dados em tempo real, trocas, ordenação
  24. 24. © 2013 IBM Corporation Software and Systems Engineering | Rational 24 Workflow da Solução de Virtualização em Testes  Usando Rational Integration Tester (parte do Rational Test Workbench) – Define-se a arquitetura do sistema na “architecture school” – Define-se protocolos • Importa-se especificações, p.ex.:. WSDL para web services • Grava-se conversas/comunicações – Define-se stubs e dados • Dados capturados durante gravação ou fornecidos em arquivo ou banco de dados – Publica-se os stubs para o Rational Test Virtualization Server (RTVS)  Dinamicamente configura-se roteamento de mensagens pelo console web do RTVS  Testa-se usando sistemas virtuais a partir de qualquer ferramenta
  25. 25. © 2013 IBM Corporation Software and Systems Engineering | Rational Solução de Virtualização em Testes: Como tudo se encaixa…
  26. 26. © 2013 IBM Corporation Software and Systems Engineering | Rational 26 Agenda  Como garantir melhor Qualidade de Software? – Do “teste” ao gerenciamento de qualidade inteligente  Solução IBM Rational de Virtualização em Testes – Rational Test Workbench – Rational Test Virtualization Server – Rational Performance Test Server  Referências – Casos de Sucesso Requirements Uma Solução Inteligente para Gerenciamento de Qualidade
  27. 27. © 2013 IBM Corporation Software and Systems Engineering | Rational Solução de Virtualização em Testes da IBM Rational tem provido resultados mensuráveis e valor ao negócio Major telecom carrier Multiple test releases required additional test resources, increasing testing costs  Solution: Virtualized services and created reusable test cases across multiple environments  Results: Reduced testing time by 50%, saving $800K over 3 years A leading global financial services firm with assets of over $2 trillion Many disparate legacy format to be migrated to next gen payments system  Solution: Virtualized third-party systems otherwise unavailable for testing  Results: Reduced manual testing from 10 days to 10 minutes, saving over $7 million to date Major U.S. insurer Recognized manual efforts insufficient for complex SOA and web services  Solution: Agile middleware solution created to match the legacy systems’ functionality  Results: Reduced testing by 95% to 2 hours; reduced ‘rate filing’ validation by 94% to 320 hours Global manufacturer acquires competitor Migrate off rented infrastructure onto company’s standardized middleware platform  Solution: Virtualized critical, unavailable systems during migration  Results: Fully integrated in 6 months – 2 months ahead of schedule; saved significant rental costs and dependencies on third-party systems
  28. 28. © 2013 IBM Corporation Software and Systems Engineering | Rational 28 © Copyright IBM Corporation 2011. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. www.ibm.com/software/rational

×