Testing a Migration of SAP Commerce
7 min read
Once you've completed the SAP Commerce Platform migration to SAP Commerce Cloud in the Public Cloud, you should test your solution thoroughly before it's deployed into production. In this article you will learn what to consider during this important phase of your migration project.
Table of Contents
The goal of this phase is to give you full confidence in all aspects of your solution, before it goes into production. This can be achieved by executing thorough and realistic testing.
The testing approach of a migration is similar to what is covered in Testing an Upgrade of SAP Commerce. During this activity, the typical testing phases need to be performed: a full regression test to make sure everything still works and acceptance testing to ensure any existing/new functionality works as expected. In addition, you need to execute performance testing to understand if the application's performance has changed from your baseline, and security testing to test for any new security issues that may have risen during the migration. However, migration testing requires key focus on two additional areas of application testing: data and media migration testing and integration testing. It is recommended to run all these testing activities to reduce the risk of unknown issues and to increase the quality of the migration.
As shown in the diagram below, data and media testing and regression testing should be done first and in sequence. Once you have completed these tests then acceptance, integration, security, and performance testing can be done in parallel.
The code should be deployed into your production-like environment (either your stage environment or an additional production environment, if purchased) and should be accessible to the business users that will be using the system in production. It is recommended to refresh your target environment with data from production before performing any tests so that the test is as realistic as possible.
Database and Media Migration Testing
Data and media migration testing is conducted to discover any discrepancies after copying database and media from your existing system to SAP Commerce Cloud in the Public Cloud. This should start at the beginning of the testing cycle to reduce risk of late and costly discovery. Also ensure that the data has been migrated and transformed correctly. It is recommended that you run both, data level (tables and rows count, entitlement) and application level validation testing. Data level validation ensures the data has been migrated from legacy databases to target databases without any discrepancies. Application level validation ensures smooth running of the migrated application with the new database and media. You will need to execute data and media migration testing for all environments provisioned in your subscription (Development, Stage, and Production).
Once the upgraded code has been deployed and the team has confirmed the required data migration is complete, a regression test should be executed to ensure the key scenarios are working in the migrated system. Regression testing should be executed throughout the lifecycle of the project, but it is essential to run the whole suite of regression tests against the potential candidate for production. Once the regression is completed and successful, you can move on to Integration, Acceptance, Security, and Performance testing.
Integration testing is a crucial step in the cloud migration testing journey. Consequently, enough time should be given in your migration project plan. SAP Commerce Cloud supports many types of integrations covered in the article Integration Options for SAP Commerce Cloud. You should validate each of your current integrations with your SAP Commerce Cloud in the Public Cloud solution.
Note: Hot Folders have evolved to be the file-based integration strategy for SAP Commerce Cloud. You should validate your Hot Folders/NFS/sFTP setup work in the newly designed Cloud hot folders to make sure that your Commerce Cloud instance can communicate with Cloud Hot Folders. One of the best of way to do this validation is to upload product media/images to SAP Commerce Cloud using the Cloud Hot Folders. For more on Cloud Hot Folders see Get the Most out of Your Cloud Hot Folders and Azure Blob Storage.
As SAP Commerce Cloud does not offer an SMTP relay server, it is very
important to test transactional e-mails for your e-mail providers (own SMTP server or 3rd Party SMTP
Service) on SAP Commerce Cloud. Regarding
third-party tools, you will need to validate that your
applications are integrated seamlessly with all legacy third-party applications and the communication
between them is happening without errors. For more on e-mail see Integrating an Email Service
with SAP Commerce Cloud
If you're completing a migration with an upgrade, you should be using the same Acceptance criteria and Acceptance testing you used for your upgrade project. Otherwise, you can use the same Acceptance criteria and Acceptance testing for your original deployment. If you are enabling/porting over any new functionality from the target version, make sure you add new test cases and their relevant acceptance criteria for this functionality. This whole suite of test cases should be run by the business users who will be using the system in production. The acceptance criteria should be met before the business QA team signs off on the release candidate that will go to production.
Security issues could be introduced through an unknown bug in the target version of the platform or it could be created by some code adaptations in your solution during migration. Running through your full security suite of tests on the release candidate should be a critical step before signing off on the deployment to production.
Assessing the performance and response time of the applications moved to the SAP Commerce Cloud is important to the migration success. You should run measures and perform comparison between your source system and your migrated SAP Commerce Cloud solution after all the code has been migrated. Refresh your target environment with data from production before performing these types of performance and load tests so that the test is as realistic as possible. Any observed degradation should be resolved before deploying to production.
This article introduced you the importance of testing your existing SAP Commerce functionality and data from your current environment to SAP Commerce Cloud in the Public Cloud before deploying it on production. This step will help you reduce issue on production and maintain your acceptance criteria. Once you've completed all the activities you should move on to deploy a migration of SAP commerce to production.
For more on migrations please see the rest of the articles in the Migrate to SAP Commerce Cloud series.