doctor zedge @insidetrack rome #sitrome
TRANSCRIPT
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
SAP Inside Track Rome 2015
Alessandro Lavazzi
Sergio Ferrari
3
ABAP Static Code Analysis & Tools
Complexity
Number of objects Line of code
Standards
Alerts / Warnings
Metrics
Violations
4
ABAP Static Code Analysis & Tools
Analysis Dashboard
Integration in Lifecycle
Management
Scan Engine
8
Code Inspector - Scan Engine
Code InspectorThe Code Inspector is a tool for checking static ABAP coding and generally all objects of the Object Repository under aspects of Performance, Security, Reliability, and Statistical Information
InstallationIncluded in SAP standard starting from SAP ECC 6.0 EhP 0
(SAP BASIS 7.0)
11
Code Inspector - Scan EngineWhat to checkTransaction SCI
Main types of checks:• Extended Program Check – called to analyze more than 300 rules about alerts and warnings• Code Inspector’s rules - called to obtain Code Metrics and analyze more than 40 rules about
Standards, Security, Performances and even HANA readiness• Custom Check rules – can be plugged into Code Inspector without modification to the
standard
13
Code Inspector - Scan Engine
ExamplesSE38, SE37, SE24 …
ABAP Workbench SE80
Developers can execute the Code Inspector with the standard check variant
contextually with their workflow process
16
Code Inspector - Scan Engine
ABAP Test Cockpit The Powerful enterprise-ready tool to perform static program analysis of Custom ABAP Code (based on Code Inspector).
InstallationIncluded in SAP standard since SAP ECC 6.0 EhP6
17
ABAP Test Cockpit - Integration in Lifecycle Management
All configuration and settings about ABAP Test Cockpit are accessible via the
transaction code ATC
Ten time faster scanning engine thanks to the
ABAP Parallel Processing
18
ATC is integrated in the main development transaction (SE80, SE38, SE37), in
ABAP Workbeanch and in ABAP in Eclipse (ADT).
Developers can execute ATC Inspections as much time as they like
contextually with their workflow process
ABAP Test Cockpit - Integration in Lifecycle Management
19
Superior integration with ABAP Workbench: ATC check on multiple object with a
custom variant.
Developers can execute ATC Inspections on the selected set of objects (e.g.
Package or CR)
ABAP Test Cockpit - Integration in Lifecycle Management
Drag and Drop to add object!
20
ABAP Test Cockpit is integrated in transaction SE80 – Transport Organizer
Before releasing to QAS or just to monitor the deliverables, Team Leaders and
Project Managers can execute ATC Inspections on the selected Change Request
ABAP Test Cockpit - Integration in Lifecycle Management
21
ABAP Test Cockpit - Integration in Lifecycle Management
Powerful out-of-the box exemptions workflow (“4 eyes”) that helps conveniently
suppressing “false-positives”
Superior User Interface to browse ATC runs done that supports: filters, statistics
and Re-check functionality.
ATC Perspettive
22
ABAP Test Cockpit results are well presented to the developer in Eclipse (ADT)
too
ABAP Test Cockpit - Integration in Lifecycle Management
24
Doctor ZedGe - Hard!CodeA free tool to improve your Custom ABAP Code and save money during your next rollouts. It’s a new rule plugged into the Code Inspector to find hard code business values.
InstallationAvailable free-of-charge and installable via Copy & Paste
into SAP ECC 6.0 EhP6 or aboveSCN Blogs
STOP filling your ABAP with Business hard codingGet rid of Business Hard Code from your custom ABAP Code
Doctor ZedGe - Hard!Code– a new rule plugged into the Scan Engine
25
The unique static code check developed by Techedge highlights usage of
Business related Hard-coding
Doctor ZedGe - Hard!Code– a new rule plugged into the Scan Engine
Company Code Hard Code vales
Company Code related hard code value not found in company code matser data, so they could be partial string(«IT*»)
26
SAP standard never uses business related Hard-coding, customers does even
too much. Probably SAP does not image how much this “Anti-pattern” is
popular and dangerous, we do !
Doctor ZedGe - Hard!Code– a new rule plugged into the Scan Engine
27
METHOD busab_mandatory applies a specific business rule for the hard-coded
set of company codes
Who will remember to add the company code of the next roll-out?
How much debug, and how many Change Requests and approvals will be required?
Doctor ZedGe - Hard!Code– a new rule plugged into the Scan Engine
28
ABAP Static Code Analysis & Tools
Analysis Dashboard
Integration in Lifecycle
Management
Scan Engine
Code Inspector
ATC
Business Hard!Code Finder
30
Code Inspector - Scan Engine
Doctor ZedGeA new product that enhance ABAP Test Cockpit presenting results in beautiful and simply MS Excel reports designed for different PERSONA and adding Indexes like Quality and Maintainability.
InstallationStarting from SAP ECC 6.0 EhP 6 (SAP BASIS 7.31 SP05)
Limited number of ABAP objects in the namespace Z3TG_DZG that can be imported in DEV and QAS via a simple Change
RequestSCN Blogs
Getting started with Doctor ZedGe
31
Idea
Simplify ATC results!Combine metrics with violations to compute different ratios,
combine indicators via formulas
aggregate and generate nice looking dashboard
32
Idea
Simplify ATC results!Combine metrics with violations to compute different ratios,
combine indicators via formulas
aggregate and generate nice looking dashboard
Evaluations are
proposed in nice
looking MS Excel
files generated via
abap2xlsx
33
Doctor ZedGe - Analysis
Queries developed by Techedge aggregates ATC raw data in the best format for
each Business Role
34
Doctor ZedGe - Analysis [Persona: DEVELOPER]
For each processing block (e.g. FORM, METHOD, FUNCTION), the Software
Analytics can highlight number of statements, Maintainability Index and
Cyclomatic2 complexity index.
Developers are motivated to adopt modularization via refectory activities.
35
Doctor ZedGe - Analysis [Persona: DEVELOPER]
For each processing block (e.g. FORM, METHOD, FUNCTION), the Software
Analytics can highlight number of statements, Maintainability Index and
Cyclomatic2 complexity index.
Developers are motivated to adopt modularization via refectory activities.
Maintainability IndexThe aim of the MI is to determine how easy it will be to maintain a particular body of code Designed at the University of Idaho in 1991 by Oman and Hagemeister and validated in the field by Hewlett Packard in a fairly extensive trial
𝑴𝑰 = 𝟏𝟕𝟏 − 𝟑, 𝟒𝟐 ln(𝑽) − 𝟎, 𝟐𝟑𝑮 − 𝟏𝟔, 𝟐 ln(𝑳𝑶𝑪)
V = Halstead Volume
G = Cyclomatic Complexity
LOC = count of source Lines Of Code (SLOC)
36
Doctor ZedGe - Analysis [Persona: DEVELOPER]
For each processing block (e.g. FORM, METHOD, FUNCTION), the Software
Analytics can highlight number of statements, Maintainability Index and
Cyclomatic2 complexity index.
Developers are motivated to adopt modularization via refectory activities.
Cyclomatic ComplexityCyclomatic complexity (or conditional complexity) is a software metric (measurement). It was developed by Thomas J. McCabe, Sr. in 1976 and is used to indicate the complexity of a program. It directly measures:• the number of linearly independent paths through a program's
source code.• the number of test cases that are necessary to cover all path
37
Doctor ZedGe – Analysis [Persona: PM, TEAM LEADER]
With ATC runs against Change Requests, Team Leaders and Project managers
can monitor real progress (number of objects) and investigate about exceptions
(e.g. higher MI, Cyclomatic2, lineCount - lower English comments ratio – any
quality or metric Indexes)
40
Doctor ZedGe – Analysis [Persona: SYSTEM OWNER, QUALITY MANAGER]
System owner, can weekly (at the CAB) discuss about trends impacting custom
ABAP quality and in case launch new initiatives to address exceptions
AFTER
BEFORE
Periodic external certifications can be very useful to
audit behaviors of the different internal teams as
well as those of the different suppliers
41
Doctor ZedGe – Analysis [Persona: AMS OWNER]
During Hand-over and Knowledge Transfer (KT) phases, AMS owners can get a
clear picture of the incoming software metrics and violations figures running the
Techedge Software Analytics against the project Change Requests (or ChaRM
documents)
42
Marketing and Sales
Doctor ZedGe is used internally
in Techegede Group to prove the
quality of our projects and
solutions
43
Doctor ZedGe - Analysis
Current Release
- ALV
- XSLX Download
- XLSX via Mail to (distribution list, user or email address)
- Customizable threshold parameters used in the score and metrics
calculation
- ATC Exemptions evaluation
- Storing in the INDX Data Base of the last analysis results
- “Skip standard Include” option
- Findings2XSLX
Next Release
- SAPUI5 Dashboard UI
- SAPUI5 Trend Analysis
- SAP CRM Hard!Code Support
- Integration with SAP Solution Manager ChaRM
- SAP SRM Hard!Code Support (will be released soon)
- SAP BW Hard!Code Support
44
Selling options
http://www.techedgegroup.com/oursolutions/doctor-zedge