Rational Developer for System z Unit Test Feature

Slides:



Advertisements
Similar presentations
Manage your technology for optimal return on investment (ROI) The Tivoli ® Configuration & Operations management solution from IBM.
Advertisements

The 4 T’s of Test Automation:
ATMAN HB summary seminar # Challenges 2 ATMAN project 9/17/2010.
Configuration management
Software change management
Performance Testing - Kanwalpreet Singh.
Database System Concepts and Architecture
2  Industry trends and challenges  Windows Server 2012: Modern workstyle, enabled  Access from virtually anywhere, any device  Full Windows experience.
Rational Development and Test Environment for System z (RD&T) Off host mainframe development and testing Author notes This is the IBM Rational standard.
Which server is right for you? Get in Contact with us
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
John Whittle Sales Specialist Case Study: Manage Transactions Across the Enterprise Featuring BMC Middleware Management.
HP Quality Center Overview.
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
2004 Cross-Platform Automated Regression Test Framework Ramkumar Ramalingam, Rispna Jain IBM Software Labs, India.
1 Vladimir Knežević Microsoft Software d.o.o.. 80% Održavanje 80% Održavanje 20% New Cost Reduction Keep Business Up & Running End User Productivity End.
Alternate Software Development Methodologies
Introduction to DBA.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
1 Storage Today Victor Hatridge – CIO Nashville Electric Service (615)
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
VMware Virtualization Last Update Copyright Kenneth M. Chipps Ph.D.
Understand Virtualized Clients Windows Operating System Fundamentals LESSON 2.4.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
® IBM Software Group © 2008 IBM Corporation Rational Developer for System z User Group Kickoff.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Duncan Fraiser, Adam Gambrell, Lisa Schalk, Emily Williams
1 Introduction To The New Mainframe Stephen S. Linkin Houston Community College ©HCCS & IBM® 2008 Stephen Linkin.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. Chapter 7: Designing and developing applications for z/OS.
Effective Methods for Software and Systems Integration
Accelerating Product and Service Innovation © 2013 IBM Corporation IBM Integrated Solution for System z Development (ISDz) Henk van der Wijk 23 Januari.
VAP What is a Virtual Application ? A virtual application is an application that has been optimized to run on virtual infrastructure. The application software.
Chapter 2. Creating the Database Environment
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
RUP Fundamentals - Instructor Notes
Introduction Optimizing Application Performance with Pinpoint Accuracy What every IT Executive, Administrator & Developer Needs to Know.
Virtualization Lab 3 – Virtualization Fall 2012 CSCI 6303 Principles of I.T.
An emerging computing paradigm where data and services reside in massively scalable data centers and can be ubiquitously accessed from any connected devices.
Introduction to Cloud Computing
Highlights Builds on Splunk implementations – extending enterprise value to include mission-critical IBM mainframe data. Unified mainframe data source.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Improving Agility in Product Development and Pricing to Gain a Competitive Edge.
What is Driving the Virtual Desktop? VMware View 4: Built for Desktops VMware View 4: Deployment References…Q&A Agenda.
= WEEKS, MONTHS, YEARS OF DELAYED APPLICATION VALUE MISSED REVENUE OPPORTUNITIES, INCREASED COST AND RISK DEV QA PACKAGE COMMERCIAL SOFTWARE CUSTOM APPLICATION.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Cloud Computing Project By:Jessica, Fadiah, and Bill.
Accelerating Product and Service Innovation © 2013 IBM Corporation IBM Integrated Solution for System z Development (ISDz) Leveraging the principles of.
PRJ566 Project Planning & Management Software Architecture.
Introduction to the new mainframe © Copyright IBM Corp., All rights reserved. 1 Main Frame Computing Objectives Explain why data resides on mainframe.
3/12/2013Computer Engg, IIT(BHU)1 CLOUD COMPUTING-1.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
© 2009 IBM Corporation IBM Cloud Computing Tivoli Service Automation Manager V7.2 The Core of the Service Management System for Cloud Computing.
© 2013 IBM Corporation IBM Rational Asset Analyzer & Rational Asset Analyzer for System z Rational Asset Analyzer What is new! Leshek Fiedorowicz
IBM Control Desk Enabling the Enterprise App Store –
© 2011 IBM Corporation ® Managing Decision services in WebSphere Message Broker using WebSphere ILOG JRules. Amar Shah Mallanagouda Patil December 2011.
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Software Configuration Management
CIM Modeling for E&U - (Short Version)
Netscape Application Server
Chapter 18 Maintaining Information Systems
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
InLoox PM Web App product presentation
Presented by: Jeff Moore – Artsyl Technologies, Inc.
Discover and Understand Usage of Mainframe Software Assets
SYSTEMS ANALYSIS & DESIGN
MQ Series Cross Platform Dominant Messaging sw – 70% of market
Presentation transcript:

