Test Automation in Mainframe Systems
Transcript of Test Automation in Mainframe Systems
www.hexaware.com
Test Automation in Mainframe Systems
Introduction
Challenges
Solution
Solution Architecture
Conclusion
References
2
2
3
4
5
5
Table of Contents
1www.hexaware.com | [email protected]
2www.hexaware.com | [email protected]
Mainframes continue to play a critical role in financial services industries. 92 of the top 100 banks continue to depend on the mainframe to support critical business process ranging from credit cards, ATM transactions to batch runs for high volume of reports. Mainframe system’s resilience and ability to handle large volumes have been crucial for the smooth functioning of the financial services industry. It is estimated that Mainframes run 30 billion transactions per day and handle $3trillion in daily commerce. Almost 90 percent of all credit card transactions involve a mainframe.
Introduction
Another challenge is that different parts of the organization move at different speeds – such as compliance and security processes, systems of engagement, and teams in mainframe.
Among the reasons cited, one is the time taken to release new features for customer facing applications. There is a growing expectation that all systems including mainframes can support faster releases.
To accelerate the release cycles, a phased approach needs to be taken for measurably modernizing mainframe practices, based on every organizations’ own existing processes, tools and culture that can best fit their client’s needs.
One of the focus areas is to explore if mainframe automated tests and DevOps solutions in areas such as unit testing or deployment can be brought in to hasten the delivery cycle. Every organization is at a different level in the automation cycle while there is a consensus that they would like to automate frequently used wellness checks and regression scenarios.
Customers today look at automating their repetitive manual operational tasks on their mainframe systems that are labor intensive, prone to errors and not very cost effective. For example, testing of end-to-end scenarios require traversing both mainframe and distributed technology applications built on Java stack.
Challenges
However, in a 2016 study from Forrester, nearly 90% respondents said they experience challenges with mainframe application development and delivery that make it difficult to innovate at “digital business speed”.
Additionally, the instances where teams operate in silos and the manual steps involved in coordination between them result in delays in the handover between internal teams, adding up to the overall development cycle.
Breaking these silos is a challenge since these are in completely different technology stacks. This leads to dependencies on the availability of functional consultants for their expertise in performing functional tests.
3www.hexaware.com | [email protected]
SolutionHexaware worked with this Financial services provider and broke down the problem statements into 3 components:
B. Integrate with distributed application automation regression test suite Mainframe automation library can be integrated with web automation test scripts written in Java - Selenium. The mainframe emulator libraries provide session class which contains all the methods needed to perform operations on the mainframe. Selenium Web Driver can be used for performing operations on the distributed applications. You can write test scripts using Java for both web-based as well as non-web based application (i.e. Mainframe).
C. DevOps integrationMainframe automation: On successful code promotion, a mainframe JCL (Job Control Language) can trigger automatic email of the software release notes, that captures the source region, target region and list of packages that have been promoted. Jenkins build trigger plugin “Poll Mailbox Trigger” can mark the new email as read and trigger a new automation job. The DevOps jobs can be triggered automatically as well as manually on Jenkins using Job Scheduler. The automation job can launch the Jagacy emulator automatically for performing operations on the mainframe screen. After the execution of source code is completed, Serenity with Cucumber report will be generated, and email notification related to build status with pass or fail status will be triggered. The end-to-end continuous testing helps in faster feedback and turnaround time to aid in development with no manual deployment and manual communication between various teams.
Bring the mainframe test suite into a DevOps
pipeline to eliminate silos and bring down the overall feature
release cycle
Integrate with distributed application automation regression
test suite
Create mainframe automation test
suite in a modern language
A. Create mainframe automation test suite in a modern language An Automation suite entirely written in Java leveraging the possibilities provided by an open source library-built screen scraping mainframe emulator like *Jagacy. This automated test suite empowers all developers to validate and troubleshoot any changes they make to mainframe applications quickly, easily, and accurately. You can use the Serenity BDD with Cucumber framework for developing test scripts and XML as input to test scripts. Firms can also use properties file for each environment/region to maintain the user credentials and URL for that specific environment. Test scripts can be executed for multiple test regions and test scenarios via parameterization.
*Jagacy 3270 is a Mainframe emulator (screen scraping technology) built using open source platform JAVA. It is also called Swing 3270. We can execute the test scripts and capture screenshots in headless mode i.e. without opening the window/session. Thus, we can perform parallel tasks while the automation test script is executing in the background. We can write text into the fields, read from the fields or specific positions, wait for applications / screen unlock and simulate pressing keys on the keyboard (i.e. PF3, TAB, Enter,...).
4www.hexaware.com | [email protected]
An overview of the solution is described below:
Accessing Mainframe terminal from DevOps pipeline has challenges. But using Swing 3270, we can execute the test scripts on the Jenkins. For that the mainframe test scripts execution host machine should be on the same network on which Jenkins slave machine exists. The open source JAVA automation is integrated with Selenium automation to provide seamless end-to-end execution between mainframe and distributed systems. A mainframe JCL can automatically trigger automatic release notes email, once mainframe code has been promoted. Jenkins “Poll Mailbox Trigger” can trigger automation jobs based on new release notes email with no manual intervention.
Send Email Notification
Generate Serenity with Cucumber
Report
Invoke Jagacy Application
Screen ScrappingSwing Emulator
Jagacy Emulator
Mailbox
Automatic email Trigger
Pollingfor unread email
Push source code into repository
Mainframe
Slave Machine
Bit Bucket
Automatically Trigger
To build automation test
Jenkins
Source code
Read POM file and execute code
IBM Pcomm
TriggerExecution
JenkinsSlave Machine
Automatically Trigger Job
ManuallyTrigger Job
JobScheduler
Poll MailboxTrigger Plugin
MainframeJCL
Bit BucketPlugin
GitRepository
AutomationSource Code
Jenkins Server
Solution Architecture
© 2021 Hexaware Technologies limited. All rights reserved.www.hexaware.com | [email protected]
Safe Harbor StatementCertain statements in this press release concerning our future growth prospects are forward-looking statements, which involve a number of risks, and uncertainties that could cause actual results to differ materially from those in such forward-looking statements. The risks and uncertainties relating to these statements include, but are not limited to, risks and uncertainties regarding fluctuations in earnings, our ability to manage growth, intense competition in IT services including those factors which may affect our cost advantage, wage increases in India, our ability to attract and retain highly skilled professionals, time and cost overruns on fixed-price, fixed-time frame contracts, client concentration, restrictions on immigration, our ability to manage our international operations, reduced demand for technology in our key focus areas, disruptions in telecommunication networks, our ability to successfully complete and integrate potential acquisitions, liability for damages on our service contracts, the success of the companies in which Hexaware has made strategic investments, withdrawal of governmental fiscal incentives, political instability, legal restrictions on raising capital or acquiring companies outside India, and unauthorized use of our intellectual property and general economic conditions affecting our industry.
India Headquarters152, Sector – 3
Millennium Business Park
‘A’ Block, TTC Industrial Area
Mahape, Navi Mumbai – 400 710
Tel : +91-22-67919595
Fax : +91-22-67919500
EU HeadquartersLevel 19, 40 Bank Street,
Canary Wharf,
London - E14 5NR
Tel: +44-020-77154100
Fax: +44-020-77154101
Level 3, 80 Mount St
North Sydney
NSW 2060
Australia
Tel : +61 2 9089 8959
Fax : +61 2 9089 8989
Australia HeadquartersAPAC HeadquartersAsia Pacific Pte Ltd, #09-01,
One Finlayson Green,
1 Finlayson Green
Singapore-049246
Tel : +65-63253020
Fax : +65-6222728
NA HeadquartersMetro 101, Suite 600,101
Wood Avenue South, Iselin,
New Jersey - 08830
Tel: +001-609-409-6950
Fax: +001-609-409-6910
Hexaware is the fastest growing next-generation provider of IT, BPO and Consulting services. Our focus lies on taking a leadership position in helping our clients attain
customer intimacy as their competitive advantage. Our digital offerings have helped our clients achieve operational excellence and customer delight. We are now on a
journey of metamorphosing the experiences of our customer’s customers by leveraging our industry-leading delivery and execution model, built around the strategy—
‘AUTOMATE EVERYTHINGTM, CLOUDIFY EVERYTHINGTM, TRANSFORM CUSTOMER EXPERIENCESTM.’ Hexaware services customers in over two dozen languages, from every
major time zone and every major regulatory zone. Our goal is to be the first IT services company in the world to have a 50% digital workforce.
Learn more about Hexaware at http://www.hexaware.com
About Hexaware
References1. Compuware’s “Ten Steps to True mainframe agility”2. Automated Acceptance testinging for Mainframe with Cucumber and Jagacy” by Upgundecha3. http://www.jagacy.com/Jagacy3270.pdf4. https://www.ibm.com/developerworks/systems/library/es-zosdisterm.html5. https://github.com/jenkinsci/poll-mailbox-trigger-plugin#:~:text=The%20poll%2Dmailbox%2Dtrigger%20is,triggers%20a%20new%20job6. http://www.ibmmainframeforum.com/jcl/topic11010.html
A wholistic approach that harnessed open source platform, screen scraping tool, handover process, collaboration and DevOps technology helped come out with a solution that facilitates elimination of silos and brings down the overall feature release cycle.
The open source mainframe automation suite helps to automate repetitive labor intensive, and error prone mainframe manual operations tasks. This open source mainframe automation further integrated with Selenium automation provides seamless end-to-end execution traversing both mainframe and distributed technology applications. Using swing 3270 we can execute the test scripts on Jenkins. Automating the mainframe release notes and leveraging Jenkins plugin to capture automatic release notes emails to trigger automation jobs helps remove manual intervention and bring mainframe test suite execution into a DevOps pipeline.
This approach can help firms looking for mainframe automation to achieve faster feedback and turnaround time, and significantly reduce the time-to-market.
Conclusion
Amit Manjesh is a technology lead focused on customer success, achieved by driving testing resources against client projecttesting goals and deliverables. Amit has been part of the IT industry for most part of the two decades, being abreast with the everchanging landscape and rapid changes. The last 5 years he has been engaged with the Banking and Capital Markets client, gaining valuable experience in buildingand leading a team with a goal to deliver technology projects on time and within budget across locations like UK, Netherlands, US and India.
Pratiksha Nalawade is an Automation Tester with experience in mainframe, database and web application automation. Building robust
framework from scratch by integrating different technologiesi.e. for mainframe automation using open source library and selenium technology for web application automation. She has an experience of
integrating test scriptswith CI/CD tools i.e. Jenkins using versioncontrol tools like SVN or Git.
Author details