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