Rational Developer for System z Unit Test Feature A new feature providing mainframe development flexibility David Myers Rational Developer for System z Product Manager

2 Business constraints with mainframe development today Which limits the amount of System z production workload coming online “My development capacity charge-back is consuming my entire budget. I can’t spend on tools.” “We don’t have the capital budget to obtain more mainframe test resources for my developers.” “I can’t even work on Mondays! Production workload kicks me off.” “It is difficult for my developers to learn the mainframe. Operations controls can prevent experimentation by developers..” “I can only test my batch applications in offline hours. Online apps consume the 9-5 cycles.” “Operations tell me it will take two months to get my test system allocated.” “The Mainframe isn’t cool anymore.” “I want to try out creating Event Processing and ATOM apps, but my system isn’t scheduled for a CICS/IMS update till 2012.” 2 2

Mainframe development environment with RDz and ISPF RDz provides relief…but customers want more RDz user ISPF user RDz user Modern IDEs like RDz: Productivity enhancing tooling; more attractive tooling for new developers Ability to offload some development MIPS usage Integration with complete application lifecycle tools But challenges remain: Business pressures to manage mainframe MIPS usage for development Unit test delays caused by dependencies on operations team 3

Today’s RDz AD development cycle 4 Today’s RDz AD development cycle Application Developer Wintel Using tooling like RDz definitely has benefits and still some challenges, especially with testing…. System programming challenges Gap between the Developers and IT Operations staff Lack of available System programming skills or delays in getting requests completed Cross platform application development Developers don’t have control of non-Intel systems The ability to easily configure and deploy an application to the target runtime for testing can be a very time-consuming task. The mainframe development environment is perceived as being more expensive on System z than on other platforms Actually, there is no differentiation of mip costs between development mips vs test mips vs production mips. What does this cost companies? Create Rational Developer for System z Common source code System Programmer System z Build High Level language Java COBOL PLI System z executable code OS/390 Test OS/390 Test OS/390 Test The ability to easily configure and deploy an application to the target runtime for testing proves to be very programmer time-consuming task as well as the ability to automatically test the resulting application/service. This is accentuated when considering composite applications consisting of WAS and another platforms’ runtime. System z Formal Test System z production ready code OS/390 Test Prod

COBOL, PL/I, C++, Java, EGL, Batch, Assembler, Debug Tool RDz Unit Test Feature The ultimate in modern application development for System z NEW! COBOL, PL/I, C++, Java, EGL, Batch, Assembler, Debug Tool IMS DB2 CICS WAS MQ RDz user z/OS RDz user x86 PC running Linux RDz user ISPF user RDz user RDz & ISPF user Liberate developers to rapidly prototype new applications Develop and test System z applications anywhere, anytime! Free up mainframe development MIPS for production capacity Eliminate costly delays by reducing dependencies on operations staff Note: This Program is licensed only for development and test of applications that run on IBM z/OS. The Program may not be used to run production workloads of any kind, nor more robust development workloads including without limitation production module builds, pre-production testing, stress testing, or performance testing. 5 5 5 5

Introducing the RDz Unit Test Environment Application Developer Win/Linux Provides a local test environment for unit testing System z applications unit test processing on Linux versus mainframe Can enable companies obtain lower cost for development and unit testing Gives flexibility to Developers/Teams to accomplish unit tests on the mainframe or off Provides a local System z development/unit test environment to simplify development investments Frees up more mainframe capacity to production workload usage Strengthens development processes through using actual compilers and runtimes in RDz Unit Test Use compilers for “true” syntax check/compile using Enterprise COBOL/PLI Use co-processors for IMS/CICS/DB2/Custom to cut down on re-implementation efforts on local platform Provides flexibility for system programming staff and development System programmers can define common test images for development teams for some centralization of control, but still provide developers with ability to make changes Create Rational Developer for Systme z and Unit Test Feature Common source code Build High Level language Java COBOL PLI Test System z executable code System Programmer System z Build OS/390 Test OS/390 Test OS/390 Test System z Formal Test System z production ready code OS/390 Test Prod

RDz Unit Test Offering Description The RDz Unit Test Feature consists of: Unit Test Environment (based on zPDT) Unit Test Environment can provide a System z development platform on a PC capable of running z/OS provides great flexibility to run a customized environment Software stack provides a choice of IBM middleware test environments actual middleware software (including z/OS) actual enterprise compilers no API simulation RDz and RTCz agents packaged for simplification still need RTC and RDz client license(s) to activate RDz Unit Test RTCz Agent RDz Agent System z S/W Stack Debug Tool CICS DB2 WebSphere/z IMS Assembler COBOL C/C++ PL/I z/OS Unit Test Environment x86 PC running Linux <USB License Key> 7

RDz Unit Test limitations The RDz UT environment does NOT support all System z function, such as: Physical Parallel, ESCON®, FCP, FICON® and High Performance FICON channels Coupling links and coupling facilities List-directed IPL External Time Reference (ETR) Server Time Protocol (STP) MIDAWs Logical channel subsystems HiperSockets™ Multiple I/O paths per device Not all CHSC functions are supported Some IBM System z Crypto Express2 Some IBM 3088 CTC device RDz UT does not produce an environment equal to a larger System z. Some aspects of a larger system are unlikely to be met in any very small environment. Inability to verify and enhance the scalability of a program Inability to run application programs that require hundreds of MIPS. A UT system is not recommended for very fine-level performance tuning that is sensitive to memory location, cache functions, and pipeline optimization. In addition, the UT platform does not nearly have the same quality of service as does a mainframe in terms of availability and connectivity. Anyone needing any of the function outlined above should consider a traditional System z server.

How will RDz UT help me? Are you interested in testing your application changes on your PC/off-mainframe? RDz Unit Test provides a x86-based environment where you can test z/OS applications on a desktop or server machine Are your development systems overloaded? E.g., My development system is so slow! It takes 1 hour to compile!! E.g., There are not enough resources available for development RDz Unit Test provides a low cost mechanism to create additional development capacity without mainframe HW upgrades. Do you have difficulty testing application changes? Is too difficult or takes too much time to make changes to your test environment? Are there too many requests for unique test environments than your ops team can fulfill (catastrophic event testing, system failure, impact analysis, etc)? RDz Unit Test provides a separate test environment under the development team’s control allowing quick environment changes to be performed by development. The UT environment can be assigned to a small teams for unique test environments allowing more robust testing Are you being asked to use fewer MIPS for development RDz Unit Test provides a 0-MIPS development environment, allowing additional development resources to be easily allocated

Smarter Testing in the cloud How do we improve application quality?

z/OS Testing Architecture Testing is organized by application test teams sharing resources with limited automation z/OS Application Test Team TEST LPAR Test AS Application Test Team Test Data Application Test Team Test AS … Application Test Team Test AS File Name Here.ppt

Vision for the future Level playing field between mainframe applications and distributed applications Automated cloud of z/OS testing environments Readily available Easy to define, provision, and dispose Low-cost Collaborative and Agile Easy to promote work Continuous integration Highly automated Project or release focused Small-scale Time bounded Isolated and focused

Testing Organized for Flexibility – After RDz UT z/OS z/OS Production Application Test Team z/OS UT RDz UT Q/A Data Integration Test Data Application Test Team RDz UT Data … Application Test Team RDz UT Data File Name Here.ppt

Large Financial Customer - Implementation Requirement Provide more responsive System z access for application developers Reduce application software delivery through faster test cycle Provide each application group their own unit test facility RDz-UT Solution Application developers have use of a uniquely defined RDz UT feature for System z access RDz UT provides a unique test environment for different application development groups Supports multiple RDz UT development environments on Intel blade to reduce server hardware Has reduced application development test time

Manage z/OS test resources through RQM - Example

Moving towards low-cost z/OS automated testing Automation takes time and human effort Provides long term value by building up a test bucket Test automation can be written as function is added to build up the bucket Plans should be put in place to build up tests for existing function as well Integrates well with the use of RQM – start with manual test case steps makes it easier to see what can be automated and allows for building up a library of test scripts. Start with Automating the interactions done in the manual test cases using RFT or RST z/OS Application Automated Testing can be divided into several categories in multiple ways: User Interactive (with multiple user interface technologies) Service Based testing Each of these can be broken down farther into: Online Synchronous, Asynchronous, and Batch. Batch application testing can be automated with a combination of RQM, RFT and Optim Test Data Management Solution 16

Running Test Automation Test cases run through RQM Users can run automated test cases to specified execution environments Test cases run as a specified build from RTC RTC Build engine can be used to kick off a set of test cases on specified platforms. Multiple builds can be run to run tests on multiple execution environments Test cases run at the end of an integration build from RTC Test automation can be integrated into the RTC build, such that after the build completes the tests are automatically run This is the best practice for integration builds for at least a set of regression tests 17

