Post on 22-Apr-2015
description
© 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
© 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 SucessoRequirementsUma Solução
Inteligente para Gerenciamento de
Qualidade
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Hoje, Software conduz inovação para um mundo mais inteligenteTransformando a forma que nós vivemos, trabalhamos, e atuamos
3
© 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, 2011Based on 675 companies, 35 government/military groups, 13,500 projects, 50-75 new projects/month, 24 countries, 15 lawsuits
© 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ávelDe 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 CloudPrivate Cloud
Data Warehouse MainframeEnterprise
Service Bus
Directory Identity
File systems
Collaboration
Web/Internet
Routing Service
Third-partyServices Portals
ContentProviders
EJB
SharedServices
Archives
Business Partners
Messaging Services
TraditionalTesting
Other costs
Testing costs
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Melhor qualidade do software requer novo focoEvoluindo 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
© 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Tempo/ Prazo
Qualidade
Custo
Risco
Automação deTestes Multicanais
1
Continuous IntegrationTesting & Delivery
2Smarter Testing
3
O que é mandatório para um efetivo Gerenciamento de Qualidade?
© 2013 IBM Corporation
Software and Systems Engineering | Rational
9
Significativamente 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 RationalUma Solução Inteligente para Melhor Qualidade
© 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 SucessoRequirementsUma Solução
Inteligente para Gerenciamento de
Qualidade
© 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)
Ca
ptu
ra & M
od
ela
Ca
ptu
ra & M
od
ela
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 custosasImpraticá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 CloudPrivate Cloud
Data Warehouse MainframeEnterprise
Service Bus
Directory Identity
File systems
Collaboration
App Under TestRouting Service
Third-partyServices Portals
ContentProviders
EJB
SharedServices
Archives
Business Partners
Messaging Services
Databases Mainframeapplications
App Under Test
Third-partyServices
Packaged apps, messaging services, etc.
Virtual Services
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes da IBM RationalUma 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-partyServices
Packaged apps, messaging services, etc.
Rational Test Virtualization Server
Rational Test Workbench
Developers & Testers
Rational Performance Test Server
© 2013 IBM Corporation
Software and Systems Engineering | Rational
IBM Quality Management Portfolio
Rational Quality ManagerTest 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
MobileTeste de
Performance Teste de Integração e Virtualização em Testes
Dados de Testes
Segurança e Conformidade
Rational Test WorkbenchRational [Performance] Test [Virtualization] Server
AppScanOptim
© 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Desafio: Limitações no ciclo de vida de desenvolvimento e de testesAmbiente 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-IOProblema:Restrições que penetram no desenvolvimento e limitam a produtividade dos testes
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução: Virtualização em TestesVirtualizaçã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
© 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. access window
Maintenance Constraints
Database / JDBC
Server/ Web Services
Mainframe / MQ/CICS
Smart Device / 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Testes de Integração – Contínuos e Incrementais
Interface do Usuário
Lógica deNegócio
CamadaTécnicaServiço
Backend/Bases de
Dados
TestDriver
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
© 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
© 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
21
Testes de Performance com Solução de Virtualização em TestesConfigure &
ControlExecute 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Ambiente e Tecnologias Suportados
• ActiveMQ
• Email (SMTP, IMAP)
• Files
• FTP/S
• HTTP/SJMS (JBOSS et al)IBM WebSphere MQ
• JBoss MQ
• SAP IDoc, BAPI, RFC & XI/PI
• Software AG’s IB & IS
• Solace
• Sonic MQ
• TCPTIBCO 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
© 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
© 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
© 2013 IBM Corporation
Software and Systems Engineering | Rational
Solução de Virtualização em Testes: Como tudo se encaixa…
© 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 SucessoRequirementsUma Solução
Inteligente para Gerenciamento de
Qualidade
© 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
© 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