2017-09-21

SharePoint Online is here and developers are deploying custom code to site collections but, the traditional test processes aren’t as feasible in the new cloud world. This blog hopes to highlight how SharePoint online testing can be done and some of the common issues that SharePoint Online presents.

When working on SharePoint projects there’s always a question on how SharePoint projects should be tested and what aspects of SharePoint should be tested (you want to be testing your customisations and not the product). In traditional SharePoint on-premise instances, testing was somewhat more ‘simple’. This was because testing could be done across multiple SharePoint environments that could be spun up on virtualization software.

This virtualisation or equivalent enabled the testing of these customizations in a completely different environment, thus making the testing more reliable (on the assumption the testing environments are the same) as it would have tested the functionality and the deployment of these solutions.

However, when stepping into the cloud testing becomes much more difficult as it isn’t always feasible to have multiple SharePoint Online environments as this would require multiple tenants. On the other hand, the benefit with SharePoint online is that the majority of customisations are done at a ‘sandbox’ level and contained within a single site collection.

These, therefore, are the two different ways you are able to deploy and test your SharePoint solutions. Deployment to a new SharePoint site collection or deployment to a new SharePoint site collection but in a new tenant.

SharePoint Site Collection – same tenant

For the majority of cases testing SharePoint solutions in a new site collection would be fine. The majority of modifications that are made or deployed (web parts, site content types, site columns or list configurations etc…) can all be tested inside a new site collection with relative confidence that they won’t be affected across multiple sites.

Obviously, the issue with testing a solution in a new site is if the solution contains tenant wide configuration such as:

  • Content Type Hub Inheritance,
  • Global Term Store,
  • Search is used within solution,
  • Business Connectivity Services
  • And more…

SharePoint Site Collection – different tenant

If a solution does use global features of a SharePoint environment then the only way to be confident with the testing would deploy the solution to a new site collection in a different tenant. Deploying the solution in a new tenant would provide the most confidence that the solution would work.

Issues when Testing SharePoint Online

SharePoint Online is, in theory, a moving target. With enhancements and feature releases coming thick and fast with varying levels of the difference they make it is hard to keep track on what releases will affect your solution.

Another, is when trying to ensure that search is working correctly. In SharePoint Online you don’t have the ability to control search like you do for an on premise instance. This can lead to tests being failed because content hasn’t been crawled as fast as one would expect it to be seen. While there isn’t anything you can do to increase the frequency of indexing in SharePoint Online being aware of the issue allows this to be incorporated into the required testing.

A SharePoint Online Environment to Test Successfully

To ensure that testing is complete with enough coverage and done to provide the test leads with enough confidence multiple environments are required. To ensure that customisations across all levels of SharePoint are accurately tested and deployed appropriately four separate tenants are needed.

However, if not possible pre-production can be collapsed into the System Test / UAT environment. These different environments allow all customisations at a site collection level to be tested and all customisations at a tenant level to be tested multiple times.

One issue that can occur is when Microsoft push enhancements they don’t get pushed to all the tenants at once, they are rolled out gradually. This means that in one tenant you may get an enhancement that another tenant hasn’t. This can impact the testing that needs to be carried out – a key example of this was when the modern UI was released as the test scripts that were written did not account for the different ways of navigation around SharePoint.

 

About the author 

Jack Binnall