Forging Automation Testing Framework for an E-Commerce mobile platform

The client was looking for help to test critical functionalities of its mobile application for which they found a solution in Galaxy’s automation testing.

Our client is a trusted peer-to-peer rental marketplace for buying, selling, and renting almost anything. Our client’s dream is to offer a platform where all goods from cufflinks to computers can be borrowed within minutes. Why? Because we all own something that could be of value to someone else.

And with so many users constantly engaging with their mobile app daily, they needed to be certain that the UI runs smoothly on every device and platform without frustrating the users – which could be achieved through a comprehensive well-written automation testing.

Challenge

The client follows agile methodology in its software development process. This allows them to detect bugs earlier in the cycle, which results in speedy bug fixes. While testing early in the software development life cycle, there are certain tests that need to be repeated.

Such cases, when handled manually, were taking a lot of time and effort. Here, they felt the need to implement test automation that can overcome various challenges and help them improve the quality of the product in less time.

The main challenge for our client was to test major functionalities of their app on Android device. The goal was to complete test execution in a less amount of time. Due to the complexity of the application, it was difficult for them to zero in on the best automation framework for their app. They wanted to adopt an automated testing environment to ensure a highly reliable and secure system, and reduce the cost of future changes to their system. Seeking to adopt an efficient automated testing environment and reduce testing time, the client turned to Galaxy.

Solution

Our client came to us with the aim to develop a scaffolding that is laid to provide an execution environment for the automation test scripts. A framework that could increase test speed and efficiency, improve test accuracy, and minimize test maintenance costs while eliminating the scope for human error.

We needed to automate test cases for user portal of their core application. And for that we decided to solve their mobile test automation challenges and build the automation framework from scratch using open-source frameworks for their hybrid App.

Our testing team identified automation objectives and goals. This is determined through consultation between our client’s testing & development team and our testers. We then identified the test cases for automation based on different test case categories like difficulty to be tested manually, chances of human error, repetition, and data required for testing.

Login Test Scenarios:

  • Verify if a user will be able to login with a valid username and valid password.
  • Verify if the ‘Enter’ key of the keyboard is working correctly on the login page.
  • Verify homepage after login

Renting Flow Test Scenarios:

  • To click Search icon from the homepage and start searching for the product.
  • When user starts typing words in text box, it should suggest words that matches typed keyword.
  • To select date from date-picker/calendar for starting to end date of renting.
  • To validate that the application supports payment gateway transaction as required by the application.
  • Ensure that user can access the Checkout Page after adding a product to the cart.
  • To check the logout session and whether the link or button for logout accessible for all users.
  • To validate the rest of the test cases like scrolling, navigation, double taps, etc.

Having covered all the crucial scenarios and cases to ensure a smooth user experience, it was time to see how the tests pan out.

Testing the functionality

The client needed a team who can collaborate with them having the knowledge of web testing techniques and the e-commerce domain. We undergo discussion over special considerations of various aspects of project understanding such as business goals, current state of automation, and future roadmap.

To further ensure that the app was performing as expected, we did functional and smoke testing on major features, themes, and structure of the application i.e. from login to logout.

We created a testing framework using Java, Appium, Selenium, TestNG, and Maven. Such approach to select multiple open source tools and combine them with a custom framework helped us leverage a number of benefits:

  • To reduce the time to create and maintain scripts.
  • We used data-driven automated testing to separate test procedures from test data, allowing to cover more scenarios with a minimum amount of effort.
  • We used POM concept, and developed special features that could be reused by all scripts, such as to create automated reports with screenshots for failed case/step, common methods for AppiumDriver (click, wait, etc.).

Integrating testing in development cycle

We integrated the script with Jenkins in the client’s environment in windows machine using the batch command. We configured Jenkins in such a way that smoke tests were first executed for sign in, flow of renting a product (on the same day), verify homepage, and verify rental page. And after the successful completion, functional tests were executed for verifying a renting a product on different days.

Results

Our testing team worked with the client and successfully crafted a testing and development plan tailored to their release cycle and pace of customer demands. We helped the client automate the system installation, smoke testing, functional testing, and system deployment process as well.

How we helped the client to get the best out of their automation testing:

  • Selected test tools that leverage the best-of-breed approaches.
  • Completed test execution in a less amount of time.
  • Updated tests in accordance with changes in the UI and function of the application.
  • Ensured verification of test results generated by automation testing.
  • Ensured timely submission of test results to the client.
  • Ensured that the user’s search experience in the site is of the highest quality.

