1TSI-11/02
Putting NATURAL to the Test
Presented by
J. Wayne LashleyGroup Leader, Consulting and Technical Sales
Treehouse Software, Inc.
2TSI-11/02
• TSI Company background
• Enterprise NATURAL development today
• Categories of testing
• Testing tools
• Conclusion
Agenda
3TSI-11/02
Company Background
• Established in 1982
• 27 Personnel
• Leading provider of systems software products and consulting services for Software AG customers
• Over 500 customers
• Worldwide presence
4TSI-11/02
Enterprise NATURAL Development Today
• Do more and do faster with less• Wear many hats: analyst, designer,
coder, tester, DBA, guru…• Maintain unfamiliar, undocumented
systems• Adapt legacy systems to new
technologies• Work in teams of varying skill levels
– People without ADABAS/NATURAL skills– Contractors
5TSI-11/02
Categories of Testing
• Unit• Integration• Performance/Load/Stress• System• Regression/Maintenance• User Acceptance• Documentation
6TSI-11/02
Unit Testing
• Module-oriented
• Parallelizable
• White box approach
• Stubs and drivers (Construct sites have advantage)
7TSI-11/02
Integration Testing
• Test units as a whole structure
• Discover interface errors
• Incremental build-up
8TSI-11/02
Performance/Load/Stress Testing
• Oriented to tested integrated system
• Test performance under various load conditions, including extreme
• Monitor resource usage
9TSI-11/02
System Testing
• Oriented to tested integrated system
• Exercise all required functions
• Verify completeness of functions and testing strategies
10TSI-11/02
Regression/Maintenance Testing
• Identify where changes have resulted in unintended behavior or new errors
• Comparative in nature
• Defined test cases
11TSI-11/02
User Acceptance Testing
• Workflow scenarios
• Validate against user manuals and documentation
• Identify cumulative errors
12TSI-11/02
Documentation
• Inventory of test cases, scripts and results
• Metrics
• Training materials
• Manuals
14TSI-11/02
Testing Tools
• “Stone tools”• DBLOG• NATURAL debugger• NATPAGE facility• Recording facility• PROFILER for NATURAL• …
15TSI-11/02
Tool Roles in Testing
Unit Integ Perf System Regr Accept Doc
“Stone
tools” √ √
DBLOG √ √
DEBUG √ √ √ √ √
NATPAGE √ √ √ √RECORD √ √ √ √ √ √ √
PROFILER √ √ √ √ √ √ √
18TSI-11/02
DBLOG Concepts
• Trace and trap database calls
• Display buffer contents– CB, FB, RB, SB, VB, IB
• Display response codes and subcodes
• Filter on command type, DBID, FNR, response code, program, line
36TSI-11/02
Debugger Concepts
• Interactive (difficult for testing batch)
• Breakpoints and watchpoints
• Test “environments”
• Invoke at any time (%<TEST)
• Monitor and alter variables
• Monitor and influence flow
41TSI-11/02
NATPAGE Concepts
• Interactively capture screen contents
• Capture sequence of screens or individually
• Playback is not execution
• Before/after comparisons useful for regression testing
42TSI-11/02
NATPAGE Terminal Control Commands
%P Activates NATPAGE and captures contents of the current screen and all subsequent screens.
%I Activates NATPAGE and captures contents of the current screen.
%O Terminates NATPAGE.
%S Resumes NATPAGE.
%E Displays the screens captured with NATPAGE.
51TSI-11/02
Recording - Concepts
• Capture keystrokes and inputs• Playback actually executes NATURAL
objects• Film mode and background (non-display)
mode• Creates “source” member in NATURAL
library• Can invoke recording during another
recording (concatenation)
52TSI-11/02
Recording - Terminal Control Commands
%B=libname Specify NATURAL library to capture recording “source”.
%Bname Activate recording.
%B Terminates recording.
%Aname Play back recording.
%G[ON|OFF] Switch between background (default) and film mode.
62TSI-11/02
PROFILER Overview
• Quality Assurance and Testing Tool for developing/improving NATURAL objects and applications
• Monitors the execution of each statement within a “running” NATURAL object
• Comprehensive and flexible reporting• Easy-to-use "tool-like" user interface• Online and batch usage
63TSI-11/02
PROFILER Features• Can be run in background with or
without the knowledge of the user• Only impacts the user who has
started PROFILER• Negligible overhead to NATURAL
86TSI-11/02
How does PROFILER work? NATURAL
PROFILER PROFILER Statistics
DATABASEPROFILERStandard Reporting
PROFILEREnhanced Reporting
PROFILERstats file(FUSER)
PROFILEREnhancedReport File
StandardReports
CustomReports
.
87TSI-11/02
PROFILER Roles• Quality Assurance
– Identify untested code– Report the percentage of an application
tested
• Testing– Find weaknesses in test data and
procedures
• Debugging– Find which statements are actually being
executed, how often, and at what cost
88TSI-11/02
PROFILER Roles (cont’d)• Performance Analysis
– Identify expensive database accesses– Identify problem code, inefficient code, and poor
application/object design
• Evaluation– Assess the impact of application or database
changes
• Documentation– Test case execution and coverage– Testing metrics and participants
89TSI-11/02
PROFILER Roles (cont’d)
• Education– Gain insight into NATURAL’s
internals– Evaluate NATURAL statement
efficiency– Learn how an application works
• Application Analysis– Visual aid to verify application and
programmatic flow
90TSI-11/02
The Treehouse Products
Solution Category
Products Business Need
Data Transfer tRelational, tRelational PC, DPS
Easy access to ADABAS data for data warehouse, business intelligence and other off-the-shelf Internet and intranet applications
Data Integration FKS II Integrating applications and data within the enterprise or between business partners
Performance Management
TRIM Better performance from ADABAS and NATURAL applications
Development CHART, PEEK, PROFILER, N20
Lower cost to support and enhance existing NATURAL applications
Change Management
N2O, N2O/3GL Ability to track and manage changes to business- critical NATURAL applications and ADABAS installations
Security SECURITRE, AUDITRE Ability to manage security for ADABAS and NATURAL Applications under ACF2, TOP SECRET, or RACF
Database Utilities
ADAREORG, ADASTRIP, AUTOLOADER, QDUMP
Tools to increase the productivity of limited DBA resources
Mainframe Emulators
SEDIT, S/REXX, S/REXX Debugger
Mainframe XEDIT and REXX emulators for UNIX and Windows users
92TSI-11/02
PEEK Product Overview
• ADABAS file browsing utility• Easily find, examine, and optionally modify the
data in an ADABAS file• All of the data in a file is accessible
– few keystrokes– virtually any order desired
• NATURAL application that issues direct calls to ADABAS
• Files may be read using Histogram, Read Logical, Read Physical, Read by ISN, Find, or Get ISN List commands by any desired keys
93TSI-11/02
CHART Product Overview• NATURAL application analysis and
documentation tool• Draws program calling structures, using
source code• All other objects detected are drawn in an
easy-to-read format - a CHART• Excludes object types from the CHART• “Suppress” objects from “expansion”• Can be used on-line or in batch• Export charts to Microsoft Visio
94TSI-11/02
N2O Product Overview• NATURAL Change Management with 3GL
Support, Project Tracking and N2OSCAN
• Migrates NATURAL objects, PREDICT objects, and SYSERR messages
• N2O/3GL migrates members stored in LIBRARIAN, PANVALET, ENDEVOR, or MVS PDSs
• Project Tracking maintains information about organizational activities
• N2OSCAN processes the source of NATURAL objects, scanning for strings over a user-specified object/library range
95TSI-11/02
TRIM Product Overview• Performance, Tuning, Monitoring for ADABAS
and NATURAL Installations
• Menu-driven Real-time Monitor
• Menu-driven NATURAL Monitor
• Parameter driven control and reporting features
• Assists:- DBAs- Data Analysts- Application Programmers
96TSI-11/02
TRIM Product Overview• While ADABAS is active
- Dynamic Control and Security (UEX1)- PRESUM logging summarizations - Selected detail command logging- On-line, Real-time Monitor (logging not required)- Hardcopy Nucleus Session Statistics (logging not required)- NATURAL Program Monitoring
• Not requiring an active database- PRESUM data reporting- Detail Command Log (CLOG) reports- Protection Log (PLOG) reports
97TSI-11/02
AUDITRE Product Overview• Standardized ADABAS/NATURAL
auditing facility
• Simple, powerful, valuable
• Parameter driven reporting features
• Assists:- IT Management- DBAs- Applications and Systems Analysts- Application Programmers- EDP Auditors- End Users
98TSI-11/02
In Conclusion…• Range of testing categories and
techniques requires a range of tools• NATURAL provides a rich testing toolset
but still room for third parties to add value• Leveraging the right tool for the job helps
meet the demands on today’s enterprise NATURAL developer
99TSI-11/02
About TSI…• Mature products• Easy to install, simple to use, powerful,
and efficient• Free trials, reasonable prices, and multiple
product and multiple site discounts• Large, active customer base• International affiliates, European presence• Full-time support staff, responsive to
change/enhancement requests• Training and consulting available