Magento QA Checklist for Major Changes

This entry was posted on January 10, 2020 by Srđan Nikolić, QA.

QA Checklist

Introduction

It is highly recommended that after the development team has sent a lot of updates to the Magento store for production, it is highly important to check all the significant functionalities that affect sales. This must be done after you have done a large job on a site that affects many parts of the system. And also after such stages as:

  • Updating Magento to the new version
  • Theme updating

Now, let’s take a look at an example of the checklist.

1. Checking the General Appearance of the Site

1.1 Homepage verification
- Check all Homepage versions. If you have multiple domains, check each of them. Also, check both http & https versions.

1.2 Category page verification
- Check all Categories, both through direct links and through UI (Menu, Widget, etc.) - using all possible Category selection methods.

1.3 Product page (slider, content) verification
- Check a single Product Page for all content and verify that mock-up is followed exactly as given.
- Verify that the content is adequate, that the language is correct (if using multilingual options, check each of them).
- Check Slider functionalities (arrows, drag ‘n’ slide, snap to image).
- Check user interactive fields (change values by keyboard entry, by arrows in the case of values/options, valid/invalid formats of entries and errors/messages they trigger)
- Check the appearance, visualization, positioning and logic for displaying labels (new, out of stock, sale, etc.)

1.4 Checkout cart page verification
- Cart page (and widgets for a mini cart if active) verification. Using valid/invalid items (i.e., trying to put Out of stock item to cart).
- Going to Checkout from Cart 
- Going to Checkout from mini cart

1.5 Verification of the checkout page 
-Login (if Guest checkout is allowed, handle it separately)
- Details & Shipping
- Payment
- Review

1.6 Success page verification
- Make a valid order and check the notifications for success (both in a browser and in an email if that option is implemented)

1.7 Verification of functions of the login and authorization
- Creating user with valid entries
- Creating user with invalid entries (checking each field separately, then all of them together). Use equivalence partitioning with Boundary values for testing entries. By all means, test Blank values and use localized character sets if they are allowed.
- Check authorization methods implemented for creating user validation (2-step verification, email verification, SMS verification, Captcha, Re-Captcha, etc.) - Creating multiple users with the same credentials (by all means creating multiple users with the same authentication credentials, if using email to authenticate, then with the same email, etc.)
- Creating multiple users with the same username
- Check password policies and password strength algorithms implementation
- Invalid login (non-existing user)
- Invalid login (existing user, wrong password). Also, check the user login lockout policy implementation considering the number of invalid attempts and/or time intervals for multiple invalid tries. Check for user notification on invalid login attempts policy.
- Multiple valid logins on different browsers from the same device / IP / MAC
- Multiple valid logins on different devices but from same IP source (different MAC / same IP - Proxy, dynamic IP)
- Multiple valid logins on different devices from different addresses (use proxify methods for easier testing on same physical location)
- The session timeout (automatic logout)

1.8 Verification of store locator page
- Verify all locators return valid results
- Verify valid entries on all stores
- Check functionalities on all functions for locator (search, zoom, scroll, etc.)

1.9 Blog page verification
- Verify the page
- Verify if mock-up is implemented correctly
- Verify titles, pictures, dates, comments
- Verify creating a new comment and updating the Blog page for new comment

1.10 Check Navigation menu links
- Check if all links in the Navigation menu work as expected
- Check if all links are implemented in the Navigation menu (check if any are missing)

1.11 Header and Footer links
- Check all Footer and Header links, their functionality and hover tooltips

1.12 Checking all cms blocks/cms pages
- The correctness of the content and the correct language for each multilingual page (if those are existing)

2. Product Page. Category Page. Product Listing

2.1 View product mode (grid, list, etc.)
- Check the selectors for View modes (list, grid)
- Check the sorters (ascend, descend)

2.2 Layered navigation on product/category page
- Check all Layered navigation filters (expand/collapse, activate/deactivate)
- Multiple choices selecting (from the sidebar and from the main page buttons - for cancelation)

2.3 Product sorting (price, SKU, position, etc.)
- Check if sorting is valid on all types of sorters (if alpha-like names, be sure to check for the correct alphabetical order, double-check if sorting is in the localized alphabet)

2.4 Product view limiter on the list page
- Check for the correct number of items displayed per page (unless using infinite loaders)
- Check the behavior of Infinite loaders (if used) when going back from Product to Category page.

2.5 Category or sub-category descriptions. Main banners
- Check all elements, and text - check the mock-up for verification

2.6 Adding product via product listing pages to the cart
- Check for adding Out of stock product (invalid check)
- Check for adding several different configurations of the same configurable product to the cart (the mini cart too, if active)
- Check for adding unavailable quantity to the cart

2.7 Navigation to the Product page. Breadcrumbs
- Check every possible way to lend on the Product page.
- Check every segment in a breadcrumb leading to the correct destination

2.8 Add all types of products used on your website (Simple, Configurable, Bundled) to the cart to ensure that the Add to Cart functionality works correctly
- Try adding multiple same products (to check if it will duplicate entry, or sum the quantities)
- Try adding the same configurable product with different configurations to check if it will treat them as the same or a different item)
- Check validation for possible quantities when adding a bundle product

2.9 Product quantity input field
- Check for invalid entries
- Check navigating options via arrows, mouse, keyboard
- Check copy/paste in the field for valid and invalid entries

2.10 Product description. Product images (zoom, images)
- Check the validity of text/language
- Check the functionality of picture operations (zoom, slide, drag, etc.)

