Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Testing Checklist After Magento Upgrade
Kostyantyn Systalyuk Avatar

It is important to keep your online store updated to the latest Magento version, as it has the most recent improvements, security updates, and other fixes. And every time such upgrade is performed, the website should be carefully tested to make sure that all issues or conflicts are fixed after the upgrade.

Today we want to share with you our test cases after Magento upgrade that we normally use testing Magento stores.

Testing checklist after Magento upgrade

First recommendation is to start checking your store on the local environment, then on the development website. And only after successful testing move the update to production server, where you test once again.

Before Magento website upgrade

  • Create project DB backup to keep information safe in case something goes wrong during the update.

Here is an example of command from console:

mysqldump --single-transaction -u your_user -h mysql_host -p | gzip > DUMP_NAME.sql.gz
  • Archive or create a copy of Magento website files if you do not use a version control system.
  • Enable logs on your Magento store.

If you already have the project backup, you can upgrade your website.

After successful Magento upgrade the main places should be tested and you can see more information about the test cases below.

After releasing the upgrade

1. First thing after the Magento version upgrade – cache and session folders should be removed.

 rm -rf path_to_the_project/var/cache/*

rm -rf path_to_the_project/var/session/*

rm -rf path_to_the_project/var/full_page_cache #for enterprise edition

2. Flush cache from the admin panel to launch install scripts:

Login into the admin panel → System → Cache Management → Flush Cache Storage.

3. Reindex all indexes

Admin panel → System → Index Management → Select all indexes → Actions: Reindex Data → Submit

Or from console in project folder launch the following command:

php shell/indexer.php reindexall

This process can take some time.

Finally, we can start checking website functionality.

Let’s divide this testing process into two parts: Front end – user side and Backend – admin side.

Frontend – user side

1. General appearance

Here you should check whether general appearance and functionality is not broken after the update in the following places:

  • Home Page
  • Header and Footer links
  • CMS blocks
  • Navigation menu links
  • Page body (slider, content)

2. Product listing

  • View product mode (grid, list etc)
  • Layered navigation (if it is present on the product listing)
  • Product sorting (price, SKU, position etc)
  • Product view limiter on the list page (5, 10, 20 etc)
  • Category or sub-category descriptions
  • Adding product via product listing pages to the cart
  • Navigation to the product page
  • Breadcrumbs

3. Products page

  • Add all types of the products, which are used on your website (Simple, Configurable, Group, Downloadable etc) to the cart to ensure that the Add to Cart functionality works correctly
  • Product qty input field
  • Product images (zoom, images)
  • Product description
  • Product Price (price, special price)
  • Product reviews (check review functionality)
  • Add product to the wishlist and compare list

4. Shopping cart

  • Add products to the cart
  • Change products qty
  • Edit or Delete products from the cart
  • Apply or dismiss discount codes
  • Magento shipping and tax estimate
  • Subtotal and Grand total price
  • Checkout button and Continue shopping button

5. Magento one page checkout

After you filled the cart you need to check the checkout functionality. There are a lot of different types of the checkout pages. Default Magento checkout, One step checkout, and Awesome checkout are the most popular ones. Checkout is one of the main places on the web store. You need to ensure that the checkout works correctly.

  • Customer login, registration, guest checkout on the checkout page.
  • Billing and shipping input fields (First name, Second name, county, Zip code etc)
  • Magento shipping methods (check how the shipping methods are calculated for domestic or international shipping)
  • Magento payment methods.On the local environment you can use the test credentials and sandbox mode for payments methods. You must make sure that everything works well. Do not forget that customers can use various payment methods. You can see enabled payments methods in Magento admin panel:System -> Configuration -> Payment Methods.

You can see the most popular payment testing descriptions below.

  • PayPal. You can create a sandbox for this payment method and check if money is debited from the card correctly
  • Credit or Debit card. You can check this payment using the test cards with enabled test mode or using a real card with minimal total price.
  • Check / Money order
  • Order review step – check in the information here is consistent with the one you have entered above.
  • Success page.

6. Customer account and information

  • Create an Account (customer registration) – Please note that “Middle name” input has been added to the registration form on Magento 1.9.2 and higher and it can appear wrong on custom themes.
  • Login to the Customer account page.
  • Forgot password link. Check if reset password functionality works correctly.
  • Customer Account page.
    • Check all links in the account navigation box (block) like Account information, Address Book, My orders etc.
    • Newsletter Subscription. Check if user can subscribe and unsubscribe correctly.
    • Address book. Add and delete address.

7. Additional Functionality

  • Contact form
  • Modules. Ensure that the installed modules and custom logic are functioning and working correctly with the new version of Magento

8. E-mail. Check if emails are being sent and received correctly

  • Contact us submision
  • Newsletter subscription
  • Registration confirmation and password reset
  • Order confirmation. Do not forget that on Magento 1.9.0 and higher – order confirmation e-mails are sent via Magento cron

Backend – Admin side

1. Sales

  • Creating order via admin panel
  • Submitting invoice (printing and sending to a customer)
  • Submitting shipment (printing and sending to a customer)
  • Credit Memo creation (printing and sending to a customer)

2. Catalog

  • Creating, editing, deleting products (Simple, configurable, bundle etc)
  • Creating, editing, deleting categories.
  • Attributes management
  • Confirm and delete reviews
  • Sitemap generation

3. Customers

  • Creating, editing, deleting customers
  • Customer groups

4. Promotions

  • Creating, editing, deleting catalog price rules
  • Creating, editing, deleting shopping cart price rules

5. Newsletter subscription

6. CMS

  • Creating, editing, deleting CMS pages
  • Creating, editing, deleting static block

7. Reports

Check all report pages.

8. WordPress (if being used)

9. System

  • Import/Export. Check import and export functionality
  • Configuration page.
  • Also, check other pages. If they load correctly.

IMPORTANT

  • Log files. After testing, check Magento log files for errors in var/log/ folder.
  • Patches, if you have updated not to the last Magento version.

This is a general checklist, that we use when testing Magento stores after upgrades. You can use it as a reference when testing your upgraded online store.

Feel free to share your testing experience in the comments section below.

UPD:If you’d like to add some automation to the process, check out this really cool Magento Upgrade testing report generator.