Skip to Content
Author's profile photo Olga Dolinskaja

ABAP Test Cockpit – an Introduction to SAP’s new ABAP Quality Assurance Tool

Bugs in your custom ABAP code can be quite expensive when they impact critical business processes, which is why quality assurance of custom ABAP code is receiving more and more attention in business. SAP also develops a great deal of ABAP code, and for us as well, highest quality is our primary goal. To reach this goal, SAP invested in the ABAP Test Cockpit (ATC), which has become SAP’s main internal quality assurance tool for ABAP.

We asked ourselves, why customers shouldn’t benefit from the ABAP Test Cockpit as well.  We started a pilot project with two customers to find out if the ABAP Test Cockpit can help customers assure the quality of custom code. The results were so positive that SAP decided to adapt and extend the ABAP Test Cockpit for custom code. We collaborated intensively with the pilot customers during the development cycle of the ABAP Test Cockpit. As a result now we have a brand new ABAP check tool developed with the input of customers for customers.

The ATC is already available with EhP2 for SAP NetWeaver 7.0 support package stack 12 (SAP Basis 7.02, SAP Kernel 7.20) and EhP3 for SAP NetWeaver 7.0 support package stack 5 (SAP Basis 7.31, SAP Kernel 7.20).

ABAP Test Cockpit – What is it, what are the benefits?

The ABAP Test Cockpit is a new ABAP check toolset which allows you to run static checks and ABAP Unit tests for your ABAP programs. In order to ensure a smooth migration and comparable check results throughout your company, the ABAP Test Cockpit is compatible with SAP’s Code Inspector. This means you can reuse your custom Code Inspector checks and variants in the ABAP Test Cockpit.

So is it only a Code Inspector ++? We think it is more.

Developers will like the ABAP Test Cockpit because it is directly integrated in the ABAP Develoment Tools for Eclipse (ABAP Test Cockpit for Developers in Eclipse) and ABAP workbench and has superior usability.  Working with ATC findings is very easy and efficient using the new ABAP Test Cockpit filter, navigation, and re-check functionality. Team leads and quality engineers will like the ABAP Test Cockpit because it introduces new quality assurance processes like quality gates, a robust exemption approval process, and periodic regression tests in a quality system.

You can install and run ATC locally in the systems of your development landscape or install ATC centrally as a Hub and check your systems using Remote Code Analysis in ATC. ATC’s support for solid quality processes will minimize the errors in your productive system! In addition, the ATC offers tools to analyze the ABAP Test Cockpit results on the team or project level.  ABAP Test Cockpit is integrated into the SAP Solution Manager (CCLM, CHARM) to allow cross system quality reporting.

Here are the main benefits of ABAP Test Cockpit:

  • Standard code quality with functional, performance, security aspects (ABAP Security Checks with the Code Vulnerability Analyzer (CVA))
  • The ABAP Test Cockpit is fully integrated in the ABAP Development Tools for Eclipse and in ABAP development workbench with high usability for developers and quality experts. Findings are reported in one prioritized work list.

       ATC in ABAP Development Tools for Eclipse:

       ATC in SE80:

  • Easy navigation to the editors to analyze the finding and data flow including the detailed documentation and assistance for the findings
  • Configuration of checks takes place via Code Inspector variants
  • The ABAP Test Cockpit offers superior and easy to use built-in reporting capabilities with filters and aggregated levels.
  • The ABAP Test Cockpit is not only a check tool but supports essential quality assurance techniques like quality gates or regression testing in a consolidation system.

ATC_graph_02.png

  • The ABAP Test Cockpit offers a robust process for managing exemptions (false / positive findings) based on the four-eyes principle.

For more information about the supported quality management processes, please take a look at the corresponding Best Practices document:

For more details about the involved roles (developers, quality extperts, admins) please take a look at the corresponding Getting Started guides:

 

 