2.11 Product Price (price, special price, other types of prices). Button Sold out. Out of stock. New. Sale.
- Check if the prices appear in the desired format (color, size, position)
- Check the display of prices when having all combination of prices included in a product (regular, special, fictional, bundled, etc.)
- Check with equal prices and with impossible prices

2.12 Product reviews, questions (check the review functionality)
- Try to add/approve of displaying a review/question
- Check all valid/invalid entries on a field form for a review/question

2.13 Add products to the wishlist/wishlists and compare list
- Check add/remove to/from wishlist functionality
- Check the comparing option on products
- Check for different behavior on guests and logged users when using wishlist/compare

 

Product Listing

1. Product Listing
 

3. Customer Account and Information

3.1 Create an Account. Forgotten Password
- Check the creating account functionalities
- Try creating multiple accounts with the same credentials
- Reset password functionality. Reset link timeout policy.

3.2 Login / Logout
- Check valid/invalid login.
- Logout functionality. 
- Multiple browser simultaneous logins with the same credentials.

3.3 Newsletter Subscription
- Signing in / signing out of a subscription.
- Validation of subscription using email.
- Timeout for a subscription validation link.

3.4 Add, edit and delete shipping/billing address. Additional addresses
- Check valid/invalid entries for address entry.
- Setting an address as shipping/billing. The same address for both options.
- Check editing fields for existing entries.
- Validate the deletion of address entries. 

3.5 Dashboard. Dropdown menu. Orders. Saved cards. My account details. My Wishlist
- Check account navigation. Access functionality via dropdown menu (if existing)
- Check orders form. Returns form options.
- Check saved options (payment options, loyalty cards, etc.)
- Check all info on the account page
- Check single/multiple Wishlist functionality (separately for guest/logged user if it differs in behavior)

4. Shopping Cart. Main Functionality

4.1 Add a product to the cart. The products of varying quantities
- Add out of stock product to cart. Add unavailable quantity to the cart
- Add a product from the wishlist to the cart
- Save available product to the wishlist, then change the status to ‘Out of stock’ and try adding it to the cart from the wishlist 

4.2 Change or remove products from the shopping cart
- Check the removing from cart options
- Check modifying quantity/options on configurable products
- Check the Mini Cart functionality (if existing)
- Try modifying the configurable product to be the same as the already present product with different configuration options (the usual scenario is to merge those two entries and sum the quantities with quantity availability check in the process)

4.3 To apply or to cancel discount codes or gift vouchers
- Try applying gift/discount/loyalty codes to products/cart
- Check the revoking code functionality

4.4 Shipping cost and taxes
- Check calculation of shipment/taxes
- Check calculation when having differently taxed products combined together 

4.5 Midterm and final price, the ”Proceed to checkout” button and “Continue Shopping” button
- Check functionality for options in cart (checkout, continue shopping, set a reminder - if existing)
- Check midterm prices on a single product when having greater quantities
- Check final price when having different quantities on multiple products, and when having different types of products (configurable/bundle/grouped)

4.6 The ability to use different payment methods - credit cards, virtual cards, BitCoins
- Check functionality for payment options that are available
- Check if there are additional costs for some payment options

 

2. Magento Checklist
 

5. Checkout Page

5.1 Customer login, registration, guest checkout on the checkout page
- If no guest checkout is allowed, check for login enforcement on the checkout page
- Check login/registration functionality on the checkout page if guest checkout is not allowed

5.2 Billing and shipping input fields (first name, last name, country, Zip code, etc.)
- Check the selection of Billing/Shipping addresses.
- Try entering the Billing/Shipping addresses directly in the checkout form.

5.3 Date of birth. Phone number
- Check valid/invalid entries if using these fields

5.4 Payment methods (PayPal / Check / Money order / Credit Card / Afterpay / etc.)
- Try selecting and processing all available payment options
- Check Pay on delivery options (if existing)
- Check virtual currency options (BitCoin, Ethereum, LiteCoin, etc.)

5.5 Shipping methods. Carrier options
- Check selection of all carrier options
- Check different shipping methods

5.6 Voucher code. Gift wrap. Comments. Review orders
- Try applying different discount options (voucher codes, loyalty cards, gift codes, etc.)
- Try selecting various packaging options (gift wrap, custom message, etc.)
- Check commenting functionalities 
- Check review order information on the checkout page

5.7 Success page
- Check the Success page

6. Transactional Email

6.1 Contact us submission
- Check ‘contact us’ form submitting

6.2 Newsletter subscription
- Check email templates for subscribing/unsubscribing to the newsletter
- Check newsletter delivery

6.3 Registration confirmation and password reset
- Check email templates for creating a user
- Check email templates for password reset functionality

6.4 Order confirmation
- Check email template for order confirmation (if enabled) or for order information (if confirmation is disabled)

6.5 Other types of email templates
- Check for all other email templates (promotions, legal changes, cart reminder, preorder notifications, backorder notifications, etc.)

Conclusion

This is just an exemplary checklist, and many Magento sites will have some of these options and also some that might not be mentioned here, but it can serve as a pretty good base to start with.

3. The QA Process

 

This entry was posted in Magento 2 and tagged Magento, Web Development, SyncIt Group, Web, QA, QA Checklist, Magento QA Checklist, Website Appearance, Product Page, Category Page, Product Listing, Customer Account, Shopping Cart, Checkout Page, Transactional Email on January 10, 2020 by Srđan Nikolić, QA .