121eCommerce

What is automated QA & testing?

Automated testing (aka smoke testing) is the process of using scripts that perform automated tests of predefined actions that simulate a real user’s session.

Script: Code that is written to perform a single action (e.g., go to homepage, perform a search, change quantity of an item in the cart, update address, choose color of a product, etc.). These scripts can be linked together to create a series of steps that simulate a real user’s session.

What are the benefïts of automated testing?

Reduced business expenses
After an initial investment for custom script writing, automated testing can be a long-term, cost-effective solution. The amount of time needed to run tests is sharply reduced and post-release glitches are prevented, both of which can decrease overall project cost.

Improved testing efficiency
Although automated testing takes longer to set up, the tests themselves take up a significantly lesser amount of time to run. Automated tests can be run virtually unattended, while the results can be monitored towards the end of the process. For example, after a deploy, it could take 8 to 20 hours for a QA engineer to manually perform up to 1000 tests. Automated testing could complete the same amount of tests (if not more) in ten minutes.

Accuracy in test coverage
QA engineers have a limited focus of product specifics. Automated testing, however, covers the maximum testing area, ensuring a better user experience.

Faster time-to-market
Constant execution of automated tests can accelerate a launch date. Once the software undergoes automation testing, test library execution becomes faster and provides long-lasting benefits.

Required Tools

  • Java or JS (JavaScript)
  • Programming language
  • Selenide/Cypress/Nightwatch – UI automation testing framework
  • CircleCI – For continuous integration and delivery
  • GitHub – Service for version control and code storage.

Why do I need automated testing?

Because you need to catch errors before your customers do.

For every customer that finds an error and complains to your customer service department, 300 didn’t. That’s 300 potential lost sales.

Automated testing runs at various intervals throughout the day to try to catch errors before customers find them and (if you’re lucky) notify your customer service department.

USE CASE: Creating an Account Using Social Login

DESIRED FUNCTIONALITY: Allow new customers to create a new account using their login from social platforms (FaceBook, LinkedIn, Google, etc.).

TESTING CRITERIA: After the desired functionality has been created by the development team, the QA engineer will test the functionality by visiting the site as a new customer and using one of the social platforms to create an account.

RESULT: Valid QA test.

THE BIG PROBLEM: The QA engineer does not, and cannot check to see if other functionality was affected (e.g., PayPal, search, checkout, etc.). There are simply too many to check.

 

A website is a very complex structure that works with multiple systems (marketplaces, payment processors, inventory systems, content management systems, marketing systems, etc.).

It also must display correctly on numerous platforms, browsers, and devices.

At any given time, there are thousands of permutations on a website that can go wrong, and DO go wrong.
If you would hire a human being to test every scenario on your site to catch errors before customers do, the cost would be astronomical.

Automated QA testing was developed to provide companies with the peace of mind that their site is working properly and being tested constantly.

How is automated testing established?

Automated QA and Testing

Automated QA and Testing

Why can’t I use an off-the-shelf automated testing solution?

While every site has similar standard functionality (login, add products to cart, checkout, etc.), your website has functionality that is specific to your business. To test this particular functionality, unique test scripts must be written. However, once they’re written and put in place, the cost and time saving is immeasurable.

We have an in-house QA & testing department. Isn’t that enough?

The volume of testing your in-house team can perform is dwarfed by the thousands of operations an automated testing solution can provide. While there is a time and place for testing out functionality with a real person, the majority of your QA and testing should be automated.

Plus, automated testing is always on, running tests regularly and not just after each deploy.

Sample list of automated tests:

Category test cases

  • Add a product from grid view
  • Change to list view and add a product
  • Add a product to wishlist
  • Add a product to compare page
  • Change sorting options

 

Cart Test Cases

  • Edit the first product (go to PDP)
  • Delete the first product
  • Update the qty of the first product
  • Advance to checkout successfully
  • Move the first product to wishlist

Featured Automated Test: Shopping Cart Automated Tests
Automated QA specialist will create automated tests for the shopping cart page according to the steps outlined below. Tests will be integrated into a continuous delivery process and test cycle.

    1. Add product to cart.
    2. Edit product in the cart.
    3. Remove product from the cart.
    4. Update shopping cart.
    5. Proceed to checkout from cart.

 

 

Checkout Test Cases

  • Sign up after placing an order as guest customer
  • Change shipping method as guest customer
  • Login during checkout
  • Change shipping address at checkout as logged in customer
  • Fail to continue without selecting a shipping method
  • Fail to continue without selecting a payment method
  • Select another billing address as logged in customer
  • Add and edit a new shipping address as logged in customer
  • Add and edit a new billing address as logged in customer
  • Apply valid discount coupon and remove it

 

Forgot Password Test Cases

  • Fail to send reset password with invalid email format
  • Send reset password successfully

 

Login Test Cases

  • Fail to login with unregistered email
  • Fail to login with invalid email format
  • Fail to login with invalid password
  • Fail to login with empty fields
  • Login successfully