31
Code Debugging Tool to Help Teach Mainframe Programming Languages 1 Code Debugging Tool to Help Teach Mainframe Programming Languages MSc Claudio Gonçalves Bernardo MBA Paulo Roberto C. Batuta Brasília - Brazil

Qualidade de Software em zOS usando IBM Debug Tool e RDz

  • View
    5.817

  • Download
    5

Embed Size (px)

DESCRIPTION

Eu e meu Amigo Claudio fizemos esta apresentação sobre qualidade de software usando IBM Debug Tool e Rdz.Ela foi submetida e aprovada no 2013 World Congress in Computer Science em Las Vegas. O Claúdio foi lá apresentá-la. Foi na Terça passada!

Citation preview

Page 1: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 1

Code Debugging Tool to Help Teach Mainframe

Programming Languages

MSc Claudio Gonçalves Bernardo

MBA Paulo Roberto C. Batuta Brasília - Brazil

Page 2: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

SUMMARY

I. Introduction

II. Software Test

III. Test Features

IV. Steps of Test

V. Unit Test and Debug Tool

VI. Debug Tool for z/OS

VII. Steps for using Debug Tool

VIII. Use of Testing Debugging Tool for Teaching in Mainframe Environment

IX. Architecture Suggested for University Lab

X. Workstation RDT - RDZ Unit Test

XI. Conclusions

2

Page 3: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Introduction

10 errors can be found for every 1000 lines of code (1 error per KLoC -

Kilo Line of Code).

Test software allows errors to be identified before being delivered to the

customer.

Software quality must consider not only the occurrence of error but also

the software serves the purpose perfectly expected by the client.

An appropriate test is one that discovers the greatest possible number

of faults in the software.

When this software is designed to run Mainframe, becomes an even

greater difficulty.

Mainframe is complex and the characteristics of each facility are

different.

3

Page 4: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Universities see this difficulty as a major obstacle to the teaching of …. COBOL …. PL/I ….. Easytrieve …… Assembler

A single system mainframe can deliver thousands of virtual Linux

platforms with a small fraction the dollar cost, power and space.

The preparation of students for the global IT industry becomes very

difficult.

It is necessary professional has complete mastery of the scenario where

the tests will be carried out.

Should apply innovative uses of technology in the classroom.

Reduce learning time with a closer view of the possible day-to-day

industry produces software for Mainframe environments.

4

Page 5: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 5

Software Test

The need of Software Test is a notorious issue in all organizations that

develop IT solutions.

In a research 50% of companies surveyed 25% or more of IT projects

are completed late, 57% of companies in each two IT initiatives, generated

only a positive business results.

Companies that can accelerate the completion of projects and IT

services acquire a significant profit margin, while the others were not

capable of it are victims of ruthless competition.

The activity of Software Testing performed in a controlled and

disciplined performance ensures superior to software product delivered,

due to the reduced number of errors when it enters the production phase.

Page 6: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 6

Developer should use software agents for prioritizing test cases in order

to maximize the number of faults found during the time available for testing

with a particular order of priority.

Manual tests are time consuming and are prone to many errors.

Tests based searches can help in automating this process by reducing

the time and effort to automatically generate test cases and complex data

for relevant tests.

Defects - Errors - Failures

Defect - An instruction or incorrect command within a source code.

Error - Is a concrete manifestation of the defect when this happens in a

software artifact.

Value obtained vs Expected value

Page 7: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Represents any intermediate state incorrect or unexpected result in the

execution of a program.

Failure - Operational behavior of the software different than expected by

the user

(and it can be caused by several errors !)

Some errors throughout the lifetime of a software solution, can never

cause failure.

Errors generate faults, interpreted as unexpected behaviors in a

software that directly affect the end user of the application.

Some factors such as incorrect understanding of user needs, the lack of

ability to deal with changing requirements and the discovery of serious

problems in the final stages of the project lead to failures in software

7

Page 8: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Faults can be considered as incorrect results regarding specification,

obtained by using the software.

The consequences of failure are faults inserted into software.

Failures may also be the consequence of defects in deployed script

prepared for the tests.

