Lesson 4 of 5
Quality checks before deploy
11 min
Ready for Production is a status, and a status is only as good as the evidence behind it. This lesson connects the feature workflow to the checks that should be true before anyone sets it: tests executed and passed, defects closed, transports free of conflicts and code free of serious findings.
Test status as an approval criterion
In Cloud ALM, test cases can be linked to requirements, user stories and features, and test runs record results and evidence. That gives the Change Manager something concrete to look at before approving. At Contoso, Luis's rule is simple: a feature moves to Successfully Tested only when its linked test cases have been executed in CMQ with a passed result, and every defect raised against it is closed or explicitly accepted by the process owner.
- Are all linked test cases executed in the quality system?Yes → continue · No → stay In Testing
- Did they pass, with evidence attached?Yes → continue · No → raise or reopen defects, retest
- Are defects against the feature closed or accepted by the process owner?Yes → set Successfully Tested · No → resolve first
- Do transport checks show no unresolved conflicts?Yes → Luis approves Ready for Production · No → sequence or fix transports
Transport checks
Cloud ALM offers transport checks to assess the impact of transports on production before you deploy them. Two matter most. Downgrade protection warns when a transport would overwrite a newer version of an object already in the target, typically because transports are imported out of order. Cross-reference checks warn when a transport refers to objects that are not yet in the target and not in the same deployment, so the import would leave something broken. Checks run per feature and, in the Deployment app, per deployment covering a bundle of features; results are shown per transport with the conflicting transports and objects side by side.
| Check | Question it answers | Typical fix |
|---|---|---|
| Downgrade protection | Would this import overwrite a newer version of an object in production? | Deploy the older feature first, or bring both into the same deployment |
| Cross-reference check | Does this transport need objects that production does not have yet? | Add the feature with the missing objects to the same release, or wait for it |
| ABAP Test Cockpit (ATC) | Does the code have performance, security or S/4HANA compatibility findings? | Fix the code or document an approved exemption before release |
Code quality
For ABAP, the ABAP Test Cockpit (ATC) runs static checks for performance problems, security vulnerabilities and S/4HANA compatibility. SAP's Cloud ALM learning material describes ATC as integrated with Cloud ALM so coding standards can be enforced before deployment. Contoso's rule: no transport is released with ATC priority 1 or 2 findings unless an exemption has been approved by Kenji as ABAP lead.
Approvals that mean something
An approval is a decision by a named person on stated evidence. Make the evidence visible on the feature: link the test runs, mention the ATC result and the transport check result in the description or as a reference, and let the feature history record who set Ready for Production and when. If your organization needs a formal multi-step approval before production, check what your current Cloud ALM release offers; SAP has been extending approval and workflow options, and some teams add them through the Cloud ALM APIs.
The evidence chain
The checks only help if the results end up somewhere a reviewer will see them. Contoso links everything to the feature, so the evidence chain can be read in one place, from the business ask to the import log. When an urgent fix has to move faster, the chain gets shorter, not skipped: a focused test of the fix and the process around it, Luis's approval, and a retrospective review within five working days, recorded on the same feature.
- RequirementApproved business need, with process owner
- FeatureDesign, transports, release, responsible person
- Test runsExecuted in CMQ, passed, evidence attached
- ChecksTransport checks and ATC results recorded
- ApprovalReady for Production set by the Change Manager
- DeploymentImport into CMP confirmed; feature Deployed
What would you do?
Priya reports that a pricing feature passed all its tests, but the transport check shows a downgrade conflict: a hypercare fix in another feature changed the same pricing routine later. What should Luis do?
- Successfully Tested should mean linked test cases executed, passed and evidenced, with defects closed or accepted.
- Downgrade protection catches older versions overwriting newer ones; cross-reference checks catch missing dependencies.
- Transport checks run per feature and per deployment; resolve conflicts before deploying.
- ATC findings and approved exemptions belong in the evidence behind Ready for Production.
Check your understanding · not graded
Lesson check
1. What does a downgrade protection check warn about?
2. What does a cross-reference check look for?
3. Which tool runs static checks on ABAP code for performance, security and compatibility?