Optimising DevOps: Making Test Ready for Continuous Delivery

15
www.ranger4.co m DevOpstasti c Optimising DevOps Making Test Ready for Continuous Delivery

description

One of our DevOps trio of tools for change, In this slide we look at how testing and how to make test ready for Continuous Delivery.

Transcript of Optimising DevOps: Making Test Ready for Continuous Delivery

Page 1: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com

DevOpstastic

Optimising DevOps

Making Test Ready for Continuous Delivery

Page 2: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Complexity…. Made Simple!• Multiple layers of

technology

• Multiple vendor platforms

• Complex transactions

• Complex dependencies

• Multiple stakeholders

Page 3: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

The future of testing: IBM Rational solutions

• IBM Rational Integration Tester–Enable functional, performance and integration testing throughout your project lifecycle. –With a scriptless, wizard-driven test authoring environment and support for more than 70 technologies and protocols,

• IBM Rational Test Virtualization Server–Model real system behavior to eliminate test dependencies and simulate production, –Accelerate testing and reduce the setup and infrastructure costs of traditional testing environments.

• IBM Rational Performance Test Server–Save time and effort by reusing your functional integration tests for performance testing–Combine your tests to model real-world scenarios and assess the impact of load on your integrated infrastructure.

RationalIntegrationTester

Functional TestingIntegration Testing

Performance TestingRegression Testing

Test Servers

Load AgentsVirtualization Agents

Test Lab Infrastructure

QA DEV

Page 4: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Continuous Testing with Virtualized ServicesUsing IBM UrbanCode Deploy with IBM Rational Test Workbench (Green Hat)

Databases Mainframeapplications

Third-partyServices

Rational Test Virtualization Server

Deploy

Application changes

being tested

virtualized services

Dev QA

Rational Team Concert

Build

Deploy

Rational Test Workbench

Test

Configure

IBM UrbanCode Deploy

RTW plugin RTVS plugin

IBM Build Forge

Page 5: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

UrbanCode “Green Hat” Plugin

• Environment Management (dynamically set environment variables)

• Run Integration Tests (i.e. continuous test)• Start / Stop Stub (plug any gaps in the “real”

environment)• Start / Stop Scenario (multiple stubs started to set

“scenario” for environment)

• Simple generic ANT script generation and RESTful interface capability for other CI tools interoperability

Page 6: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Example: Virtualizing services in a component process from within UrbanCode Deploy via “Green Hat” plugin

Page 7: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Continuous DeliveryExecute test assets in headless mode

– Regression test new code quickly– Nightly test cycles– Build/Deploy/Test/Report

Virtualise

Integrate into new or existing process– Command line execution– ANT task integration with Jenkins, CruiseControl, Bamboo, etc– Native integrations RTC, RQM, HP QC etc

Rational Integration Tester reports served into a web browser (via RTCP)

Page 8: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Continuous Testing and Service Virtualization

• Virtual components simulate the behavior of a service or application during testing

– System dependencies are a key challenge in setting up test environments

– Unavailable/inaccessible services slow down the testing process

– Costly 3rd party access fees can significantly impact testing availability

• Virtual components run on commodity hardware, private cloud, public cloud

• Each developer and tester can easily have their own test environment

• Developers and testers can continue to use current testing procedures and tools

• Streamline creation of production-like environments and negative testing

8

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 Components

Page 9: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com

DevOpstastic

“Green Hat” Concepts

• What it’s all about. Inject; observeTEST

• The fastest way to build tests and stubsRECORD

• Observe without consuming (typically in a test)WATCH

• The act of creating a simulation (stub) of a service [for testing reasons]VIRTUALIZE

• The ability for a stub to decide whether to process a message or give it to the real service

SIFT-AND-PASS-THROUGH

• Populating Tester with information from external middlewareSYNCHRONIZE

• Transports move messages; content is the message

TRANSPORT VS CONTENT

Page 10: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Test Management UI Testing Defect

ManagementSource Control

Rational Integration Tester

WebServices

TIBCORV/EMS

SOAP/XMLOver JMS JMS IBM

MQweb

MethodsBPM TCP/IP JDBC

DataManagement

ContinuousIntegration

Where does “Green Hat” fit?

Page 11: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

No need to modify application code

Variety of tools to enable creation of virtual service eg recording

Frees projects from external constraints eg databases, app servers

Simplifies management of Stub execution

Enables traceability over where stubs are running

Provides audit of who ran stubs and when

Enables simple versioning of stubs

Removes delays caused by late delivery of external interfaces

Speeds up development of stubs for testers and developers

Stubs can be reused and embellished to support different test cycles

Allows control over datasets being used across an environment

Enables erroneous data to be played back into systems

Removes the need for costly 3rd party interface leasing

Let’s developers get on with developing code not stubs

Puts testers back in control and removes dependency on other teams

Easily simulate “+1” changes to interfaces and environments

Enables multi interface, complex and stateful simulation easily

Limits risk and lowers integration issues when going into production

Page 12: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Supported Technologies

Messaging Protocols• HTTP(S)• WebSphere MQ• Java RMI (virtualization

only)• JVM (virtualization only)• MQTT• JMS• REST• SAP IDOC, BAPI, RFC, XI

3.0• Software AG’s IB & IS• Sonic MQ• TCP(S)/IP• TIBCO Rendezvous,

Smart Sockets & EMS• CICS TG• CICS DPL• CICS IPC• IMS Connect• ActiveMQ• Email (SMTP, IMAP)

(testing)• Files• FTP/S

SOA, ESB, Others

• Software AG IS, Broker, BPMS

• WebSphere Application Server

• WebSphere Message Broker

• WebSphere MQ• WebSphere SI Bus• WebSphere RR• SystemZ (CICS and IMS)• TIBCO ActiveMatrix• Sonic ESB• UDDI• Web Services / REST

(WSDL/WADL)• Databases• Log Files• CentraSite• Oracle Fusion• SCA Domain

Message Formats

• COBOL Copybook• ASC X12• UN/EDIFACT• DFDL• ISO 8583• FixedWidth• Java Objects• JSON• MIME• SOAP• Software AG Broker Docs• SWIFT• CHIPS• FedWire• TIBCO Active/Enterprise• XML (DTD, XSD, WSDL,

WADL)• .Net Objects• Bytes• ebXML• Custom

Page 13: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com

DevOpstastic

ROISHIFT LEFT• Earlier testing• More risk mitigated • Defects cost significantly less to find and fix

REDUCED TEST ENVIRONMENT COSTS• Reduced overhead on physical resources and support• Reduced overhead building test environments

INCREASED QUALITY• More defects fixed; fewer production defects• Integration defects carry the most risk in modern software

solutions. Validate the integration well before end to end testing is possible.

Page 14: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

Case Study Banking Industry, ~120 interfaces

14

160k

96K110

160

205

60K

34 4

5

322

10.3

Page 15: Optimising DevOps: Making Test Ready for Continuous Delivery

www.ranger4.com DevOpstastic

BREAK