With effective automation testing, our client managed to reduce time-to-market and launched a bug-free product. In addition, integrating continuous testing in the CI/CD process helped shorten mobile app release cycle and ensured high customer satisfaction. And as we took care of repetitive tasks with less number of resources on-board, we thereby helped in maximizing Return on Investment for our client.

6 factors to consider before choosing your e-commerce platform

Setting up a shop online? Well it’s easier than setting one up made of bricks and mortar.

But it doesn’t mean that E-commerce is easy. The insane level of competition aside, your problems start even before you’ve begun to build your website. You start with zeroing in on an e-commerce platform for your business but the options are numerous and all seem to offer similar functionalities. It can be a bit confusing.

This is not a comprehensive list but we intend to simplify the selection for you. So here are some factors like pricing, payment gateways supported, security, etc. to help you select the right e-commerce platform.

1. How secure is the platform?

One of the first things that you should consider in your e-commerce platform is that the language it is based on. Because the platforms based on object-oriented programming language come with embedded security protocols and hence are considered safer.

Magento and Shopify pay extra attention to reduce the vulnerabilities of websites with two factor authentication. And for platforms which do not have multi factor authentication to protect sensitive information, security plugins can provide that extra layer of safety.

A platform is safe when-

  • An e-commerce platform should conduct security audits for sustaining websites.
  • It should safeguard sensitive data from breaches and attacks.
  • Also, to prevent any monetary frauds an e-commerce platform should be PCI and SSL certified.

2. If it is SEO friendly

39% of e-commerce traffic comes from direct searches. This is a good reason for you to take SEO considerations into account.

Popularity of a website depends on various factors with content playing a significant role in attracting the audience towards the site. To understand things better, ask questions like, does the e-commerce platform allow you to write meta-information about the product or is there Google site map support? These questions are important as they have a direct impact on SEO rankings of the site.

Onveos is a perfect choice if you are considering SEO as a selection factor because it provides independent fields for SEO elements. Other than this you can also go for Magento, Woocommerce, and OpenCart as they play a significant role in inbound marketing initiatives.

3. Responsiveness

A responsive web design helps in providing a great user-experience from a desktop to tablets and mobiles of various sizes and orientations.

Having a separate mobile and desktop site requires having different marketing campaigns, product information & banners, catalogues, etc. Platforms like Magento and WooCommerce have various responsive themes and templates to make websites vertically stacked.

Shopify even lets you edit HTML and CSS directly. You can change the colors, size, and positioning of any element on the page within the platform.

4. Multi-channel support

Always prefer a platform that lets you sell product or service across different channels like Instagram, FB Messenger, Amazon, and others. It increases the revenue percentage on whole.

The best multi-channel e-commerce platforms are Shopify, Big Commerce, PrestaShop, Magento, and Woo Commerce. As soon as you choose a platform, your next step should be towards understanding the audience. It will help you analyse what your end users are looking for and how do they buy things online.

Adding more channels will increase the task of managing and tracking inventory system. Centralised management of the data creates diversified selling options in online marketplaces. Multi-channel selling increases the revenue of e-commerce sites.

5. Plugins and integrations

Even though an e-commerce platform has all the things to run an online business, it still needs integrations and plugins to add crucial functionalities like Payment gateways, Tax calculators, Inventory management, etc.

You’ll find a popular bunch of essential plugins and integrations that are common to all the platforms. But your platform of choice should be the one that has an active community and supports plugins and integrations relevant to your business.

6. Last but not the least, compare the price

Price of an e-commerce platform depends on multiple factors like design, setup configuration, custom development, maintenance, and so on.

The per month cost of Shopify platform starts from $9 and goes till $299 whereas Volusion starts from $15 and goes upto $299. Shopify is a perfect choice if you are looking for multiple features and add ons in your app. You can select Volusion for a more selling-focused experience.

Big-commerce has the highest starting price of $29.5 followed by 3dcart at $29. Big commerce is one of the best platforms for SEO considerations. 3dCart is a feature rich platform that builds and manages online stores real well.

Before you zero in on any platform, match your website’s specific needs with the platform’s features and estimated cost. E-commerce platforms can also utilize AI, VR, Chatbots, and Blockchain to help your online business stay relevant.

We know how important is it for you to get things right as your business is in question. If you’ve any doubts related to e-commerce platforms and if you need assistance developing one then feel free talk to us here.