Approaches to testing a product that creates customizable websites

Hi all,

As mentioned above, I’m moving to a new project which which creates customizable websites which plug into an E-commerce site.

Any advice of testing approaches, tools used etc would be much appreciated.

In a previous life I focused on making sure that the individual widgets were well tested and had some level of unit testing. The challenge of testing of something like a CMS is that you have the base level support then when the product is delivered to the customer they have many many modifications that also occur. So there might be efforts split across both of those the low level infrastructure and the customer level modifications.

1 Like

Based on my experience in testing a CMS of similar purpose:

First, establish where the boundaries run:

  • between your product and the larger e-commerce site
  • between the baseline website and customer modifications

Otherwise you can get overwhelmed with issues which are completely out of your hand. How you handle problems at these boundaries is project dependent but don’t consider the whole world your responsibility, that way lies madness.

Always start with the default, baseline website.
Then, as @alanmbarr said, ensure that the baseline individual components are well tested internally.
Next, focus on the interfaces between the individual widgets and between your product and the larger e-commerce site.

If possible, automate the creation of a simple baseline frontend with all the widgets and some content (a few categories, products/articles, images, the standard assets such as CSS it will be shipped with) so you can spin it up quickly after a new build. Back when I did it it was almost all done inside the database. Keep these scripts up to date and version-controlled.

Make sure to test the backend against the various browsers that your customizers will be using. Run cross-browser tests for the frontend / end users too, but consider these two groups separately.

Remember that people use Office to compose texts and specifications and then paste them into the CMS editor. Invisible special characters used to massively mess up JavaScript editors, I didn’t have the opportunity to check for that for a while now but it’s a pain to diagnose when it happens.

For the customizations, prioritize testing according to risk (impact x probability, where impact is how badly things can break and probability is how many customized websites use the component and/or specific kind of customization).
Look for test ideas in existing bug reports if you have any available, and include checking for newly reported bugs in higher-risk areas in your testing.
You can also extend the script for baseline site creation with additional modules to cover some most popular customizations. Keep them version-controlled as well.

That’s all so off the top of my head, if I remember something else, I’ll add it here. Good luck in the new project!

1 Like

@maos brings up a good point. The Word hidden xml stuff ended up breaking something when people copy pasted into an input field of a wysiwyg editor for an app i worked on.