Students of computer programming courses at a university or even

training companies need to have the exact idea of the importance of

testing for the software industry.

Need to understand how IT industry suffers if requirements are

generated.

Understand that inaccuracy directly affects the results that are expected

of program testing to be performed.

8

Page 9: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Test Features

Software Testing is an activity that should be handled only at the end of

the development process.

Delay in detecting errors makes the delayed repair and costly.

So spending on financial correction could be used for other project

activities.

Test becomes of great importance in the development, as it allows the

hits are performed before implementation.

Steps of Test

A good test is not redundant, it should be very simple or very complex.

Each case must be run separately, to avoid masking of errors.

9

Page 10: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

These steps are necessary :

a) Planning

b) Execution

c) Results Evaluation

Results computed vs Expected Results and reports generated notes

A good test strategy should:

Contain the activities to be completed to the test;

Establish criteria for evaluating the software;

Know the types of test to be applied;

Have adequate data to generate results conference;

Start from the most basic level, progressing to reach the software as a

whole, including integrations with other software;

Have flexibility to allow creativity and customization;

Allow monitoring and compliance test plans outlined.

10

Page 11: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Unit Test and Debug Tool

Some people still wonder why to write Unit Test.

A unit test should be able to examine the behavior of the code under the

most varied conditions.

Analyze by the content of the parameters passed

..………what performs and what returns

……….. if a condition is true or not

Is necessary guarantee if were performed types of tests made by the

developer.

11

Page 12: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 12

Need for Completion Test Unit and Coverage Code

Every year lots of tools to aid in development are launched.

In Phase Test Software is no different.

Debug Tool for z/OS

Tool designed to debug individual tests

z/OS is the Operating System Mainframe environment.

Debug Tool for z/OS allows examine, monitor and control the execution

of Programs COBOL , PL/I and ASSEMBLER among others

Page 13: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

An interactive tool for source-level debugging for applications compiled in

a variety of environments.

Supports batch and on-line processing stored procedures in the database

DB2, IMS, and UNIX System Services

Supports a seamless debugging of applications in languages mixed in the

same session

Offers a set of commands that can be interpreted used to specify actions

to be performed

Offers the option of setting breakpoints in an application program,

monitoring changes to variables and noting exceptions and conditions

specified during program execution

Counts how many times a statement or verb was processed in an

application program.

13

Page 14: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 14

Interface with Debug Tool using a terminal

Page 15: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Other features of the tool Debug Tool for z / OS are:

a. Level debugging code; f. Dynamic changes;

b. Multiple breakpoints; g. Modifications of variables;

c. Conditional; h. Entering commands;

d. Unconditional; i. Cover tested code.

e. Debugging step by step; j. Log of the commands used in

the debugging session;

15

Page 16: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

16

1. Compile the program

with support for the

debugger and create

a debug file

2. Set a trigger. For

example, code a

TEST option in the

JCL for batch, or use

CADP for CICS

3. Run the application.

Language

Environment will

receive the TEST

option and start the

debugger

Steps for using Debug Tool

Debug Tool

Program Source

Program

Load

Module

Compile Link Object

z/OS

SYSDEBUG

File

LE

Enterprise COBOL TEST(…) compiler option

Add an LE TEST option to the

JCL that runs the program

Page 17: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Interface with an Application

17

Page 18: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

How Debug for z/OS evidence Coverage Code

The code coverage is evident in a practical manner.

Percentage of code coverage = Number of Lines Tested

---------------------------------- x 100

Total Lines of a Program

Indicates which line of code was executed and how many times it was

executed.

The code coverage is evident when it terminates execution of white box

testing.

The tool executes a command and it makes the calculation and displays.

This enables the programmer to validate the quality and made his test.

18

Page 19: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Debug Tool and Code Coverage (Program Frequency Counting)

19

Page 20: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Need Test of Code Source to Ensure Software Quality

An organization needs to create an Environment of Testing and

Certification

Needs meet ITIL recommendations and the requirements of Basel 2 .

Necessity exists for improvement of software quality and reducing

problems in production.

Intends to achieve this by improving the performance of existing

