In this article we will try to covers some of the basics of mainframe testing. Today, mainframe computers play a central role in the daily operations of most of the worldÙs largest corporations, including many Fortune 1000 companies. While other forms of computing are used extensively in various business capacities, the mainframe occupies a coveted place in todayÙs e-business environment. In banking, finance, health care, insurance, public utilities, government, and a multitude of other public and private enterprises, the mainframe computer continues to form the foundation of modern business. In your professional career as a software test engineer it is more than likely that you will be required to test some application that runs on mainframe or any other application that has some kind of dependency on these mainframe applications. Before we know about mainframe testing let’s start of with some basics.
What is a mainframe?
Mainframe is a high performance multi user computer system which is most scalable, available, reliable and secured machine
in the world capable of performing some Million Instructions per second(upto 569,632 MIPS) with the following
- Reliable single-thread performance, which is essential for reasonable operations against a database.
- Maximum I/O connectivity, which means mainframes excel at providing for huge disk farms.
- Maximum I/O bandwidth, so connections between drives and processors have few choke points.
- Reliability- mainframes often allow for “graceful degradation” and service while the system is running.
- Factors contributing to mainframe use
The reasons for mainframe use are many, but most generally fall into one or more of the following categories:
· _ Reliability, availability, and serviceability
· _ Security
· _ Scalabilty
· _ Continuing compatibility
· _ Evolving architecture
Now we come to our main point of discussion mainframe testing.
How to test a Mainframe application?
Mainframe Testing is similar to client-server applications testing, but you have to know how to operate basic TSO and ISPF commands and menus, view mainframe files, look at and use SDSF or other output tool, log on CICS and transactions, use FTP or another transfer protocol, submit the batch job – it’s for QA testing of mainframe applications.
And plus, unlike the QA testing for another platform, like WEB and/or client-service, the mainframe is usually back-end. It can be learned pretty quickly, but it needs an access to mainframe.
There are various kind of tests : integration tests, performance tests, volume tests, regression tests, stress tests etc. You can test a all cluster of programs or a whole day or night of production. You need to know the expected results, discuss with business analysts, with system team, with Capacity team, ….And you will have to know a lot of tools or technic : Strobe, File Aid, Ecomp, CA7, report Excel, Word, DB2, CICS, zOS, Sort, backup, recovery, etc.
As part of mainframe testing you could be testing a COBOL application on a DB2 database, or a Peoplesoft application using an Oracle database, or the application could be a CICS application using QA Hyperstation to automate the testing. The QA principles do not change, however the skillsets differ to some extent. You may be required to know JCL, ISPF and TSO and have a basic understanding of COBOL. You should know how to write SQL queries to test any databases. There may also be networking issues to consider when testing large system environments.
Mainframe applications run on the mainframe and clients access the mainframe through a terminal emulator. The terminal emulator is the only software that needs to sit on the client machine. Changes to the software (COBOL, JCL, etc) are made on the mainframe and as a mainframe tester you don’t need to worry about migrating them to the client. If it works through one terminal emulator it should work on them all.
Client/Server Testing Vs Mainframe Testing concepts
Client/server architecture allows some of the processing to be done by the client. However, since there is code to ship to the client, you have to worry about the code being installed properly, working on their OS, playing well with the other applications on the desktop, security, and performance. Inside a company, you probably know the number of users, types of environments (OS, RAM, connection speed), so it’s not as extensive as web testing, but it has more variables than mainframe testing. Also, while usability should not be ignored on mainframe applications, it seems to be more of an issue with client/server applications since they also generally have GUIs.
Mainframe Test Tools
Some of the tools that are used for mainframe testing are as follows:
1. Test Director
2. QTP (Quick Test Professional)
3. Claim Repository
4. Foundation Testing Tool (FTT)
5. TN3270 Plus
7. Load Runner
Skill set specific to mainframe testing
Is Mainframe testing a good job?
Mainframe testing skill is a quite niche skill. Though many organizations are trying to move from less user friendly mainframe applications to modern client/server applications but it will still exist for a while. since the mainframe testing is difficult and trainings are not easily available so the demand of a mainframe tester is great in the market.