IBM Software Group | Rational software 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 cant spend on tools. We dont have the capital budget to obtain more mainframe test resources for my developers. I cant 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 isnt cool anymore. I want to try out creating Event Processing and ATOM apps, but my system isnt scheduled for a CICS/IMS update till 2012.
IBM Software Group | Rational software Mainframe development environment with RDz and ISPF RDz provides relief…but customers want more 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 RDz user ISPF user RDz user ISPF user 3
IBM Software Group | Rational software 4 System Programmer OS/390 Test OS/390 Test OS/390 Test System z Formal Test System z production ready code OS/390 Test OS/390 Test OS/390 Test System z Prod Application Developer Wintel Create System z Build Common source code System z executable code Java COBOL PLI High Level language Todays RDz AD development cycle 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 dont 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? Rational Developer for System z
IBM Software Group | Rational software RDz Unit Test Feature The ultimate in modern application development for System z 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. RDz & ISPF user ISPF user RDz user COBOL, PL/I, C++, Java, EGL, Batch, Assembler, Debug Tool x86 PC running Linux RDz user IMS z/OS WAS DB2 MQ CICS 5
IBM Software Group | Rational software Introducing the RDz Unit Test Environment 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 Application Developer Win/Linux Create Build Common source code System z executable code Java COBOL PLI High Level language Test Rational Developer for Systme z and Unit Test Feature OS/390 Test OS/390 Test OS/390 Test System z Formal Test System z production ready code OS/390 Test OS/390 Test OS/390 Test System z Prod System Programmer System z Build
IBM Software Group | Rational software RDz Unit Test Offering Description Unit Test Environment x86 PC running Linux System z S/W Stack Debug Tool CICS DB2 WebSphere/z IMS Assembler COBOL C/C++ PL/I z/OS RDz Unit Test RTCz AgentRDz Agent 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 7
IBM Software Group | Rational software 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) RDz Unit Test limitations 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.
IBM Software Group | Rational software 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 teams 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
IBM Software Group | Rational software z/OS Test AS Test AS Test AS Application Test Team Application Test Team Application Test Team … z/OS Testing Architecture Testing is organized by application test teams sharing resources with limited automation TEST LPAR Test Data Application Test Team
IBM Software Group | Rational software 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
IBM Software Group | Rational software z/OS Application Test Team Application Test Team Application Test Team … Testing Organized for Flexibility – After RDz UT z/OS UT RDz UT RDz UT RDz UT z/OS Q/A Integration Test Production Data
IBM Software Group | Rational software 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
IBM Software Group | Rational software Manage z/OS test resources through RQM - Example
IBM Software Group | Rational software 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
IBM Software Group | Rational software 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
IBM Software Group | Rational software Automated Sub-setting and Testing of Data Results Optim - Relational Compare Facility Compare the test data before and after exercising the application to validate expected test results and identify anomalies automatically and with pinpoint accuracy. SOURCE 1 SOURCE 2 COMPARE PROCESS Optim COMPARE FILE Optim Compare REPORT........................................................................................................................ Verify Test Results RQMRFT
IBM Software Group | Rational software 19 Benefits of smarter testing: Traceability and Insight Lifecycle traceability helps teams answer the harder questions Analysts Which requirements are addressed in this iteration? Are all of the requirements tested? Whats the quality of the high priority requirements? What defects are reported against which requirements ? What requirements am I implementing? What test uncovered this defect, on which environment and what build? What changes occurred overnight? How can I recreate the last version to do a patch? How can I standardize when teams use different tools? Where are the bottlenecks in our processes? How can I speed up my builds? What is the quality of the build ? What has changed that I need to test ? What defects have been addressed since the last build? Are we ready to release? What tradeoffs can we make to release on time ? Can we pass an audit ? What defects were resolved in this release ? Quality Professional Developer Scrum Master Product Owner Release Engineer Are build times getting longer or shorter?
IBM Software Group | Rational software 20 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
IBM Software Group | Rational software 21 Plan-item Traceability improves quality and predictability Developers understand the requirements, test results and test criteria Testers define and execute tests cases with a clear understanding of requirements and Teams collaborate and clarify the details of requirements 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
IBM Software Group | Rational software 22 Defect Collaboration reduces costs and improves quality 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 Developers can see the exact test failure without having to ask and remediate it Testers execute tests and submit defects found to RTC
IBM Software Group | Rational software 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? 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. 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.
IBM Software Group | Rational software 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
IBM Software Group | Rational software 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
IBM Software Group | Rational software 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.