Before learning mainframe testing concepts, lets learn What is a Mainframe?
Healthcare Domain Knowledge
The mainframe is a high performance and a high-speed computer system. It is used for larger scale computing purposes that requires great availability and security.
It is mostly used in sectors like finance, insurance, retail and other critical areas where huge data are processed multiple times.
What is Mainframe Testing? Mainframe Testing is defined as testing of Mainframe Systems and is similar to web based testing. The Mainframe application otherwise called job batch is tested against the test cases developed using requirements.
Mainframe Testing is usually performed on the deployed code using various data combinations set into the input file. Applications that run on the mainframe can be accessed through terminal emulator.
The emulator is the only software that needs to be installed on the client machine. While performing Mainframe testing, the tester only needs to know about the navigations of the CICS screens. They are custom built for specific applications.
The changes work through one terminal emulator will work on others too. It is a technique to use memory effectively to store and execute various sized tasks. It uses disk storage as an extension of real storage.
Multiprogramming The computer executes more than one program at the same time. But at any given moment only one program can have control of CPU.
It is a facility provided to make efficient use of the CPU. Batch Processing It is a technique by which any task is accomplished in units known as jobs. A job may cause one or more programs to execute in a sequence. The Job scheduler makes a decision about the order in which the jobs should be executed. To maximize the average throughput, jobs are scheduled as per their priority and class.
JCL describes the batch job — programs, data and resources needed. Time Sharing In a time-sharing system, each user has access to the system through the terminal device.
Instead of submitting jobs that are scheduled for later execution, the user enters commands that are processed immediately. Hence this is called "Interactive Processing".
It enables the user to interact directly with the computer. Time-share processing is known as "Foreground Processing" and the batch job processing is known as "Background Processing.
The spooled output is directed to output devices like a printer if needed. It is a facility exploiting the advantage of buffering to make efficient use of the output devices. Classification of Manual Testing in Mainframe Mainframe Manual Testing can be classified into two types : Batch Job Testing — Testing process involves executions of batch jobs for the functionality implemented in the current release.
The test result extracted from the output files and the database are verified and recorded. The functionality of the existing screens could be changed, or new screens could be added. Various applications can have enquiry screens and update screens. The functionality of these screens needs to be checked as part of the online testing.
What is Mainframe Testing?
How to do Mainframe Testing The Business team prepares requirement documents. Which determines how a particular item or process is going to be modified in the cycle of release.
The testing team and the development receive the requirement document. They will figure out how many processes will be affected by the change. So, a Mainframe application has to be tested in two parts: Testing Requirements — Testing the application for the functionality or the change mentioned in the requirement document. Testing Integration — Testing the whole process or other application which receive or send data to the affected application.
Regression Testing is the primary focus of this testing activity. It takes data both from member enrollment screen and offline enrollment. As we discussed earlier, it takes two approaches for Mainframe testing, online testing, and batch testing. Online testing is done on the member enrollment screen.
Need more Information ?
Just like a web page the database is validated with data entered through the screens. Offline enrollment can be paper enrollment or enrollment on a third party website. The Offline data also referred to as batch will be entered into the company database through batch jobs. An input flat file is prepared as per the prescribed data format and fed to the sequence of batch jobs.
What is a Mainframe?
So for mainframe application testing we can use the following approach. The first job in the line of batch jobs validates the data entered. Let say for example special character, alphabets in number only fields, etc. The second job validates the consistency of data based on business conditions.
For example, a child enrollment should not contain dependent data, member zip code which is not available for service by the enrolled plan , etc.
The third job modifies the data in the format that can be entered into the database. For instance, deleting the plan name database will store only plan ID, and insurance plan name , appending date of entry, etc.
The fourth job loads the data into the database. Batch job testing is done on this process in two phases — Each job is validated separately, and the Integration between the jobs is validated by providing input flat file to the first job and validating the database.
It also ensures that there are no critical issues with the code.
Banking domain knowledge for testing pdf files
Batch Testing — This testing will be done by validating the test results on output files and data changes done by the batch jobs under testing scope and recording of them.
Online Testing — This testing will be done on the front end of the mainframe application. Here the application is tested for correct entry field like an insurance plan, interest on the plan, etc. Online-Batch Integration testing — This testing will be done on the systems having batch processes and online application.
The data flow and interaction between the online screens and the batch jobs is validated. Example for this type of testing — Consider an update on Plan details like increase of interest rate. The change of interest is done on an update screen, and the balance details on the affected accounts will be modified only by a nightly batch job. Testing in this case will be done by validating the Plan details screen and the batch job run for updating all the accounts. Step 3 : System Integration Testing The primary purpose of this testing is to validate the functionality of the systems which are interacting with the system under test.
These systems are not directly affected by the requirements.
However, they use data from the system under test. It is important to test the interface and different types of messages like Job Successful, Job Failed, Database updated, etc.
This testing in Mainframes ensures that batch jobs and the online screens which do not directly interact with the system under test or do not come in the scope of requirements are not affected by the current project release.
In order to have effective regression testing, a particular set of test cases should be shortlisted depending on their complexity and a regression bed Test cases repository should be created. This set should be updated whenever there is a new functionality rolled out into the release. Step 5 : Performance Testing This testing is done to identify the bottlenecks in high hit areas like front end data, upgrading online databases and to project the scalability of the application.
Step 6 : Security Testing This testing is done to evaluate how well the application is designed and developed to counter anti-security attacks. Two fold security testing should be done on the system — Mainframe security and Network security.
Copying production file and preparing test files. For every functionality, there will be a job sequence defined. As explained in the example in Methodology in Mainframe section. The jobs should be submitted using the SUB command with the test data files. Check the intermediate file in order to identify the reasons for missing or error-out data.
Check the final output file, database and the Spool to validate the test results. If the job fails, the spool will have the reason for the job failure. Address the error and resubmit the job.
Test Reporting — Defect should be logged if the actual result deviates from expected. Steps involved in Online Testing Select the Online screen in a test environment.
Mainframe Testing - Complete Tutorial
Test each field for the acceptable data. Test the Test Scenario on the screen. Verify the database for the data updates from the online screen. Steps involved in Online — Batch Integration testing Run the job in a Test Environment and validate the data on the online screens. Update the data on the online screens and validate if the batch job is properly run with the updated data. There are many other commands used when required, but they are not that frequent.
Pre-requisites to start mainframe testing Basic details needed for mainframe testing are: Login ID and password for logging into the application. Brief knowledge on ISPF commands.
Names of the files, file qualifier and their types. Before starting mainframe testing, the below aspects should be verified.
Banking Application Testing
CLASS parameter should be pointed to the test class. Reroute the email in the job to spool or a test mail ID.