Automated Sub-setting and Testing of Data Results Optim - Relational Compare Facility RQM RFT ........................ ........................ ........................ ........................ ........................ Optim COMPARE FILE SOURCE 1 COMPARE PROCESS Optim Compare REPORT Typical use is to run a test and then compare the before test image (extract file) to the after test data image (extract file or data in the database) Can also be pointed at 2 different running database instances or 2 different schemas etc. Map source 1 to source 2 by using a table map Eliminate columns from the compare by using a column map By default, uses primary key as the match key between the sources but you can also edit the match keys if necessary. Data is compared to data Source 1 or 2 or both may be: Optim Access Definition (which selects data from DBMS tables) List of tables in the database Optim Extract file Great for regression testing where you expect no changes – Verify Test Results SOURCE 2 Compare the test data before and after exercising the application to validate expected test results and identify anomalies automatically and with pinpoint accuracy. File Name Here.ppt

Benefits of smarter testing: Traceability and Insight Lifecycle traceability helps teams answer the harder questions Which requirements are addressed in this iteration? Are we ready to release? Are all of the requirements tested? Can we pass an audit? Product Owner Scrum Master What defects were resolved in this release? What’s the quality of the high priority requirements? What defects are reported against which requirements? Analysts What tradeoffs can we make to release on time? Traceability isn’t simply one of those “nice to have” capabilities in the software development  lifecycle. Traceability helps you understand what everyone else on the team is doing. For example, while the requirements analyst knows very well what requirements she has written, she still needs to know whether a given requirement will be addressed during a specific development iteration and, if so, which one. Or she wants to know if the implementation of that requirement has been tested and with what result. An ALM solution that allows for lifecycle artifact traceability helps teams to answer the hard questions about requirements and risk management. By linking related artifacts, teams are better equipped to answer questions such as “which requirements are affected by defects?” and “which work items are ready for test?”  It is important to understand how requirements, test and development are linked by projects and tasks. DON’T Do traceability for traceability sake. Identify a few meaningful questions or set one goal and institute a “just enough” approach for linking related artifacts. For example, link requirements and test cases, link test cases and development work items. Try one and get good at it before doing more. DON’T Rely on reports that go stale after you’ve created them. Practice continuous traceability: Leverage a system that shows the traceability links directly on the plan, or that uses queries that identify gaps, such as “Plan items without requirements” and “Plan items without test cases”, and “Defects blocking test.” DON’T Ignore, hide from or hope to pass regulatory audits Invest in an ALM solution that makes traceability easy to do, maintain and report against. DON’T: Work in disconnected project repositories, or cobble together a disparate set of tools. Seek products built with open interfaces. Seek vendors who understand and support the ALM integration challenges. Invest in tools with a longer-term integration roadmap in mind. DON’T: Enter links manually after the fact, it’s easy to forget, hard to enforce. Integrated tools make it easy to establish as the project executes. See image of linked Defect in upcoming slide DON’T: Build your own integration based on proprietary API’s. Choose a solution with open services (OSLC) for linking data across the lifecycle. DON’T: Choose a one-size-fits-no-one solution. Invest in a loosely coupled, integrated ALM solution that is built to scale and support open and flexible integrations. A single ALM repository will not scale to fit your needs over time. Times change, new products emerge; your ALM solution needs to be flexible enough to move with the times. Do you really want to face that data migration challenge? Quality Professional What is the quality of the build? Developer What requirements am I implementing? Release Engineer What has changed that I need to test? How can I recreate the last version to do a patch? What defects have been addressed since the last build? What test uncovered this defect, on which environment and what build? How can I standardize when teams use different tools? Are build times getting longer or shorter? What changes occurred overnight? How can I speed up my builds? Where are the bottlenecks in our processes? 19 19 19 19

Relationship views enable continuous traceability Find and respond to gaps as they surface through out the project Tracing through out the project improves regulatory compliance The image shows a traceability view in Release Plan containing links to requirements and test cases. It also has a column to identify defects affecting the plan items. This demonstrates an integrated plan with traceability reporting. Rather than relying on stale and occasionally run traceability reports, using an integrated plan with a built-in traceability view makes the gaps are obvious and easy to address through out the project. 20 20 20

Plan-item Traceability improves quality and predictability Everyone's work aligns to the requirements and goals of the customer Team members have transparency to each others work and the “new reality” is always available All worked is linked and visible giving the team insight into when all work is done Developers understand the requirements, test results and test criteria One of the easiest things to do for development teams is to simply focus squarely on accomplishing their work handing only the deliverables between groups when they are ready. A lot of the rework, misunderstandings, etc results from teams not having visibility or coordinating their activities so that the team can work as a whole. Our ALM solution provides them with transparency in the context of the work you’re doing and the ability to go get more information if necessary, its beyond simple linking – its data rich integration and coordination based on the interrelated activities in ALM. We go far beyond simply making sure one file in one product can link to another the way the majority of our competitors do in order to check box an ALM marketing message. Testers define and execute tests cases with a clear understanding of requirements and Teams collaborate and clarify the details of requirements 21 21 21 21

