30
VIRTUALIZACIÓN DE SERVICIOS con Rational Test Virtualization Server

ExpoQA 2017 IBM Service Virtualization

Embed Size (px)

Citation preview

VIRTUALIZACIÓN DE SERVICIOScon Rational Test Virtualization Server

669584571

[email protected]

Javier Lisbona

Javier Lisbona

IBM Hybrid Cloud Tech Sales

Presentador

Entrega de softwareIntelligent/Connected SystemsComponentes software en productos inteligentes, nos conduce a un mayor valor y una mayor diferenciación

Big DataIdeas sobre nuevos productos que interpretan de manera eficiente las cantidades masivas de datos

CloudLa demanda de aplicaciones requiere entornos rápidos y escalables tanto para Desarrollo, Prueba como para Producción

Instrumented ProductsRequisitos de la industria exigen una respuesta más rápida a las regulacionesy estándares, con trazabilidad y calidad

Social BusinessCada vez más partes interesadas en ofrecer innovación y valorcontinuo

MobileDispositivos inteligentesque constantementeactualizan software paraconectarse a los sistemas empresariales

Hoy en día, la entrega de software está

en el corazón de las principales tendencias de la tecnología

Las pruebas de software se alinean

con la estrategia de los clientes

La calidad es parte esencial en todo proyecto de software

Cloud

Cognitive

Analytics

IoT

IT Infrastructure

Mobile

Security

¿Qué es la virtualización de servicios?

Los entornos de prueba pueden utilizar servicios virtuales en lugar de los servicios reales para realizar pruebas de integración más tempranoen el proceso de desarrollo.

Las pruebas de integración a menudo se retrasan debido a quealgunos de los componentes de los que depende la aplicación no están disponibles.

La virtualización de servicios permite realizar pruebas de integraciónmás tempranas y más frecuentes mediante la emulación de lasdependencias de componentes no disponibles (Shift Left).

La virtualización del servicio simula el comportamiento de ciertos componentes (que aúnno estén disponibles o sean muy costosos, por ejemplo) dentro de una aplicación parapermitir la comprobación de extremo a extremo de la aplicación en su conjunto (pruebaend-to-end).

¿Qué son pruebas de virtualización?

Test Virtualization permite crear “servicios virtuales”:

•Los Servicios Virtuales simulan el comportamiento de

una aplicación completa o sistemas durante las pruebas

•Los Servicios Virtuales pueden ejecutarse en hardware,

nube privada, nube pública

•Cada desarrollador, tester puede fácilmente tener su

propio entorno de prueba

•Desarrolladores y testers continúan utilizando sus

herramientas de pruebas (Manuales, Web rendimiento, UI

pruebas automáticas)

Cap

tura

ry

Mo

de

lar

Dependencias del sistema son un desafío clave en la creación de

entornos de prueba:

No disponibles/inacessibles: Las pruebas son limitadas debido a

las restricciones de seguridad o porque todavía están en fase de

desarrollo

Tarifas de acceso a terceros costosas: El desarrollo o las

pruebas contra los servicios compartidos basados en la nube o de

otro tipo pueden resultar muy costosos por su uso

Virtualización basada en hardware poco práctico: Los sistemas

son demasiado difíciles (mainframes) para replicar a través de

enfoques de virtualización basadas en hardware tradicionales

Entornos Heterogéneos

Nube PúblicaNube Privada

Data Warehouse Mainframe Enterprise Service Bus

Directory Identity

File systems

CollaborationApp Under TestRouting

Service

Third-partyServices Portals

ContentProviders

EJBShared

ServicesArchives

Business Partners

Messaging Services

Bases de Datos Mainframeaplicaciones

Aplicaciones a probar

Servicios de terceros

Aplicaciones empaquetadas,

servicios de mensajería, etc.

Servicios virtuales

Rational Test Virtualization Server

▪ Webservices

▪ Bases de Datos

▪ MQ Colas

▪ Mainframes

▪ Middleware

▪ y otros…

TestManagement

Automated Deployment

Rational Quality Manager Urban Code

Control de Versiones Monitorización de

aplicaciones PruebasAutomatizadas

Pruebas de Datos

Integración Continua

Rational Test Workbench y otros

BF/UC

y otrosOptim

y otros

Virtualización de Servicios

ITCAM

y otros

RTC y

otros

Y Pruebas Manuales

Virtualización de Servicios en:

✓ Mensajería MQ

✓ Aplicaciones Web

✓ Servicios Web

✓ Bases de Datos

✓ REST servicio web

✓ Aplicación Java (paquete)

✓ Llamadas Mainframe (Host tradicional)

Y, ¿cómo podemos probar las API’s que

está creando nuestro equipo de desarrollo?

Las interfaces de programación de aplicaciones (APIs) actúan como un pegamento digital que une servicios, aplicaciones y sistemas para crear experiencias de cliente atractivas. Ayudan a crear rápidamente interfaces entre los sistemas de back-end y las aplicaciones. Compartir esas interfaces con clientes y desarrolladores para poner nuevos serviciosdigitales en el mercado, abrir nuevos canales de ingresos y superar las expectativas del cliente.

IBM Rational Test Virtualization & API’s

Solución inteligente para una mejor calidad

Pruebas de software en proyectos cognitivos

Proyectos que utilizan Watson APIs

• Un escenario de cliente puede utilizar una respuesta de un servicio de Watson.

• Cada servicio de Watson tiene una API REST.

3rd party data

Test Workbench

Performance

Test Server

3rd party dataTest Virtualization Server

Pruebas de software en proyectos cognitivos

Proyectos que utilizan Watson APIs

• Un escenario de cliente puede utilizar una respuesta de un servicio de Watson.

• Cada servicio de Watson tiene una API REST.

Usando Watson con Pruebas de Software

Pruebas Inteligentes

▪ Ejecutar las pruebas correctas en los momentos correctos.▪ Ejecutar menos pruebas para encontrar problemas más rápido.▪ Seguimiento de tendencias y problemas con las banderas.

Report Builder(Query mgmt,OOTB

Reports)

DWDOORS

NG

RQM

RTC

TRS

DCC

Reports

Gadgets

Spreadsheets

Embedded

LQE

Pruebas de Software en

Proyectos“Analytic”

Test

Workbench

Las pruebas de software son una fuente esencial de datos

Pruebas de Software en proyectos IoT

(Internet of Things)

"El 68% de los encuestados con la funcionalidad de IoT no tiene una

estrategia de prueba específica paraello".

World Quality Report 2016-2017 www.worldqualityreport.com

• Aumento significativo de la dependencia de las APIs.• Realizar pruebas sobre mensajes MQTT.• Virtualizar MQTT stubs.

Message Queuing Telemetry Transport (MQTT) es un protocolo de mensajería ligerapara publicar y suscribirse, diseñado para dispositivos restringidos y redes de bajo

ancho de banda, de alta latencia o no confiables que utilizan TCP / IP. El diseño de MQTT lo hace adecuado para las tecnologías de máquina a máquina (M2M)

y la Internet de las cosas (IoT) en general.

Esperando que las migraciones alcancen su máximo durante la segunda mitad de 2017

2016 2018 2020

IBM Java 6EOS Sept 2017

IBM Java 7EOS Sept 2019

EOS = April 2018 *WAS 7.0(Java 6)

WAS 8.0(Java 6)

WAS 8.5(Java 6, 7, 8)

GA = June 2016 EOS for Java 8WAS 9.0(Java 8)

EOES = April

2021

EOS = April 2018 *EOES = April

2021

EOS for Java 8EOS for

Java 7EOS for JAVA 6

EOS for Java

9

EOS for Java

9

Pruebas de software para proyectos WebSphere

HTTP

DFDL / TCP

SAP XI 3.0

Tibco

MQ JMS

Batch File

JDBC

WebMethods

MQ

Tibco

HTTP

HTTPSJDBC

CICS TG

SalesHR

CRM

Transport

Manufacturing

INTEGRATION BUS

WEBSPHERE

APPLICATION

SERVER

Pruebas de software para proyectos WebSphere

Pruebas de Software en proyectos

“Our collaboration with IBM brings together the best of our combined

application lifecycle management market leadership and can help

customers reduce costs, manage change and improve quality across

the enterprise applications lifecycle.”

Uwe Hommel, Executive Vice President, SAP

