It’s seen at times that a WordPress plugin development team doesn’t consist of a dedicated person for testing. But as unique as we are, we do have a person dedicated for testing. I handle the testing of all the plugins that we release at Tyche. All the updates go through vigorous testing before they are released. This post will give you a sneak preview of our testing environment & why we put so much focus on testing.
We have a separate testing environment, which resides on a different server then our production server. We have a dedicated test website for every plugin of ours. So there are basically 4 test sites set up, one each for WooCommerce Booking & Appointment plugin, WooCommerce Abandoned Cart Pro plugin, Order Delivery Date Pro for WooCommerce plugin and Product Delivery Date Pro for WooCommerce plugin.
For WooCommerce Booking & Appointment plugin, the setup includes all the 7 addons as well.
For every test site, we have a number of products already created for each functionality of the plugin. For instance, for our WooCommerce Booking & Appointment plugin, we have created 115 products which cover all the different combinations of our plugin with our addons and other compatible plugins like WooCommerce Gravity Forms Product Add-Ons, WooCommerce Products addon, WPML & many others.
You might be wondering how would we keep a record of which product has what booking setting. The answer is that we have created a list of the products created on the test website, in a Google Doc which has details of the booking settings for every product. So I just search for the combination I am testing for and the product name is matched.
This allows me to test the update efficiently and can achieve the OTG (On The Go) testing approach. Since the products are already setup, it helps us to focus on testing rather than setting up the products repeatedly for different test cases.
These products have been created by taking into consideration the businesses that use our plugins. This again helps us in enhancing and improving the test cases as per the usability of our plugin.
With a total of 10K+ people using our plugins, it’s very important that introduction of a new feature or fixing an existing bug does not break something that is already working.
Like our most recent update for WooCommerce Booking & Appointment plugin, there were changes in the way prices were calculated when a bookable product is added to the cart. For this update, I had to run a thorough test for every combination as pricing was involved. Nobody likes their site to calculate wrong prices due to an update. It almost took me a week to test all the major features and come to a stable release version of the plugin that was released on Dec 17, 2015.
Testing forms a very important aspect of the work we do at Tyche Softwares. It allows the development team to focus on their core tasks & it allows me to focus on making sure we don’t ship out something that is broke.
How do you test your products? What’s your experience?