40
Mainframe Application Testing Both With and Without Live Data Session 3193

Mainframe Application Testing both With and Without Live Data

Embed Size (px)

Citation preview

Page 1: Mainframe Application Testing both With and Without Live Data

Mainframe Application Testing Both With and Without Live Data Session 3193

Page 2: Mainframe Application Testing both With and Without Live Data

Please Note:

1

• IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

• Information regarding potential future products is intended to outline our general product direction and it should not be relied on in

making a purchasing decision. • The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any

material, code or functionality. Information about potential future products may not be incorporated into any contract. • The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. • Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual

throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: Mainframe Application Testing both With and Without Live Data

• John Chewter, IBM – STSM, Chief Architect – API Testing & Service Virtualization

• Bill Alexander, IBM – Architect – Rational Developer for z Systems

2

Introduction and background

Page 4: Mainframe Application Testing both With and Without Live Data

• Shift Left testing – RTW overview

• Modern mainframe application development – RDz overview

• Example application – Intro to zMobile Health Care app

• SQL event virtualization – RDz, RIT and DB2 – Real data and virtualized data

• CICS program virtualization – RDz, RIT and CICS – Real programs and virtualized program stubs

• Test from the web service interface – RDz and Generic Service Client using JSON/HTTP – Real data and virtualized data

• Wrap up 3

Agenda

Page 5: Mainframe Application Testing both With and Without Live Data

Rapid iterations

Develop Build Test Deploy Production

API Catalog

Develop Build Test Deploy

Slower iterations

Production

Systems of Interaction

Systems of Record

Digital Applications

Enterprise Applications

The Multispeed IT Problem

The customer asks: How do we test these scenarios?

Page 6: Mainframe Application Testing both With and Without Live Data

Typical Challenges

Agile Agenda

IT Complexity

New technologies Iterative delivery Fast paced Lots of Integration

Legacy Estate Large scale Complexity Longer delivery

schedules

Financial Constraints Fewer people Cloud Services Value for money

Delivery Delays Increased Cost

Increased Delivery Risk

Loss of expertise Delivery commitments New operating models Ownership of Quality

Change in Supplier/Governance

Page 7: Mainframe Application Testing both With and Without Live Data

Continuous Delivery Teams need to automate at every layer

Continuous Testing

Page 8: Mainframe Application Testing both With and Without Live Data

• 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 Test Workbench Support functional, performance and integration

testing throughout your project lifecycle

With a script less, wizard-driven test authoring environment and support for more than 70 technologies and protocols

Load Agents Virtualization Agents

QA Team

On Premises

Test Workbench

Functional Testing Integration Testing Performance Testing Regression Testing Mobile Testing Test

Servers

ABOUT THE SOLUTION – 1/2…RTW

Virtual Service Engines Performance Engines

On Cloud {

Hybrid

Dev Team

Page 9: Mainframe Application Testing both With and Without Live Data

Modern mainframe application development – traditional resources

8

IBM Rational Developer for z Systems Easy access to mainframe resources Advanced editors and program understanding tools Improved code quality through static analysis Unit testing tools Remote debugging SCM integration

Page 10: Mainframe Application Testing both With and Without Live Data

Modern mainframe application development – data tooling

9

IBM Rational Developer for z Systems Easy access to databases Edit tables, Load/Extract data, Run SQL, Generate DDL, Create Stored Procedures Additional capabilities when IBM Data Studio is also installed

Page 11: Mainframe Application Testing both With and Without Live Data

Modern mainframe application development – service enablement

10

IBM Rational Developer for z Systems Enterprise Service Tools perspective is used for service enabling traditional mainframe applications Advanced editors for JSON, WSDL, XML, XSD Wizard driven tools for easy creation and deployment of web service artifacts Generic Service Client and Web Services Explorer for service testing

Page 12: Mainframe Application Testing both With and Without Live Data

11

Monitors the user's physical and mental well-being

Reminds the user when to take his or her medications and receives confirmations

Uses Bluetooth for collection of biosensor information (heart-rate and EEG)

Performs real-time graph analytics of the user's collected biometric and electro-encephalogram (EEG) data

Runs on Android and iOS mobile devices

Example application

Page 13: Mainframe Application Testing both With and Without Live Data

Dev environment overview

• RDz and RIT installed on workstation

• Rational Test Control Panel (RTCP) – Web dashboard for managing stubs, agents, proxies – Contains tools for use in various environments

• CLIP agents for DB2 on z virtualization • CICS agents for (DPL) LINK virtualization • MQ, HTTP, JDBC, CTG and other agents

12

RDz RIT

Developer Workstation

RTCP CLIP Agent front end

Developer Workstation Or Network Computer

HTTP

In v8.7+ RTCP tools replace Rational Integration Tester Platform Pack

Page 14: Mainframe Application Testing both With and Without Live Data

SQL event virtualization for programs that access DB2 on z

13

Page 15: Mainframe Application Testing both With and Without Live Data

Dev and Test environment overview

14

• Compiled Language Interceptor Processor (CLIP) – A two part distributed agent – Front end on a Linux or Windows workstation

• One front end agent is capable of servicing multiple z/OS hosts, DB2 subsystems and users

– Back end runs in the address space of your z/OS application

• CADP transaction in CICS – Manages profiles for intercepting DB2 calls – Using CADP web interface allows for auto profile

creation

DB2 COBOL

CICS

CADP CLIP Agent back end

User Application

RDz RIT

Developer Workstation z System

RTCP CLIP Agent front end

Developer Workstation Or Network Computer

TCPIP HTTP

In a batch scenario, CADP is not used . Instead use the TEST option with specific parameters for RIT.

Page 16: Mainframe Application Testing both With and Without Live Data

Using RIT to prepare for DB2 virtualization

• Architecture School – Create logical DB2 on z resource

• New > General > Database Server

– Create physical binding to z/OS, DB2, CICS and CADP • Set Binding in > environment > Create new database

• Recording Studio – Monitor the logical DB2 on z resource

• Make sure the CLIP agents are running • Make sure the CADP profile is Active

– Record DB2 data • Execute the live application

– Save data into a database stub 15

Page 17: Mainframe Application Testing both With and Without Live Data

Modify and Create test data

16

• Test Factory – Edit the database stub, using common tools – Modify recorded test data – Create new test data – Run the stub

• Data from the stub is used without restarting the application itself

• Progress bar shows how often the stub is accessed

Page 18: Mainframe Application Testing both With and Without Live Data

17

• Run the CICS transaction – Without the stub active – Requests flow to actual database tables – Newly created (virtual) data does not exist

• Run the CICS transaction – With the stub active – Requests flow to the stub, not the database

• Pass-through is also available

– Newly created (virtual) data is returned

Test the 3270 transaction

Page 19: Mainframe Application Testing both With and Without Live Data

Example application + DB2 virtualization

18

z/OS

CICS Web Services

CICS

Presentation logic

Add / Update

Browse

3270 Client

DB2

• Test early • Test often • Test in isolation • Reduce wait time

Page 20: Mainframe Application Testing both With and Without Live Data

Bonus slide – MVS Batch DB2 virtualization

19

• Architecture School – Create logical DB2 on z resource – Create physical binding to z/OS, DB2

• Recording Studio – Monitor the logical DB2 on z resource

• Make sure the CLIP agents are running

– Record DB2 data • Execute the live application

– Save data into a database stub • Test Factory

– Edit the database stub, using common tools – Run the stub

• Include CLIP agent backend on SYSLIB • Include TEST option and host:port for CLIP agent front end • Include Environment variable for DBRM file location • Include Environment variable for DB2 subsystem ID

Page 21: Mainframe Application Testing both With and Without Live Data

CICS Program LINK (DPL) virtualization

20

Page 22: Mainframe Application Testing both With and Without Live Data

Dev and Test environment overview

21

• Rational Integration Tester CICS TS Agent – A two part agent for z/OS – RITEXITC

• CICS exit which monitors DPL Calls • One per CICS region

– RITAGENT • Batch service that sets up communication to the exit • One per LPAR

COBOL CICS

RITEXITC

RITAGENT

User Application

RDz RIT

Developer Workstation z System

RTCP

Developer Workstation Or Network Computer

TCPIP HTTP

Currently only COMMAREA is supported. Channel and containers is not supported.

Page 23: Mainframe Application Testing both With and Without Live Data

Using RIT to prepare for DPL virtualization

• Architecture School – Create logical CICS region

• New > IBM > IBM CICS Region

– Create physical binding to CICS • Set Binding in > environment > Create new IBM CICS Server

– Create Recording Filters

• Recording Studio – Monitor the logical CICS region

• Make sure the RITAGENT is running

– Record data used in Program LINK • Execute the live application

– Save data into a stub 22

Page 24: Mainframe Application Testing both With and Without Live Data

Modify and Create test data

23

• Test Factory – Edit the stub, using COBOL data structure layout – Modify recorded test data – Create new test data

– Run the stub

• Data from the stub is used without restarting the application itself

Page 25: Mainframe Application Testing both With and Without Live Data

24

• Run the CICS transaction – Without the stub active – Requests flow to actual program – Actual program is executed

• Run the CICS transaction – With the stub active – Requests flow to the stub, not the program

• Pass-through is also available

– Actual program does not have to be ready – Newly created (virtual) data is returned

Test linking to the program

Page 26: Mainframe Application Testing both With and Without Live Data

Example application + DPL virtualization

25

z/OS

CICS Web Services

CICS

Presentation logic

Add / Update

Browse

3270 Client

DB2

• Test early • Test often • Test in isolation • Reduce wait time

Page 27: Mainframe Application Testing both With and Without Live Data

CICS web service virtualization

26

Page 28: Mainframe Application Testing both With and Without Live Data

Dev and Test environment overview

27

• Rational Integration Tester HTTP Proxy – IBM RIT HTTP Proxy Service

• Configured via registration.xml file • Started by default, but can also use start.bat

COBOL CICS

User Application

RDz RIT

Developer Workstation z System

RTCP HTTP Proxy

Developer Workstation Or Network Computer

TCPIP HTTP

Page 29: Mainframe Application Testing both With and Without Live Data

Using RIT to prepare for service virtualization

• Architecture School – Create logical Web Server

• New > Web > HTTP Connection

– Create physical binding to CICS • Set Binding in > environment > Create new Web Server

• Recording Studio – Monitor the logical Web Server

• Make sure the HTTP Proxy service is running • Make sure the service requester is configured to use an HTTP Proxy

– Record data used in web service • Execute the live application

– Save data into a stub 28

Page 30: Mainframe Application Testing both With and Without Live Data

Modify and Create test data

29

• Test Factory – Edit the stub – Using JSON Schema layout – Modify recorded test data – Create new test data

– Run the stub

• Data from the stub is used without restarting the application itself

Page 31: Mainframe Application Testing both With and Without Live Data

30

• Run the service request – Without the stub active – Requests flow to actual web service – Actual service is executed

• Run the service request – With the stub active – Requests flow to the stub, not the service

• Pass-through is also available

– Actual service does not have to be ready – Newly created (virtual) data is returned

Test invoking the service

Page 32: Mainframe Application Testing both With and Without Live Data

Example application + service virtualization

31

z/OS

CICS Web Services

CICS

Presentation logic

Add / Update

Browse

3270 Client

DB2

• Test early • Test often • Test in isolation • Reduce wait time

REST JSON

Page 33: Mainframe Application Testing both With and Without Live Data

Mainframe Scenarios

32

TEST

VIRTUALIZE

VIRTUALIZE

Page 34: Mainframe Application Testing both With and Without Live Data

Benefits

33

Having a focused capability to quickly and easily access core services early in the development cycle will ‘change the game’ for agile development within complex systems delivery projects

Much faster time to provision versus conventional environment stand-up times

Reduced technical debt for projects

Increased productivity, and Shift Left increased project quality

Decouple delivery schedules by working with virtual services prior to integration

Reduce delivery risk due to unmanaged dependencies

Reduction in total number of environments

Lower cost versus procurement of environments from 3rd parties

Low TCO to consume service managed & delivered through virtualization

Lower dependence on non-IT staff re-usable and self managed data

Page 35: Mainframe Application Testing both With and Without Live Data

• Increase code quality – Test early and often – Shorten time between defect identification and defect resolution

• Reduce bottlenecks – Eliminate the need to wait for colleagues (other developers, systems

administrators) – Evolve your tests and stubs as you progress through the SDLC

34

Wrap up

Page 36: Mainframe Application Testing both With and Without Live Data

• Rational Test Workbench: https://ibm.biz/BdHs5T

• Rational Developer for z Systems: https://ibm.biz/BdHkuU

• IBM DevOps page: http://ibm.com/DevOps

• IBM DevOps for Enterprise Systems: http://bit.ly/1PB02KS

• IBM Enterprise DevOps for z Systems cloud-based trial: – https://ibm.biz/BdH666

• For Dummies books: – https://ibm.biz/mmdevops – http://ibm.co/devopsfordummies – http://ibm.co/agilefordummies – http://ibm.co/ServiceVirtualizationForDummies – http://ibm.co/ARDfordummies 35

Resources

Page 37: Mainframe Application Testing both With and Without Live Data

Related sessions of interest Session # Title 3370A Service Testing in Enterprise Environments 2188B Delivering Quality Code: An Enterprise Developer's Perspective 1714A DevOps on z Systems at UBS: What is the Speed of a Caravan

in the Desert? 3329A Thomson Reuters' Use of RDz to Accelerate Development

through Mainframe Modernization 4098A Shaw Industries' Experience with Deployment and Adoption of

DevOps Tools in a Mainframe Shop 5565A System z DevOps Application Testing Meets LeftShift 3478A Continuous Integration and Deployment on Rational

Development and Test Environment for z Systems 36

Page 38: Mainframe Application Testing both With and Without Live Data

Notices and Disclaimers

37

Copyright © 2016 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.

Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.

Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.

References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.

Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.

It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

Page 39: Mainframe Application Testing both With and Without Live Data

Notices and Disclaimers Con’t.

38

Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.

IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®, FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®, StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.

Page 40: Mainframe Application Testing both With and Without Live Data

Thank You Your Feedback is Important!

Access the InterConnect 2016 Conference Attendee Portal to complete your session surveys from your

smartphone, laptop or conference kiosk.