Top Banner
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx SAP Inside Track Rome 2015 Alessandro Lavazzi Sergio Ferrari
44
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Doctor ZedGe @InsideTrack Rome #sitROME

ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx

SAP Inside Track Rome 2015

Alessandro Lavazzi

Sergio Ferrari

Page 2: Doctor ZedGe @InsideTrack Rome #sitROME

2

ABAP Static Code Analysis

Static Code Analysis of Custom ABAP Code

Page 3: Doctor ZedGe @InsideTrack Rome #sitROME

3

ABAP Static Code Analysis & Tools

Complexity

Number of objects Line of code

Standards

Alerts / Warnings

Metrics

Violations

Page 4: Doctor ZedGe @InsideTrack Rome #sitROME

4

ABAP Static Code Analysis & Tools

Analysis Dashboard

Integration in Lifecycle

Management

Scan Engine

Page 5: Doctor ZedGe @InsideTrack Rome #sitROME

5

ABAP Static Code Analysis & Tools

Page 6: Doctor ZedGe @InsideTrack Rome #sitROME

6

ABAP Static Code Analysis & Tools

Doctor ZedGe

SOLMAN CCMC/CCLM

Hawkeye Monitor

Page 7: Doctor ZedGe @InsideTrack Rome #sitROME

7

Agenda

Code Inspector

Scan Engine

Page 8: Doctor ZedGe @InsideTrack Rome #sitROME

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)

Page 9: Doctor ZedGe @InsideTrack Rome #sitROME

9

Code Inspector - Scan Engine

Transaction SCI

Page 10: Doctor ZedGe @InsideTrack Rome #sitROME

10

Code Inspector - Scan EngineWhat to checkTransaction SCI

Page 11: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 12: Doctor ZedGe @InsideTrack Rome #sitROME

12

Code Inspector - Scan EngineWhat to checkTransaction SCI

Where to check

Page 13: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 14: Doctor ZedGe @InsideTrack Rome #sitROME

14

Code Inspector - Scan Engine

The output screen …

Page 15: Doctor ZedGe @InsideTrack Rome #sitROME

15

Agenda

ABAP Test Cockpit

Integration in Lifecycle

Management

Page 16: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 17: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 18: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 19: Doctor ZedGe @InsideTrack Rome #sitROME

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!

Page 20: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 21: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 22: Doctor ZedGe @InsideTrack Rome #sitROME

22

ABAP Test Cockpit results are well presented to the developer in Eclipse (ADT)

too

ABAP Test Cockpit - Integration in Lifecycle Management

Page 23: Doctor ZedGe @InsideTrack Rome #sitROME

23

Agenda

Doctor ZedGe Hard!Code(Community Edition)

Page 24: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 25: Doctor ZedGe @InsideTrack Rome #sitROME

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*»)

Page 26: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 27: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 28: Doctor ZedGe @InsideTrack Rome #sitROME

28

ABAP Static Code Analysis & Tools

Analysis Dashboard

Integration in Lifecycle

Management

Scan Engine

Code Inspector

ATC

Business Hard!Code Finder

Page 29: Doctor ZedGe @InsideTrack Rome #sitROME

29

Agenda

Doctor ZedGe

Page 30: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 31: Doctor ZedGe @InsideTrack Rome #sitROME

31

Idea

Simplify ATC results!Combine metrics with violations to compute different ratios,

combine indicators via formulas

aggregate and generate nice looking dashboard

Page 32: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 33: Doctor ZedGe @InsideTrack Rome #sitROME

33

Doctor ZedGe - Analysis

Queries developed by Techedge aggregates ATC raw data in the best format for

each Business Role

Page 34: Doctor ZedGe @InsideTrack Rome #sitROME

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.

Page 35: Doctor ZedGe @InsideTrack Rome #sitROME

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)

Page 36: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 37: Doctor ZedGe @InsideTrack Rome #sitROME

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)

Page 38: Doctor ZedGe @InsideTrack Rome #sitROME

38

Doctor ZedGe - Analysis

Here how Change Requests to be approved by PM, QM and AMS look like

Page 39: Doctor ZedGe @InsideTrack Rome #sitROME

39

Doctor ZedGe - Analysis

Here how Change Requests to be approved by PM, QM and AMS look like

Page 40: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 41: Doctor ZedGe @InsideTrack Rome #sitROME

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)

Page 42: Doctor ZedGe @InsideTrack Rome #sitROME

42

Marketing and Sales

Doctor ZedGe is used internally

in Techegede Group to prove the

quality of our projects and

solutions

Page 43: Doctor ZedGe @InsideTrack Rome #sitROME

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

Page 44: Doctor ZedGe @InsideTrack Rome #sitROME

44

Selling options

http://www.techedgegroup.com/oursolutions/doctor-zedge