applications in production as well as prevent new applications are poorly

constructed.

Most of institutions create areas distributed in :

Process, Methodology, Infrastructure, Systems and Production.

20

Page 21: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

To meet objectives of these areas it is necessary to perform tests:

Unit

Functional

Performance

Use of Testing Debugging Tool for Teaching in Mainframe Environment

Training courses in Brazilian universities of Information Technology do not

have computer labs in large scale - Mainframe machines.

Unable to train future professionals in this environment.

IT industry has a demand for professionals is not answered.

There is a deficiency that universities have and the low number of trained

professionals in their own organizations.

21

Page 22: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 22

Architecture Suggested for University Lab

Page 23: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

To attend a training scenario in the industry is necessary:

Implement an architecture that allows access the tool via publishers that

comes in TSO - Time Share Option and Roscoe.

The solution that is presented execute online programs - transactional

batch .

To train students running tests in an environment similar to the

industries, the tool can be performed via workstation RDT - RDZ Unit Test.

It is a development platform for System z running in a personal

computer capable of execute operating system z/OS.

Provides flexibility to run a customized environment because facilitates

developers to easily prototype releasing new applications using mainframe

MIPS - Millions of Instructions per Second

23

Page 24: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 24

This workstation reduces the dependencies because it is an individual

unit.

A university that can not afford to buy a Mainframe machine is able to

buy this unit test, whose server can support about 60 or more clients.

Workstation RDT - RDZ Unit Test

Page 25: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 25

MVS Resources • z/OS Datasets

• JES

• TSO

• CICS Region

• IMS Region

• SCM

• CLISTs/REXX

How RDT - Rational Developer for System z Unit Test functions?

RDz Listener

Started Task

Security/Authorization RACF/ACF-2/Top Secret

RDz interacts with z/OS resources through a host-installed listener

… and interacts through JDBC drivers to data sources

RDz Client Software

Data Resources • DB2 Data Objects

• IMS Databases

JDBC

Eclipse-based IDE that breaks the barriers of the green-screen platform

Runs on Windows and Linux

Integration point for z/OS Application Development tools

Page 26: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 26

Interface with Debug Tool using a graphical user interface

It is software that can be installed on Student workstation

The application running on the mainframe is controlled by the

same debugging engine that is used by the 3270 interface

Debug Tool displays on Student workstation

z/OS

Debug Tool TCP/IP

Application

Debug Tool

Page 27: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Conclusion I

Like all kinds of tests are complementary they are designed to make the

software into the hands of the customer with the fewest mistakes and less

time spent.

The hard part is reaching the exact equation that is capable of delivering

quality products and meeting customer expectations.

This tool can be appointed as a new application in software testing.

Intends to deliver the final product with minimum possible error meeting

all the requirements generated by the end customer.

27

Page 28: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Conclusion II

This research presented a solution for debugging programs Mainframe

and use his suggestion in the activity of preparing students in learning

languages for Mainframe environment.

Its use in an educational facility programming language becomes

essential as it allows the student to know the procedures of preparation

and execution of testing in this environment, step by step.

This activity will prepare graduates to join the industry in development

teams large applications.

The innovative use of this technology in the classroom will meet

industries’ requirements.

28

Page 29: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages

Conclusion III

Can be concluded from this research that the tool assists the university

in teaching programming languages for mainframe environment because it

reproduces the exact tests in the IT industry.

When entering the labor market the newly graduated student will ease

in adapting to a development team or tests,.

He/she will work with the tool he used in his graduation.

Will work with the same profile presented by University.

29

Page 30: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 30

Acknowledgments

Authors of this paper would like to acknowledge:

1 – FAPDF – Fundo de Apoio à Pesquisa do Distrito Federal – A Brazilian

fund of government to support researches. It’s located in Brasília city,

Distrito Federal State

2 – UNIP – Universidade Paulista – Brasília, Brazil

Page 31: Qualidade de Software em zOS usando IBM Debug Tool e RDz

Code Debugging Tool to Help Teach Mainframe Programming Languages 31

Thanks

[email protected]

[email protected]