Aem As a Cloud Service - running custom functional tests before AEM automatic update

Avatar

Avatar

joannaj49016259

Avatar

joannaj49016259

joannaj49016259

09-06-2020

Hello,

as Adobe documentation says, AEM stage and prod Cloud environments are updated transparently on a regular basis, even once a day. Also AEM updates are performed independently from custom project code updates (please correct me if I'm wrong).

If that's true - what would happen if some AEM update requires updates in project's code? How can we assure that our project is compatible with each AEM update, and prevent regression on PROD environment?

For example, is there any extension/check point in AEM automatic updates process/pipeline that allows to perform custom functional tests on stage environment updated with NEWEST (updated)  AEM version, to make sure that everything works fine, BEFORE prod environment is updated with this newest AEM version?

Regards.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

kaushal_mall

Employee

Avatar

kaushal_mall

Employee

kaushal_mall
Employee

09-06-2020

@joannaj49016259 

Each release is validated against customer instances before being classified as safe and pushed out. If you write unit tests and functional tests using https://docs.adobe.com/content/help/en/experience-manager-cloud-service/implementing/developing/unde...

and if a new release breaks any of these tests, they will mark it unsafe and stop the release. 

 

@Arun_Patidar this is true for ALL Cloud Service releases (major and minor), if you have read differently, please point me to the docs and we will get it fixed. 

Answers (3)

Answers (3)

Avatar

Avatar

akashk22786878

Employee

Avatar

akashk22786878

Employee

akashk22786878
Employee

09-06-2020

Hi @joannaj49016259,

 

There is extensive testing involved as part of the update and it will create an image first. If there are some issues then the instance is kept to the previous state. Also as mentioned in the doc, since AEM as a Cloud Service evolves on a daily basis, based on the projects implemented by our customers. Content, code and configurations are constantly reviewed and vetted against best practices. 

 

While deploying your code on AEM instance via pipelines we have strict security scans and tests that are in place to make sure the custom changes do not intervene with product code.

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

958

Correct Answer

820

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

958

Correct Answer

820
Arun_Patidar
MVP

09-06-2020

Hi According to Adobe,

 

They have validation at place but not for minor releases but if they releasing anything major then they make sure your code is compatible with the upgrade.

 

There was a webinar and the same thing also discussed over there, you can have a look

PDF: https://documentcloud.adobe.com/link/track?uri=urn%3Aaaid%3Ascds%3AUS%3Aaa362999-1507-4c86-ba2d-1d28... 

Recording : https://seminars.adobeconnect.com/pdmds8fr5kt2/ 

Avatar

Avatar

joannaj49016259

Avatar

joannaj49016259

joannaj49016259

15-06-2020

Hello, 

thank you all for responses.

 

@kaushal_mall 

Still it's not clear for me when functional tests are executed, maybe because of some differences in naming convention. My first thought was Custom Functional Testing phase of production deployment (https://docs.adobe.com/content/help/en/experience-manager-cloud-service/implementing/developing/unde...). This is what I'm interested in, because in my project we have author interface tests, written in robot framework, and these require code to be deployed before run.

 

According to doc https://docs.adobe.com/content/help/en/experience-manager-cloud-service/implementing/developing/unde...running functional tests happens on maven package phase, so it's more like integration-tests (?), performed before code deploy which complies with mentioned by @Arun_Patidar  webinar presentation, slide 23. 

 

Please correct me if I missed something here.

 

To summarize: if I want to prevent regression while AEM automatic update and when my tests require project code to be deployed before tests execution, what possibilities I have? 

1. can I use webhooks? Will these approach work in case of automatic AEM update?

2. rewrite my tests to produce JAR file that could be run on stage in Custom Functional Testing phase?

3. other?