Defect Collaboration reduces costs and improves quality Testers execute tests and submit defects found to RTC 4-clicks to submit a defect automatically linked to impacted artifacts Test results are recorded and linked to test cases, and associated requirements Test results can be linked to software builds Everyone has visibility into the defects, their impact, and the action taken to resolve them The most common ALM sub-cycle is the Development – Test cycle. Developers develop a solution that must be tested – this is an important cycle that takes up a significant amount of the development and ongoing maintenance effort. Our solution was developed in unison to make sure we can automate and improve this cycle as much as possible. Our solution reduces the overhead typical of the development <-> test cycle and improves the transparency so that this cycle can adjust to unforeseen circumstances. Our highly integrated development <-> test solution realized by RTC and RQM enable us to offer a solution that can increase productivity and time to market. Developers can see the exact test failure without having to ask and remediate it 22 22 22 22

Top 5 Questions 1) What is the maximum number of developers a RDz Unit Test server can support? This can vary depending on the underlying hardware and workload being tested. Desktop/Laptops can typically support 3-5 users. Low end server class machines can support 15-30 users.   At this time, IBM has not provided a detailed analysis of RDz UT server sizing. 2) How can I get test data for use in RDz Unit Test? Customers can use existing tools like IDCAMS, DB2/IMS utilities, etc. to extract test data and then download it to the RDz Unit Test machine. RDz Unit Test provides a volume duplication utility that can download an entire 3390 data volume as needed into the UT environment. Facilities such as CICS remote function shipping or DB2 Remote Data Access can also be utilized. 3) Can I run other levels/backlevels of the middleware provided? Yes, based on existing mainframe entitlement the request can be evaluated and some requests may not be approved. Requires special licensing dispensation from IBM, not automatically entitled with purchase of RDz UT. 4) Can I use other IBM tools in the UT environment? 5) Can I run third party software? Yes, if the third party license allows this. Customers must work with their software vendor to determine licensing considerations.

Additional Questions 6) Does this require system programming skills? Vanilla configuration ready-to-go out of the box z/OS does require system programming skills to set up the development and/or testing environments if users want the UT environment to mirror an existing host configuration. You can usually set up one box/image and transfer the configurations to another box easily (VMWare style). 7) What about security? RACF is installed, but with minimal configuration. The sample configuration guide has suggestions for basic security. Security is a site choice. The ability to customize z/OS on a platform designed for individuals or small teams may: Provide better testing opportunities Provide customization for individual productivity gains Provide opportunities to learn about z/OS fundamentals

RDz UT host machine specifications Underlying Linux host Red Hat Enterprise Linux 5.3 (RHEL 5.3) OpenSUSE 10.3, 11.0, and 11.1 Note: IBM does not support installation on other distributions. Base machine must have: at least 3 GB of real memory: 1 GB is required for the 64-bit Red Hat or openSUSE Linux 1-2 GB is required for the System z operating system, depending on the size of the development system at least 80 GB free disk space available after Linux Note: RDz UT has been tested on: Lenovo ThinkPad W Series IBM System x 3500 M1, 3500 M2, 3650 M1, and 3650 M2

Summary - Benefits of the RDz Unit Test Feature Increased application quality using the included IBM runtimes for testing. Provides a high fidelity testing environment. Functionality and services more accurately reflect the mainframe Using actual z/OS middleware means less retesting and rework is required when moving from the unit test environment to the quality assurance or pre-production environment. Developers have an isolated test environment to test application changes that can then be easily merged into the next level of testing Deployment of the Unit Test feature on a PC lowers development and unit tests costs and allows MIPS to be reallocated for production use. Executes on an x86 Server (see backup charts for details) Utilizing zero development MIPS on the production mainframe for initial application change testing Frees up additional capacity for new workload while reducing line of business development costs and chargeback. Provides developers in a single or shared user configuration with increased flexibility and control of the test environment, allowing them to be more productive and improving application delivery times. Can be assigned to a single developer in a laptop configuration, or can support small-scale team environments Environments can be tailored to a single developer or team's runtime needs without altering mainframe testing environments. Can provide a greater level of control for developers to implement quick environment changes without having to involve production operations staff. Developers can perform their first series of tests and regression testing without worrying about causing unexpected errors.