SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
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
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
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
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
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.
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
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
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
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
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
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
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
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
Code Debugging Tool to Help Teach Mainframe Programming Languages 14
Interface with Debug Tool using a terminal
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
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 LinkObject
z/OS
SYSDEBUG
File
LE
Enterprise COBOL TEST(…) compiler option
Add an LE TEST option to the
JCL that runs the program
Code Debugging Tool to Help Teach Mainframe Programming Languages
Interface with an Application
17
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
Code Debugging Tool to Help Teach Mainframe Programming Languages
Debug Tool and Code Coverage (Program Frequency Counting)
19
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
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
Code Debugging Tool to Help Teach Mainframe Programming Languages 22
Architecture Suggested for University Lab
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
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
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
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
ApplicationDebug Tool
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
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
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
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
Code Debugging Tool to Help Teach Mainframe Programming Languages 31
Thanks
claudiogbernardo@ig.com.br
pbatuta@hotmail.com

Contenu connexe

Tendances

Test driven development
Test driven developmentTest driven development
Test driven development
Harry Potter
 
Nota program development
Nota program developmentNota program development
Nota program development
Azmiah Mahmud
 
Nishar_Resume
Nishar_ResumeNishar_Resume
Nishar_Resume
MD NISHAR
 
A New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From ViosoftA New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From Viosoft
guestc28df4
 

Tendances (16)

Test driven development
Test driven developmentTest driven development
Test driven development
 
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICECODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
CODE REVIEW AND COOPERATIVE PAIR PROGRAMMING BEST PRACTICE
 
PROBLEM SOLVING
PROBLEM SOLVINGPROBLEM SOLVING
PROBLEM SOLVING
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
 
Notacd071
Notacd071Notacd071
Notacd071
 
Bhavani HS
Bhavani HSBhavani HS
Bhavani HS
 
Notacd081
Notacd081Notacd081
Notacd081
 
Nota program development
Nota program developmentNota program development
Nota program development
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
 
Nishar_Resume
Nishar_ResumeNishar_Resume
Nishar_Resume
 
Coding principles
Coding principles Coding principles
Coding principles
 
Sepm t1
Sepm t1Sepm t1
Sepm t1
 
[EN] PLC programs development guidelines
[EN] PLC programs development guidelines[EN] PLC programs development guidelines
[EN] PLC programs development guidelines
 
Ss debuggers
Ss debuggersSs debuggers
Ss debuggers
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
A New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From ViosoftA New Paradigm In Linux Debug From Viosoft
A New Paradigm In Linux Debug From Viosoft
 

Similaire à Qualidade de Software em zOS usando IBM Debug Tool e RDz

Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
TAMILMARAN C
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
jessiehampson
 

Similaire à Qualidade de Software em zOS usando IBM Debug Tool e RDz (20)

Software development slides
Software development slidesSoftware development slides
Software development slides
 
Programming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key DifferencesProgramming vs Coding: Unveiling The Key Differences
Programming vs Coding: Unveiling The Key Differences
 
Computer Programming
Computer Programming Computer Programming
Computer Programming
 
Computer
ComputerComputer
Computer
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
 
Debug tool
Debug toolDebug tool
Debug tool
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
 
grade 10 2023.pptx
grade 10 2023.pptxgrade 10 2023.pptx
grade 10 2023.pptx
 
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docxWeek 3 Lecture 1 - Business SoftwareManagement of Information .docx
Week 3 Lecture 1 - Business SoftwareManagement of Information .docx
 
Required computer skills program devlopment
Required computer skills program devlopmentRequired computer skills program devlopment
Required computer skills program devlopment
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
Quality Software Development
Quality Software DevelopmentQuality Software Development
Quality Software Development
 
Introduction to programming language (basic)
Introduction to programming language (basic)Introduction to programming language (basic)
Introduction to programming language (basic)
 
Sd Revision
Sd RevisionSd Revision
Sd Revision
 
test
testtest
test
 
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdfDEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
DEVELOPMENT TOOLS FOR MICROCONTROLLERS.pdf
 
Defect Tracking Software Project Presentation
Defect Tracking Software Project PresentationDefect Tracking Software Project Presentation
Defect Tracking Software Project Presentation
 
software development and programming languages
software development and programming languages software development and programming languages
software development and programming languages
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
Increasing Quality with DevOps
Increasing Quality with DevOpsIncreasing Quality with DevOps
Increasing Quality with DevOps
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 

Qualidade de Software em zOS usando IBM Debug Tool e RDz

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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.
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. Code Debugging Tool to Help Teach Mainframe Programming Languages 14 Interface with Debug Tool using a terminal
  • 15. 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
  • 16. 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 LinkObject z/OS SYSDEBUG File LE Enterprise COBOL TEST(…) compiler option Add an LE TEST option to the JCL that runs the program
  • 17. Code Debugging Tool to Help Teach Mainframe Programming Languages Interface with an Application 17
  • 18. 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
  • 19. Code Debugging Tool to Help Teach Mainframe Programming Languages Debug Tool and Code Coverage (Program Frequency Counting) 19
  • 20. 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
  • 21. 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
  • 22. Code Debugging Tool to Help Teach Mainframe Programming Languages 22 Architecture Suggested for University Lab
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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 ApplicationDebug Tool
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. Code Debugging Tool to Help Teach Mainframe Programming Languages 31 Thanks claudiogbernardo@ig.com.br pbatuta@hotmail.com