The Evolving Responsibility of Mainframe Application Testing in DevOps
Learn about the essential role testing and QA play in DevOps for mainframe application development, and how the developers contribute.
Join the DZone community and get the full member experience.
Join For FreeDevOps provides the framework to enable agile responsiveness to market changes, but successfully implementing this philosophy requires more than adopting best practices. Every team member must shift their role in overcoming business challenges that prevent agility.
Seasoned mainframe developers and test/QA pros may challenge that their roles must shift and evolve to improve mainframe application testing. But as work accelerates under DevOps, the lines-read silos-between development and testing cannot remain as defined as they traditionally have been.
The Testing/QA Role in Mainframe Application Testing
For true efficiency, it works best (and fastest) if test/QA can fix code when they find problems. If test/QA pros can't fix code, they can improve velocity by helping narrow down the issue or by creating specific data to trigger the problem. In this way, testers play a strategic role in managing code quality and reliability.
Beyond running tests, this group must also lead in finding automation solutions and understanding how to adapt test scripts as requirements change. This often requires coding.
While automation reduces the test time, understanding the automation code as well as the business application code increases collaboration and communication between the various groups. This understanding can often lead to higher levels of automation.
New Coding Skills
A mainframe test/QA pro's required ability to code will depend on how DevOps is implemented. Those who can help fix application code will obviously need specific competency on the coding languages employed in applications. But every mainframe test/QA pro will need to be able to script when working with automation tools; the coding ability will depend on the tools selected.
Some programming ability is required for most modern test/QA jobs, whether it's knowledge in COBOL, VSAM, DB2, SQL, JCL, SQL (or other relational DBMS's), Java, Perl, Python, C/C++, shell scripting, JavaScript, C#, .Net, Ruby, etc.
No one is expecting you to be an expert in any language; if you were, you'd be over on the developer side of the house. But to really automate QA testing, coding ability is increasingly required. Even if you have automation tools, you need some experience.
Start by picking a language. Look for a book or online training. Explore GitHub, which provides a variety of automation tools you can practice with. Write your first, basic automation tool and test it. By practicing, you'll increase your ability and confidence to do what is needed on the job when you actually need to "roll your own."
The Developer Role in Mainframe Application Testing
Mainframe test/QA pros are the gatekeepers between developers pushing hard to get changes implemented and Operations pushing back, insisting they need stability. But under DevOps, it's on the developers to do more testing themselves, instead of simply throwing the code over the wall, as with unit testing in particular.
Unit testing is the process of testing the small parts of an application to find and fix low-level bugs. Finding and fixing these low-level bugs early on ensures higher quality code and smoother testing in subsequent phases of testing.
Learn more about the importance of unit testing in our upcoming IBM Systems Magazine webcast, "True Mainframe Automated Unit Testing: What You Need to Make It Work," featuring testing expert, trainer, and consultant Randy Rice.
Unit testing has always been the responsibility of developers. How it's accomplished, however, must change. The problem with unit testing in most mainframe shops is teams use slow, tedious, manual processes; hence, developers either never begin the unit testing process or never finish it.
To solve this problem and truly empower mainframe developers to take on the responsibility of unit testing with greater quality, velocity and efficiency, you need to automate the process.
While the challenge of being the bridge between development and production doesn't go away for test/QA, on the mainframe, and across all other platforms, developers can and should play a bigger role in the mainframe application testing process. Whether you're a development, testing or operations pro, it's time to grow your skills to take on new responsibilities under DevOps and leverage modern tools to support that growth.
Published at DZone with permission of Denise Kalm, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments