What is the ABAP Test Cockpit? What’s in it for developers?
The ABAP Test Cockpit (ATC) is ABAP’s new integrated, standard tool for quality checking. ATC is available from EhP2 for SAP NetWeaver 7.0 with support package stack 12. September, 2012 onwards.
What do developers want? We want to deliver high-quality software. We want to be sure that changes in a complex program are safe and without side-effects. But we all know as well that mistakes can happen. So we want to find such mistakes quickly, automatically, and before a development leaves the development system. And we want quality-checking tools that are simple, fast, and automated.
The ATC aims to satisfy all of these wishes and make quality checking in ABAP easier and more efficient than ever before:
- The ATC is designed by and for developers. It’s integrated directly in all of the ABAP development transactions – two clicks and no interaction away from running. It’s easy to check a program or the entire contents of a package. And the ATC can be set up to check the contents of transport requests automatically at the release of a request.
- The ATC streamlines quality checking for ABAP developers. Results are presented to you directly in an easy-to-use, easy- to-filter list. All of the analysis and correction features you need are integrated right into an ATC finding. The ATC Results Browser in transaction SE80, the ABAP Object Navigator, makes it easy to keep track of ATC results – your own or central check results from your Quality Manager.
- Robust central quality checking: You can use the ATC for your own individual or team quality checks in your development system. But the ATC also puts central quality checking on a sound basis.
At the ATC master system – usually a central quality or test system – quality experts can manage and run large-scale central checks on newly transported development objects or for regression testing. The results of these checks can be replicated to satellite development systems, where developers work.
As a developer, you always know exactly which central result is current and active; it’s published to your development system and marked as the current result. You can access findings by various filter and grouping options. From a particular finding you can directly correct and recheck the code. In case of false positives you can apply for an exemption.
Note: If you use ABAP Development Tools in Eclipse please refer now to ATC for Developers in Eclipse. The following information relates only to the SE80-developers.
How do I start a local ATC check?
To do a quality check in your development system, do the following:
- Choose a development object (for example, a package from the navigation panel in SE80 (the Object Navigator).
- Open the context menu and choose Check -> ABAP Test Cockpit.
The ATC is available in all ABAP Workbench transactions (including SE80, SE24, SE38, SE37, SE11).
- The ATC reports its progress in the status line. It presents its findings to you automatically when it is done.
- If you start the ATC from a package, then it checks all development objects in the package and the package hierarchy.
- You can have the ATC run your ABAP Unit tests as one of the checks.
- When the check run is done, the ATC presents the results to you – either the message that all checks were passed, or a list of problem findings.
- The ATC uses the standard check profile established by your QM. You and your QM in the consolidation system are therefore looking at the results of the same set of checks.
Where do I find central ATC results and the current active result?
The results of central checks typically cover a larger code base. Central checks help to identify flaws also in unchanged code. This is especially helpful to locate problems caused by side effects. Central Checks are scheduled by quality management and published to everyone.
The current active central result is the one that your quality manager has marked as the most up-to-date ATC result. Use this result to analyze and correct quality issues in your code base.
To find the current active central result, do the following:
- Go to transaction SE80, the ABAP Object Navigator.
- Do you see the ATC Result Browser in the navigation panel? If not, then activate it. Choose Utilities -> Settings and mark the ATC Result Browser:
- When you open the browser, you will see the current central results from the consolidation system highlighted:
Your QM publishes the active central results from the consolidation system or quality system where the central check runs. So you are always sure to see the current active result. In the central result, you can work directly with the findings. And you can apply for exemptions against the central result right from your development system.
How do I work with ATC findings?
Here is how to work with ATC findings (the ATC name for a ‘problem message’):
- Display the findings for code which you are responsible in your development system. (Working with findings is the same whether they come from your own local check or from the active central check. But you can apply for exemptions only against the central results).
- Double-click on a message to open the Details. From there, you can edit your program, apply for an exemption, or see help information.
How do I request exemptions for ATC findings that I cannot fix?
Request an exemption if you cannot correct an ATC finding, for whatever reason (false positive finding…). The exemption masks the finding as long as the exemption remains valid.
Here is how to apply for an exemption:
- In your development system, go to transaction SE80 and open the ATC Result Browser from the navigation panel.
- Open the current active result – the result marked with the light bulb icon.
- Open the Details of any finding for which you need to request an exemption. Click on the Apply for an Exemption link at the bottom of the screen.
- Accept the defaults on the Granularity and Scope screen of the exemption wizard:
- On the Approver and Reason screen of the wizard, pick out a quality manager (QM) to review the request and approve the exemption. You also must explain the need for the exemption. You can choose from fixed ‘reason’ categories and also enter your own supporting explanation. By default, you are notified by e-mail if the request is rejected.
- Click on Complete to submit the exemption request to your QM.
If the exemption is approved, the exempted finding disappears from the list of findings in the next active result. But you can display it again by choosing Findings > Exempted Findings from the tool bar of the list.
Defining personal ATC preferences
The ATC toolset has been integrated into ABAP Workbench Settings, so you can now customize ATC: the browser, the result display and the editor integration.
In SE80, choose Utilities > Settings, and select the ABAP Test Cockpit tab. There, you’ll find these options:
What is the Quick Filter?
By default, the ATC Results Browser opens with the new Quick Filter. With the Quick Filter, you can access the findings of interest quickly and flexibly. For example, the findings on my objects in package ZATC and have a priority of at least 2:
To save an advanced selection, do the following:
- Choose Switch Filter Type > Advanced Filter from the tool bar of the results display.
- Enter your filter specifications in the selection screen and click on Save to save them as a variant. The ATC rescues any values in the Quick Filter to the Advanced Filter as default values.
- When you want to use the variant, fetch it with Load Variant from the saved variants. Or customize the ATC to start with your variant.