Assigned tags

      46 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Dirk Wittenberg
      Dirk Wittenberg

      Hi Christopher,

      the test cockpit looks great. I'm already working a lot with unit tests and the code inspector - so I'm looking forward to the new test cockpit.

      Regards,

      Dirk

      Author's profile photo Vinod Kumar
      Vinod Kumar

      Hi Christopher,

      ATC looks great and interesting.  May be I have to wait for sometime to use this (right now my development system is not updated with Support pack level 12)

      Thanks for sharing the information.

      Regards, Vinod

      Author's profile photo Sunil Deshpande
      Sunil Deshpande

      Great! It is interesting...

      Author's profile photo Jay Raj
      Jay Raj

      That's interesting.

      Author's profile photo Former Member
      Former Member

      Time saving and Productive. Can't wait to use it.

      Author's profile photo Maria João Paulo Rocha
      Maria João Paulo Rocha

      Hi,

      We would like to use ATC!

      How? Is it available for customers?

      We are on Netweaver 7.0 without enhancements; SAP APPL/EA HR and EA_APPL on EHP3.

      Thanks.

      Regards,

      Maria João Rocha

      Author's profile photo Former Member
      Former Member

      Hi Maria João,

      Thanks for your interest in ATC!

      ATC is available for customers starting with NetWeaver 700 EhP 2 (SP 12).

      (This correlates to EhP5 for SAP ERP 6.0)

      So, unfortunately ATC is not in your system yet.

      Perhaps you have a system with a higher release in your landscape and can experience the ATC there?

      Best regards

      Boris

      Author's profile photo Madhu Vadlamani
      Madhu Vadlamani

      Hi Christopher,

      Good one.I am in SAP NetWeaver BI 7.0 is it work. 🙂

      Regards,

      Madhu.

      Author's profile photo pushpalas Vasudeva
      pushpalas Vasudeva

      Useful Document

      Author's profile photo Varkey George
      Varkey George

      Looking forward to the ATC & total cost saving on account of work reduction on ABAP Coding

      Author's profile photo Nigel James
      Nigel James

      Will SAP deliver all enhancement packs with tests that can be run through the ATC so that redundancy tests of existing productive systems can be done with new functionality delivered in those enhancement packs?

      Author's profile photo Former Member
      Former Member

      Hi Nigel

      The ABAP Test Cockpit is based on Code Inspector and runs the Code Inspector checks of a specified global Code Inspector check variant. This implies that custom Code Inspector checks and new Code Inspector checks delivered by SAP can be used in the ATC starting with NW 7.02 (EhP2 for SAP NetWeaver 7.0 support package stack 12).

      In NW releases < 7.02  the Code Inspector tooling must be used to run Code Inspector checks.

      But the tooling (ATC or Code Inspector) is decoupled from the actual Code Inspector checks.

      So the target NW release of new SAP Code Inspector checks can be set individually (independent of the tooling part).

      Best regards

      Boris

      Author's profile photo Former Member
      Former Member

      When can we test it in Minisap?

      Author's profile photo Former Member
      Former Member

      We are currently working on an updated AS ABAP trial which would be sufficient to test ATC. But we can't communicate any release dates yet...

      Best regards,

      Christopher

      Author's profile photo Jeroen Verbrugge
      Jeroen Verbrugge

      Hi,

      I just installed the Preconfigured trial version for Linux SAP NetWeaver Gateway 2.0 SP5

      This system comes with 7.02 SP12. I tried running transaction ATC, all there.

      Christopher Kaestner: can you comment if this gateway trial system contains everything needed to run ATC?

      Thanks,

      Jeroen

      Author's profile photo Former Member
      Former Member

      Hi Jeroen,

      thanks for the hint. Yes, the SAP Netweaver Gateway 2.0 SP5 trial should work fine for ATC as it's based on AS ABAP 7.02 SP12. There are already some notes available you might apply: 1742580, 1743194 (critical), 1750230 (critical), 1762948, 1775289.

      Best regards,

      Christopher

      Author's profile photo Josef Vogler
      Josef Vogler

      Hi Christopher,

      if the description and the technical information given by the check is not detailed enough for me to really get it in my mind in future, how can I find the implementation of the check by the component and the check name?

      For example, for the BC_CCMPLX checks I don't get how it determines which line is an english comment line and what is the algorithm behind it.

      Regards,

      Josef

      Author's profile photo Klaus Ziegler
      Klaus Ziegler

      Hello Josef,

      the BC_CCMPLX check is an SAP internal prototype that has not been released to customers. I can only assume that some debugger magic or some accident has made this prototype visible.

      The ATC customer version reuses the Code Inspector tests. In case one of the Code Inspector tests has deficiencies in the documentation you may consider to open a ticket on component BC-DWB-TOO-ATF (ABAP test frameworks).

      Regards

        Klaus

      Author's profile photo Gaurav Tripathi
      Gaurav Tripathi

      Good One.

      Author's profile photo Former Member
      Former Member

      Hi all.

      Usefull document. Very good.

      Best regards.

      Erlon Lourenço

      Author's profile photo Ashok Babu Kumili
      Ashok Babu Kumili

      Hello Christopher Kaestner,

      Thank you so much for this blog. This is very cool and helpful aid for testing aspects. I specifically love that it is solution oriented.  This is so organised and well described.

      Regards

      Ashok.

      Author's profile photo Former Member
      Former Member

      I have been using it from last 2 years and this is really a good and helpful tool from quality perspective.

      Author's profile photo Former Member
      Former Member

      Hi Christopher

      Is it possible to use ATC exemptions in a landscape where there is no QA system acting like the Master System?

      Let me explain better:

      In my current implementation project, so far we have only a DEV system with 2 clients: 100 for development and customizing, and 110 for testing.

      I would like to use ATC in this way: developers would run ATC checks on their developments at DEV 100, and they could ask for exemptions when necessary. The purpose is to maintain the DEV system "clean" while we don't have a QA system.

      Is it possible?

      Thank you, Best Regards

      Daniel

      Author's profile photo Klaus Ziegler
      Klaus Ziegler
      Author's profile photo Hemendra Sabharwal
      Hemendra Sabharwal

      Many thanks, ATC looks easy to use and interesting.

      Warm Regards

      Hemendra

      Author's profile photo Former Member
      Former Member

      Thanks, hope it helps!

      Author's profile photo Victor Dalchiele
      Victor Dalchiele

      Hi! Im new on the forum. I'm trying ATC in my system, but i have a question:

      Could i scan only objects that are recently created?

      My objective is scan a package once a week but only scan the new objects.

      Thanks for help!

      Author's profile photo Thomas Fiedler
      Thomas Fiedler

      Hi Victor,

      this kind of filtering is currently not supported in ATC. But the requirement is quite clear to us and already in our implementation backlog.

      We will send out the information in our community once we can communicate the availability

      Regards,

      Thomas.

      Author's profile photo Victor Dalchiele
      Victor Dalchiele

      Ok, thanks for answering. Finally we make a "Z" to have this functionality, but I would like to implement the SAP implementation if done.

      Regards!

      Victor Dalchiele

      Author's profile photo Former Member
      Former Member

      Nice Document, Thanks for sharing 🙂

      Author's profile photo Mario Kopp
      Mario Kopp

      Hi !

      I have a question regarding the ATC Checks. Since we have started to improve the quality of our custome code by ATC we see that the Developers very often use the PROGMA functionality. This is normally OK but in some cases the Quality Manager wants that this will not be possible. In other words , the QA wants that some PRAGMAs are not possible and that this have to be done by claiming an Exemption.

      Best regards

      Mario

      Author's profile photo Klaus Ziegler
      Klaus Ziegler

      Hello Mario,

      at present it is not possible to prevent the use for some pragmas and to allow it for others. As stop gap solution one can allow pragmas in general und use a CI search test to raise a finding in case a blacklisted pragma has been used.

      Ciao

      Klaus

      Author's profile photo Former Member
      Former Member

      Hi,

      I'm trying to configure the development system to connect to master ATC system. But ATC configuration on my system is dissabled. How I can connect to master system? Is there any specific role that i should have to connect to master system?

      Regards

      Madhura

      Author's profile photo Klaus Ziegler
      Klaus Ziegler

      Hallo Madhura,

      you need some authorisations, for details check the chapter 'Authorisation for the ATC' of following hyperlink or the online documentation.

      http://dewdfth12408.wdf.sap.corp:1080/NW7.5/EN/e7/5d0aa74857455e82746ed198fc494a/frameset.htm

      Regards

      Klaus

      Author's profile photo Former Member
      Former Member

      Is there a way of getting the ATC into SAP ERP 6 ? SAP Basis 700. Anyone have some information on that?

      Author's profile photo Former Member
      Former Member

      Boris Gebhardt, the product owner of ATC, wrote a while back that the ATC became available to customers with NetWeaver 700 EHP2 (Enhancement Package 2) SP12, which corresponds to EHP5 for SAP ERP 6.0. So there should be a way...

      Author's profile photo Thomas Fiedler
      Thomas Fiedler

      Hi Jerome,

      ATC is available since SAP BASIS 7.02. In older releases you have to ue the Code Inspector. Or you use the remote ATC infrastructure that can connect to 7.00 ABAP systems as well.

      Regards,

      Thomas.

      Author's profile photo Former Member
      Former Member

      Thanks for the replies, when you say remote are you referring to SolMan?

      Author's profile photo Thomas Fiedler
      Thomas Fiedler

      No, the  remote ATC runs on an own AS ABAP instance in your landscape based on SAP BASIS 7.50. The systems connects via RFC to your "old" system and scan the code remotely. SolMan 7.2 cannot beused as the BAsis is 7.40. 

      Regards,

      Thomas.

      Author's profile photo Former Member
      Former Member

      Hi,

      Is there any ATC variant, which checks for the problematic statements in Customer enhancements ( User exits, Customer Exits, Copy routines, BADI ). This is regarding migrating to SOH.

      OR

      How do we check for the problematic statements in Customer enhancements ( User exits, Customer Exits, Copy routines, BADI ) while migrating to SOH.

      The variants FUNCTIONAL_DB and FUNCTIONAL_DB_ADDITION do not capture findings in custom code in Customer enhancements.

      Thanks.

       

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Sunil,

      this is a general issue: how ATC checks the code. We significantly improved the coverage of checked code in ATC with SAP NetWeaver 7.52 enabling to scan the folowing artifacts: modifications, customer enhancements, User/Customer exits, Maintenance views (views and tables used for customizing), Smart Forms.

      Regards,

      Olga.

      Author's profile photo Former Member
      Former Member

      Hi Olga,

       

      Thanks for your quick reply.

      We are on SAP NetWeaver 7.4 and We are migrating to HANA. We want to check for problematic statements in all the customer enhancements, User exits, Customer Exits, Copy routines, BADI's etc..

      Is there a simple or straight forward way to find problematic statements in all the customer enhancements, User exits, Customer Exits, Copy routines, BADI's etc..?

      Or kindly suggest on the approach we need to follow.

       

      Thanks.

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Sunil,

      as I explained above: the source code coverage by ATC was improved in SAP NetWeaver AS ABAP 7.52, therefore you would need to set up such a system (SAP_BASIS 7.52 only) as an ATC central check system to check your SAP NetWeaver 7.4 systems remotely using ATC remote code analysis .

      Best regards,

      Olga.

       

      Author's profile photo Former Member
      Former Member

      Hi Olga,

      Thank you very much.

      Thanks.

      Author's profile photo Sonika Chauhan
      Sonika Chauhan

      Hi Olga,

      Is it possible to implement this autofix feature in Eclipse for our own custom checks in ATC.

      If yes,could you  please suggest any document?

      Thanks.

      Sonika

      Author's profile photo Olga Dolinskaja
      Olga Dolinskaja
      Blog Post Author

      Hi Sonika,

      yes, it is possible. See the guide:

      How to write an ATC Check (PDF).

      Regards,

      Olga.