• Clientes SAP están migrando a HANA y S4/HANA:

• La migración de programas e integraciones ABAP a HANA requiere un extenso cambio de código.

• La migración media de un escenario a S4 / HANA es actualmente de seis meses. La mayoría de las pruebas son manuales.

• HTML5

• Aplicaciones Nativas

Pruebas de Software en proyectos “Mobile”

Validar escalabilidad

Validar entorno

Validar escenarios

Interrupción del

Mercado

Obliga al acceso de la API a los sistemas de procesamiento de pagos y

a los datos de la cuenta de los proveedores de terceros registrados

¡Antes de Enero 2018!

Payments Services Directive 2 (PSD2)

Cambio en la Regulación

Pruebas de software para proyectos

Bancarios y FinTech

Financial Technology, también conocida como FinTech, es una industria compuesta de empresas que utilizan las nuevas tecnologías y la innovación con los recursos disponibles para competir en el mercado de las instituciones financieras tradicionales y los intermediarios en la prestación de servicios financieros.

“Migración de la plataforma de middleware de Tibco a WebSphere” >

“Desarrollar una capacidad para recibir el pago de una nueva oferta” >

New

application

Central bankCHAPS

Settlement servicesBACS

EURO1

Input/output

TibcozOS

SAP CRM MT 204

MastercardSimplify Commerce

Client facing

application

Central bankCHAPS

Settlement servicesBACS

EURO1

input

output

WebSphere

zOS

SAP CRMMT 204

MastercardSimplify Commerce

Pruebas de software para proyectos

Bancarios y FinTech

Blockchain “transformará el mundo”

Ginni Rometty, IBM CEO

Transacción enviada a una API

Recibir confirmación de API que Blockchain se ha actualizado

1. Transaction validated against rules

2. Insertion order agreed

3. Blockchain updated and distributed

Bc001

bc002

(3rd party) Desarrolladores de integración

Desarrolladores Smart contract

Desarrolladores de aplicaciones de interfaz de usuario

Desarrolladores Blockchain fabric

(3rd party) Desarrolladores de integración

Desarrolladores de aplicaciones de interfaz de usuario

Bc002

bc003

bc001

Bc003

bc004

Virtualización de Servicios en:

Probar nuestras APIs (API Connect)

Proyectos que utilizan Watson APIs

Pruebas Inteligentes con Watson

Pruebas en proyectos analíticos “Analytics”

Pruebas en proyectos IoT “Internet de las cosas”

Pruebas en proyectos Websphere

Pruebas en proyectos SAP

Pruebas en proyectos de dispositivos móviles “Mobile projects”

Pruebas de software para proyectos bancarios y FinTech

Pruebas de software en proyectos de Blockchain

Principios de las pruebas de software para que la

calidad no sea un cuello de botella para acelerar

Prueba tan pronto como sea posible en entornos de

producción

Automatiza y ejecuta continuamente durante la vida del proyecto.

Automatizar pruebas de Software

Shift Left

Prueba como parte del proceso de implementación

Shift Right

Magic Quadrant for Software Test AutomationPublished: 15 November 2016

Modern Application Functional Test Automation ToolsPublished: 5 December 2016

IBM está clasificada como líder en

herramientas de prueba de software por analistas

© 2017 IBM Corporation

DEMO

DEMO:

Reserva en una aplicación web de hoteles

Un usuario reservará un hotel en un destino. La web HotelFinder permite al usuario ver una lista de hoteles que están disponibles en dicha

ciudad entre un par de fechas dadas. Tomcat proporciona esta lista al usuario. El servicio web HotelFinder es llamado por el Tomcat.

Dicho servicio se ejecuta en el servidor de aplicaciones WAS WebSphere Application Server.

Tomcat HotelFinder web service

Vacation Booking webapp

SOAP/HTTP bookHotelgetHotels

Venga, síguenos…no lo dejes para mañana

IBM Software Testing

• https://developer.ibm.com/testing

▪ Identificar las dependencias de software que generan cuellos de botella en tus pruebas.

▪ Priorizar la virtualización de las dependencias que ofrecen mayor beneficio con la menorcantidad de esfuerzo requerida.

¿Por dónde deben comenzar los equipos

al adoptar la virtualización de servicios?