Virtualização e Testes contínuos
Transcrição
Virtualização e Testes contínuos
Enabling Product and Service Innovation | Rational Maior velocidade e melhor qualidade na implantação de aplicações - Virtualização e Testes contínuos Jan, 2013 [email protected] [email protected] 1 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational O Desafio de Negócio Garantir a qualidade de sistemas complexos, integrados, heterogêneos exige que todos os serviços/aplicativos e hardware estejam disponíveis para a realização de testes de sistemas e de integração Assim: – Custos de setup e manutenção altos: • Salários e equipe • Hardware • Software • Taxas para acessar sistemas externos, de terceiros – Normalmente só realizado uma vez, ao final do ciclo de desenvolvimento, o que resulta em descoberta tardia de significativos problemas de integração/arquitetura A complexidade está escondida sob a superfície – Uma barreira à adoção de métodos ágeis 2 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational E é difícil configurar os ambientes de testes 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 3 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Velhos Tempos – para quem se lembra… Times pequenos Trabalhando juntos, no mesmo andar Aplicações monolíticas Menor pressão de tempo 4 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Os times de desenvolvimento ficaram ágeis …Mas o resto da organização, presos no passado FreeDigitalPhotos.net 5 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational O Jogo….. Requistos Big Bang na integração Testes Unitários Testes de Testes de integraçao Sistemas T. Aceite Usrs T. Oper Performance © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Forma Forma tradicional de se realizar testes mascara o problema Testadores ficam esperando a interface gráfica ficar pronta para iniciarem os testes Definição não clara de responsabilidades e pouca colaboração entre áreas de desenvolvimento, testes e produção gera silos e atritos. Todas as integrações entre diferentes sistemas também precisam estar prontas, caso contráro bloqueiam o trabalho Difícil e demorado isolar em que componente ocorreu o erro Teste de ponta a ponta tipicamente só é realizado uma única vez, antes da produção, 7 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Por que mudar a maneira de abordar a Qualidade? Custo da Qualidade em constante elevação Aumento da Complexidade no Desenvolvimento Nuvem Pública Nivem Privada Web/ Routing Service Collaboration Internet Testing costs Third-party Services Portals Directory Identity Other costs Content Providers Archives Data Warehouse File systems Mainframe EJB Business Partners Shared Services Balanceamento entre Qualidade e Velocidade Métodos tradicionais de testes Messaging Services Enterprise Service Bus Heterogeneous Environments 13% Previsão de aumento sálarios Mao de obra de TI na India * $5-30 milhões O inevstimento tipico para criar lab de testes para uma empresa na Fortune 500 company. Maioria tem dezenas de labs b… 30-50% O tempo médio gasto em mntagem de ambientes de testes, ao invés de realizar os testes Source:http://www.sei.cmu.edu/abo ut/message/ 8 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Abordagens para Testing is a Bottleneck Modernização dos for Agile Development Testes 9 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Técnica #1: Virtualização para eliminar dependências Exemplo: Restrições durante o desenvolvimento e testes Physical Test Environment Restrição de Manutençao Servidor/ Web Services 2hr. Janela acesso Mainframe / MQ/CICS Sistema em teste (SUT) Restrições de Volume Problema: Restrições que permeiam o desenvolvimento e testes limitam a agilidade e produtividade 10 Smart Device / SD-IO Restrições de Custos Database / JDBC © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Os serviços virtualizados podem ser disponibilizados para diferentes ambientes Physical Test Environment Maintenance Constraints Model and Deploy Live / Virtual Server/ Web Services 2hr. access window Mainframe / MQ/CICS Volume Constraints Smart Device / SD-IO Volume Constraints System Under Test Test Case Repository Database / JDBC Capture & Modele Capture & Modele Capture & Modele Web Services Web Services Web Services MQ/CICS MQ/CICS MQ/CICS Smart Devices 11 JDBC Virtual services for Development Smart Devices JDBC Virtual services for System Test IBM Internal Use Only Smart Devices JDBC Virtual Services for Integration Test © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Use Virtualização em Testes para Isolar os subsistemas Public Cloud SUT App Under Test Content Providers Collaboration Third-party Services Archives Portals EJB Business Partners Shared Services Messaging Services File systems Directory Identity Data Warehouse Mainframe Enterprise Service Bus Capture Capture & Modele Modele & Routing Service Private Cloud Databases Mainframe applications Third-party Services Packaged apps, messaging services, etc. Virtual Services Heterogeneous Environments Virtualização em Testes possibilita a simulação do comportamento de uma aplicação toda durante os testes Componentes virtuais podem ser executados a partir de qualquer máquina, nuvem privada, nuvem pública, para prover ambientes de testes flexíveis Desenvolvedores e testadores continuam a usar suas ferramentas de testes © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Benefícios da Virtualização em Testes Ambientes privados de Testes Integrados Elimina dependências de outras aplicações – descobre-se mais cedo os problemas de integração Minutos para disponibilizar ambientes, ao invés de dias Desenvolvedores /testadores ganham autonomia para criar suas áreas de trabalho Reduz a necessidade de conhecimento das aplicações envolvidas para se conseguir testar o sistema em teste. Atrasos devido a falta de recursos diminui Estabelece padronização e reuso – stubs como ativos que podem ser compartilhados pelo time todo © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Técnica #2: Realizar Testes de Integração de Modo Contínuo e Incremental “Driver” Dos Testes Lógica De Negócio Camada De Serviços Técnicos Backend/ Databases Interface do usuário 14 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Virtualizar para Realizar Testes Integrados de Forma Contínua No teste de integração validam-se os testes de mensagens, dados das mensagens e interações entre serviços. Serviço/Aplic real Serviço/Aplic virtual Serviços, aplicações, sistemas são introduzidos seguindo uma priorização, de forma contínua, num ciclo de integração. Testes de integração de forma contínua e incremental 15 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Benefício dos Testes de Integração de forma Contínua Deteção de erros mais cedo e correção mais barata Resolução de problemas é acelerada Redução de overhead ( apontamento de defeitos, priorização) para problemas em testes de regressão Possibilita desenvolvimento paralelo de componentes, com o mínimo de problemas de integração © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Técnica #3: O Processo deve prever a integração e testes de forma contínua, repetidas vezes Não gastar tempo instalando e configurando software só para descobrir problemas de build “Smoke tests” podem fazer parte do processo, através do processo de integração contínua, através da automação e da virtualização em testes. Incluir testes de regressão no processo, de modo a diminuir o tempo para correção dos defeitos. Ambiente Nuvem CRM Order Mgr Gerenc VM de lab Virtual Catalog Build Ativos de Software App Server Maquinas Virtuais •Smoke •Smoke Tests Tests •Sandboxes •Sandboxes •Self-provisionning •Self-provisionning Incremento No Produto © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Mudanças de Processo Eliminar os silos - todos – compartilhando mesmos marcos e visão comum – criar ambinete colabrativo • Implementar controle de liberação do SUT • Coordenar atividades de desenvolvimento e de testes e implantação. • Testadores participando do projeto desde seu início Mudar o papel dos testadores: escreverem e automatizarem testes ao invés de realizarem eles mesmos todos os testes. Realizarem testes exploratórios © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Virtualização de Aplicações traz benefícios para todo o ciclo de vida do software Desenvolvedor usa os serviços virtuais para testes unitários na sua máquina – não precisam de ambiente de testes elaborado. Defina que serviços e aplicações devem ser virtualizados Unit Unitário Integration Integração Desenvolvedores usam os serviços virtuais para realizar testes avançados o mais cedo possível. System Sistema System Integration Integração de Sistemas User Acceptance Aceite Usuário Operability Operação Performance Pode-se fazer testes de performance de todo o sistema ou em parte dele, logo no início do ciclo. Serviços virtuais podem ser usados quando componentes reais não estão disponíveis. No final do ciclo, no ambiente de pré-produção, os serviços virtualizados são substituídos pelos reais, à medida que eles são disponibilizados. Teste final é realizado usando-se todos os serviços reais. © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Mudança no Jogo….. • Acelera os Testes • Reduz custos • Diminui riscos Requistos Testes Unitários Big Bang Testes de Integração Testes de Testes de Sistemas Sistemas T. Aceite Usrs T. Oper Performance © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Disciplinas Aceleradores Gerenciamento do ciclo de vida de ponta a ponta. Agile Agile com Rational Entrega contínua ALM para TI RM Design SCM Build QM Stage Monitor CM Ciclo de Vida Planejamento Design Desenvolv. Homologação/ Produção © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Virtualização e Testes de Integração com Rational Rational Test Workbench isé uma solução desktop que permite que testadores e desenvolvedores: – Capturem and modelem serviços virtuais Desenvolvedoress Testadores – Test services and applications long before their user interfaces becomes available and do integration testing (SOA, BPM) Rational Test Workbench Rational Test Virtualization Server: – Provê um ambiente central para virtualizar hardware, software and servios para possibilitar testes 24x7 – Reduz custo de infraestutura de testes Rational Performance Test Server – Serviços Virtuais podem ser construído a partir da definição da intreface numa gama de protocolos :HTTP, web services, SOA, JMS, TIBCO, IBM WebSphere MQ, Oracle, etc. Rational Performance Test Server possibilita que usuários Rational Test Workbench reusem scripts de testes para realizarem testes de performance App Under Test – Pode ser usado junto com Serços Cirtuais – Identificação de gargalos Databases Mainframe applications Third-party Services Packaged apps, messaging services, etc. Rational Test Virtualization Server © 2012 IBM Corporation Enabling Product and Service Innovation | Rational IBM Rational Test Virtualization - Workflow Com RTW – Define arquitetura do sistema via “architecture school” – Define protocolos • Importa especificações, e.g. WSDL para serviços web services • Grava a troca de mensagens – Define stubs e dados • Dados capturados durante gravaçao ou via arquivo/banco de Dados/ Optim • Publica os stubs no Rational Test Virtualization Server (RTVS) Configura o roteamento dinâmico da mensagem a partir da console web do RTVS Testa usando sistemas virtuais 23 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Tecnologias e Ambientes Suportados Protocolos • • • • • • • • • • • • • • • • • 24 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 29 West LBM SOA, ESB, Outros • • • • • • • • • • CentraSite Oracle Fusion SCA Domain Software AG IS, BPMS Sonic ESB TIBCO ActiveMatrix UDDI Web Services WebSphere RR WSDL • • • BPM Databases Log Files Formatos • • • • • • • • • • • • • • • • • .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 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Virtualização para Qualidade e Velocidade Descoberta erros Custo dede setup e de integração maisdos cedo manutenção ambientes Atrasos causados pela Isolamento e resolução indisponibilidade dos de defeitos mais cedo e sistemas mais barato v Riscos de atrasos e perda Libera os testadores para de oportunidades de os testesnegócio propriamente ditos v v v v v A Virtualização possibilita a realização de testes de integração de forma contínua, desde o início do ciclo de desenvolvimento/manutenção © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Gerenciamento de Qualidade com Rational 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 Administration: Users, projects, process Collaboration Presentation: Mashups Unit Testing Discovery Search & Query Storage Open Lifecycle Service Integrations Integration Testing Functional Testing Performance Testing Test Virtualization Security and Compliance 26 26 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Test Virtualization Solution Industry Map Sector Financial Industrial Clients Case Studies/ Win Flashes Banking Insurance E&U Government (em processo de publicação) Public Education (em processo de publicação) Healthcare (em processo de publicação) Communications Communications Service Providers Distribution Retail (em processo de publicação) • Supports Industry-specific protocols and message formats: SWIFT, FIX, Fedwire, IATA, HL7, EDI etc. 27 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational IBM Rational Test Virtualization Solution has proven measureable results and business value Indústria de Telecomunicação Váriadose frequentes releases required requerem recursos adicionais, aumentando custos de testes Solução: Virtualizar serviços/sistemas e reutilizar casos de testes para diferentes ambientes Resultados: Redução do tempo de testes em 50% , economizando US$800 ao longo de 3 anos. Companhia de Seguros americana Percebeu que testes manuais não se aplicam a testes em ambientes complexos, com SOA e web services Empresa lider em serviços financeiros, com ativos superiores a US$3 trilhões Diversos formatos antigos precisaram ser migrados para um novo sistema de pagamentos Solução: Virtualização dos sistemas externos, não disponíveis para testes Resultados: Redução do tempo de testes manuais de 10 dias para 10 minutos, gerando economia de mais de US$ 7milhões até o presente momento. Global manufacturer acquires competitor Migrate off rented infrastructure onto company’s standardized middleware platform Solução: Criação de um ambiente, para simular as funcionalidades de sistemas legados. Solution: Virtualized critical, unavailable systems during migration Resultados: Redução do testes na ordem de 95% testing by 95% to 2 hours; reduced ‘rate filing’ validation by 94% to 320 hours Results: Fully integrated in 6 months – 2 months ahead of schedule; saved significant rental costs and dependencies on third-party systems © 2012 IBM Corporation Enabling Product and Service Innovation | Rational Recursos What is Service Virtualization http://www.youtube.com/watch?v=Np5_O43BFD4&list=PLEE1757606E9348F5&in dex=1&feature=plpp_video What is Continuous Integration Testing http://www.youtube.com/watch?v=wGOogTsOtc4&list=PLEE1757606E9348F5&in dex=3&feature=plpp_video When to you Service Virtualization http://www.youtube.com/watch?v=j1f5vP3gCIM&list=PLEE1757606E9348F5&inde x=2&feature=plpp_video Info produtos: http://www-01.ibm.com/software/rational/products/rtw/ http://www-01.ibm.com/software/rational/products/rpts/ http://www-01.ibm.com/software/rational/products/rtvs/ \ Datasheets em português [email protected] 29 © 2012 IBM Corporation Enabling Product and Service Innovation | Rational [email protected] [email protected] 30 © 2012 IBM Corporation