Personalization | Key to E-commerce success

With most shopping happening online, the consumer purchasing behaviour has seen a paradigm shift. Earlier the options were limited and buying decisions were quick but now consumers have to sift through a ton of choices to get to what they’re looking for. Just like people trying to hear through a cloud of noise.

For instance, try calling people by their names in large and crowded places. No matter how loud the party gets, the right person or people will turn back. Years of evolution have helped us develop selective hearing. The internet is the same crowded place where everyone is trying to get your attention.

But somehow out of all the products and promotional campaigns, some cut through the noise and make you feel like they were made for you. It’s because they gave a personal touch to their campaigns or their websites.

Accenture, an MNC, found in a research that personalization is key to the success of an e-commerce store.

The results revealed some information that was against what is commonly believed in regards to consumers and their data.

56% of consumers get carried away with the store’s personalization when the store recognizes them with a name.

65% of them prefer retailers that know their buying history. Only if the data is used to provide tailored recommendations.

58% of them buy products from the recommended section provided by the e-commerce store.

In exchange for these, 86% of consumers are willing to share data for getting a personalized experience.

In a world of information overload, personalization is a godsent feature. Here are some personalization strategies which you can adopt for your eCommerce store.

1. Personalize your Homepage

In real world, the homepage of your website would be the entrance to your brick and mortar store. When a potential customer comes at the doorstep of your shop, you must provide the ultimate user experience by greeting them in the best possible way.

Homepage personalization is one of the important keys to do that.

Unlike real stores, online stores can leverage data to know the preferences of a customer on their first visit. From here on Cookies store relevant information to help you tailor the user experience for their next visits.

Amazon homepage screenshot

Amazon, targets every single individual via personalization. Whenever a user selects a particular category to browse more, they get redirected to the same page in the next visits.

2. Location-based personalization

It’s easy to customize products based on location as it improves the shopping experience. It even helps to display campaigns based on the user’s location.

Most e-commerce sites know where the user is coming from and where they want their products to get shipped. They use this valuable information to get more accurate results.

Here is an example of a Butterfly twist that lets its users get the look and feel as if they are shopping at some native place.

screenshot of an eCommerce website

Butterfly twists pull the IP address of the users and personalise product page according to the location. For example if your user is from America, it will set the default page to American sizes and currency.

There is a limitation to this practice. Companies must not force customers to view products on a country-specific site. As a user, it gets really annoying when the website keeps redirecting when you’ve specifically chosen to explore a different location than your own.

Websites need to understand that people are not always buying for themselves and they can choose to explore some other regions, otherwise what’s the point of the Internet.

3. Integrate User-Generated content

User-generated content is another dimension for increasing sales on an e-commerce store.It gives customers a chance to review the details of the product before making final payment.

User review screenshot of an ecommerce website

Yotpo’s benchmark study found that on an average conversion rate of the customers who saw UGC is 166% times higher than those who don’t.

Campus protein uses the UGC on the website so that users can add ratings to the entire product catalog. It even displays the carousel of Instagram inspired UGC at the bottom of the site to reveal the user’s likes and dislikes for the products.

4. Create an array of recently viewed items

Generally, most of the users browse through a company’s site to see the products that are in trend.

Although users trust their memory, they still fail to recall all the products they saw the day before. This is why they look for some sort of help from the store.

Adidas website screenshot of recently viewed items

Adidas wins an impressive score in recommending products and creating awareness. It uses attribute based and collaborative filtering to convert customers and help them select the right running shoe.

5. Reaffirm user choices with Social Proof notifications

It’s a new way to personalize your e-commerce store. It helps you send real time notifications and other relevant updates to your customers.

Many organizations are using this technology to provide relevant and contextual information about the product and the company.

Picture of a McD store from outside

McDonald’s have been using a similar strategy to boost conversions for years. It updates its website’s marquee to show how many people they have served till date. This strategy attracts potential customers towards the quality brand trusted by millions of people. It is not a real time notification variety but it achieves the same goal.

6. Create urgency with timed social retargeting

It is often seen that if a customer doesn’t like the products or is not willing to purchase anything, they leave the site or else jump to another one. It gets difficult to retain them once they bounce to find better options.

In such scenarios, social retargeting helps promote products wisely. Spending on customers who are less likely to buy is like wasting resources. Thus, companies must select their target after thorough analysis.

Screenshot of a ecommerce website

e-bag is a perfect example of social retargeting. It uses this concept to offer ideas for the backpacks through retargeted ads to all those who have seen or viewed the products before.

7. Help them with style guides or assistants

In addition to UGC, almost every shopper needs a personal assistant to take them to the best match for their taste. But it would probably break the bank. Moreover, it’s not possible with an e-commerce site.

But onsite assistance with quizzes and style guides can do the needful. It would help them to make better buying decisions. This is what e-commerce stores are doing.

E-commerce stores are creating a personalised wardrobe for every user who answers questions related to taste, choice, style and budget. The best thing about it is that it regularly updates the user’s wardrobe with new products and informs them about it through mails.

Screenshot of SheIn ecommerce website

Shein went a step ahead in personalized recommendations. This step does more than offering a size chart. It helps users discover new products and styles. They even feature live shows where stylists come and talk about the attire they are wearing. It helps users to get to know about the product which they are thinking of buying.

Wrap up

Aligning all the above mentioned strategies on your ecommerce store can help you to:-

  • Reduce friction
  • Increase engagement
  • Retain customers
  • Boost conversions

After reading something just as this piece might motivate you to redesign your website but adding small but useful elements wherever possible will work just as efficiently as possible. It will help you in enhancing customer shopping experience on a large scale.

If you’re thinking of getting the max out of your product promotions and customer visits and don’t know where to start then get in touch with our e-commerce experts here.

Why should you outsource Digital Production?

When everybody is fighting for online presence and consumer’s limited attention, quality and scale of digital assets becomes time sensitive. You might have in-house digital production to address such needs.

But the question you need to ask yourself is, can they do it well on a large scale and in a time crunch? It’s a job for the specialists!

With the fields and scope of digital media and digital agencies ever increasing, it is highly improbable that an agency has individuals that are skilled in each field – expecting to get a large firm at your disposal!

Apparently, traditional titans in every industry continue to be disrupted by digital-first competitors. What most of the companies do not typically have is the expertise to build software and digital products at the quality and velocity that Silicon Valley-backed digital start-ups do.

Digital product agencies help such existing players “disrupt the disruptors”.

While at it, there are many questions and doubts that arise in the minds of entrepreneurs planning to outsource their product development. If you can also relate to this situation, this write-up covers everything you might want to know about outsourcing digital product development.

The first question that arises- Should I outsource digital product development or not?

Well, the answer lies in what you actually mean by outsourcing. If your definition of outsourcing is to just hire a company, share your idea, and expect them to come up with the final product quickly, we would recommend you to abort the idea of outsourcing at the very moment.

However, if your idea of outsourcing starts with explaining your product idea, doing the initial R&D around it, analyzing your target audience, and then approaching an outsourcing company for the product development work, you might just be on the path to success.

But apart from this, your understanding of the problem can help you decide when and why you need to outsource digital product development.

Common issues businesses often see:

  • Critically, how customers engage is different with digital; it’s unpredictable because customers are closely coupled to the “Digital Product”.
  • It may look like print media – but the development needs are very different, and needs to be approached in a different way.
  • Digital runs on IT but it doesn’t run like many internal business systems.
  • It’s difficult to allocate the in-house time and talent while supporting the agile culture, required to build the calibre of application needed.
  • Internal teams tend to look at their business and users from the sidelines, lacking the connotation of being a true outsider with a different perspective.

How outsourcing digital product development can benefit you?

As software complexity increased, businesses started employing methods to emphasize control of development – expecting predictable outcomes. The process was: Start with a specification so you know what you will get, plan the sequence of development, integrate the components and then test.

Digital product development also involves best practices in design thinking and lean development of projects.

Analytics & Optimization

A digital production agency can help you advertise, commercialize and promote your product. Their work doesn’t end after wrapping up the development, they’ll continue to provide support with SEO and other guidance post launch.

Technology

All sorts of technology manipulations and implementations on the product including the software, mobile and web development, machine learning, computer engineering, etc.

User Research

It’s important to identify the users you’re making the digital products for. User research helps you know the users on a somewhat personal level.Thus, you will have the opportunity to understand your customers beforehand in an individualized way.

Consulting

By examining your business operations, a digital product agency can give you guidance when it’s not enough updating, promoting and building a digital product.

Strategy

They are involved in concept creation, planning, implementation, development, release, update, marketing, and maintenance. In short, an entire practice for the digital product.

Design

A digital product agency can maintain all the experience and visual processes (UI/UX design), apart from, visual design and art direction.

Inside the working of a Digital Product Studio….

Most of the modern digital product studios are helping turn ideas into products. And are using ‘Collaboration’ as a catalyst with the idea that good products and collaboration go hand-in-hand.

To get a real-world outlook and working process of a digital product studio, let’s talk about their USPs that can ultimately ensure scalability for your business.

Internal collaboration

Collaboration has always been an area of prime interest. Whether that is collaboration between agencies and clients, or designers and developers.

On the whole, different teams like developers and designers have their own working space but they also work together closely in project groups. The degree of collaboration between designers and developers is influenced by what kind of project the team is working on.

For projects that only include designing mocks or user research, concept development, the developers are less involved. However, they do advise the design team on the technological scope and intricacies of the project.

Design principles they follow

Their design decisions are coherent because they set up design principles – a set of statements that define what they want the project to be.

Design principles come in handy when working on micro decisions like UI interactions. It helps the team to stay aligned with their goals and on the same page. In order to maintain this vision across the project, decisions are discussed within the context of the principles agreed upon earlier. Other considerations are reliability, maintainability, and very importantly, how future proof would the approach be.

Project workflow: Advantage of modularity

Since digital product studios work with clients on different kinds of projects, having a modular methodology helps tailor the process to the needs of the client.

For each project type, they have some set deliverables and activities, but they mix and match the activities depending on what’s right for the project.

Having different project types is more flexible for their clients – you can work with them when you need them most instead of a “gotta buy the whole package” deal.

Working with clients

When it comes to working with clients, digital product studios adopt a clear and open channel of communication. Clients are invited for in-person meetings when needed and a dedicated online communication channel is setup for them. Having a tight loop for collaboration helps avoid misunderstanding and ambiguity.

They tend to avoid the process where you send off a chunk of design for formal approval and feedback. Most of the time they feel it’s better to bring some sketches and sit down with the client, bringing up questions and showing how you’ve reached conclusions. It’s important to get more valuable input from the client.

They make sure to pass on their knowledge to the clients’ in-house team so that they’re positioned to manage their product after their engagement has ended.

Emphasis on scalability

One of the points that digital product studios emphasized is the scalability that hiring the correct design and development agency can bring to a team. This is what makes them separate from a “app development firm”.

“Let’s assume you wanted to build an in-house tech team. A designer, minimum. You would need 2 developers, at least. An IT engineer, a CTO if you’re not technical, a project manager, etc. And that is a considerable investment for any company because you need all of these things to run a technology arm to your company, if not an entire technology company.”

A digital product studio doesn’t only build one aspect of the tech side or a product. They aim to fill the technical gap that creates an entry barrier for budding startups and established enterprises to scale up their operations.

Choosing the right digital studio is crucial to your bottom line!

Reputable studios seek to establish a strong track record and longstanding relationships with clients.

The wrong one can quickly drain your budget and negatively impact your product development process. So, here are some recommended strategies for finding a digital product agency that can help your business grow.

  • When choosing the right digital agency for your business, full transparency should be the first criterion. Review an agency’s website and, if you don’t see a client list, bios and an address, then this agency is likely not worth your time.
  • Be sure to determine the agency’s experience and credibility. Read through client testimonials on B2B rating and review sites and its website. Ask for client references, including one from an account that did not go so well, to get the idea how they dealt with it.
  • When evaluating a studio, consider not only its portfolio, but the collective experience of its team. Are its team leads accomplished professionals with backgrounds in product development, design, and strategy?
  • Ask to get a comprehensive insight on how they manage their project scope and budget with timelines, as speed-to-market should be a priority for any product studio looking to create a competitive advantage for their clients.

Although, a digital product agency’s job doesn’t end with a great product launch, but how to drive users to the product, and how to ensure there is data available to continuously innovate. Once your product strategy framework and user experience research are in place, the next thing they are involved in is to design a process that would ensure that legendary user experience and attractive customer experience are a core part of your product delivery.

Whether this is your first rodeo or you are expanding your product offering, expert digital product designers can steer you in the right direction as it’s always important to get the right guidance on a certain aspect of design. Having a team of diverse, professional experts with both theoretical and practical knowledge has been critical to the success of a product.

Moreover, you could be overlooking something that someone else would catch. They say that a writer can’t edit his own work because he’s too invested in it. You can apply that principle to product design too.

If you treat the development process as an investment, and expect the best quality and team collaboration from your next digital product studio, contact us.

Galaxy recognized as a top B2B service provider by Clutch

Here at Galaxy Weblinks, we know it’s difficult to promote and sustain your brand-new company’s success while also creating new and innovative solutions for your clients. That’s why we’ve been specializing in building high quality web and mobile apps since 1998. Our first and most important job is to help our clients understand and actualize technology and harness its power to support solutions that fit their needs.

We have over 1000 projects delivered and have over 200 happy clients around the globe. We provide technical expertise 24/7. We specialize in creating mobile apps, open source development, web development and design, as well as network support and maintenance. We stick to your budget to help your company strive against its competition.

In recognition of our efforts, we’ve been named a top B2B service provider in India, according to Clutch! Clutch is a market research firm that leverages a unique ratings methodology to compare and contrast global leaders in industries across the world.

We recently received a five-star review on our profile from Fast & Light LLC, a digital marketing agency. They needed us to build an e-commerce website, which we completed on time and within budget. Our efforts freed their internal team to attend to other company matters. They especially loved our efficient workflow and proactive team dynamic. Please take a look at their recent review below:

We love receiving feedback in all forms from our clients. It helps us strengthen our processes and improve our services. We especially love when clients leave us client interviews on our Clutch profile. They take the time to engage with business analysts to gauge our impact and rate us according to our cost-effectiveness, attention to project timelines and overall quality of service. In reflection of our efforts, we’ve garnered an impressive 4.8 out of 5-stars.

In addition to Clutch, we’ve also received acclaim from The Manifest and Visual Objects, two of Clutch’s sister sites. The Manifest, a platform that highlights projects and business data, lists us as a top web development agency. Visual Objects, a source of online research for visual portfolios, names us in their directory on top web development agencies.

Drop us a line if you’d like to start a project with Galaxy Weblinks today.

Using quantitative research methods to improve UX

There are times when the solution to a design problem may “instinctively” pop into your head. Yet, in some scenarios, your instinct might be a valid method in solving design problems.

But, one subjective decision on whether the CTA must be bigger or not, can cost you drop in conversion on the line and ultimately, millions.

Moreover, it’s pretty hard to convince people or your stakeholders when your designs are solely based on intuition. Because they always go in trusting your work with the blindfold half-on and are prepared to point to quantitative data backing-up your hypothesis.

Quantitative user research gives you numbers that you can rely on. Take an example of an online supermarket platform where a lot of decisions are taken w.r.t. the color scheme, UI elements, categorization of products, place of variants option, etc. Quantitative research helps you measure the success and failure of such design aesthetics; you just have to do the leg work.

Take a look at some of the quantitative user research methods and how they can be implemented in your research process.

A/B and Multivariate testing

Doors

There is always some disagreement among the designers over the placement of small UI elements. Let your user’s choice be the deciding factor here. Build different variations or versions of your web components or page and present the same to your users. This method will assist you in determining which CTA button is being preferred by your users, or which typography is more appealing to them, and alike.

Their engagement with each experience can be measured and collected in an analytics dashboard and analyzed through a statistical engine with the prior versions. Through comparative testing you can learn which version attracts more clicks or to demonstrate the positive/negative impact of new features or changes to a user experience.

A word of caution: there should only be one difference in all the variants. It will be easy to draw consensus this way and give you definite reasons for selecting one design over the other.

Card sorting

stciky notes with sharpies

Card sorting is used for structuring your information architecture. It is a cost-effective method as you can provide users with labelled index cards or online card-sorting platforms when conducting remotely. Let them arrange it according to their understanding of topic and ask for debrief later on. Such sessions help participants to do the labelling and categorization as they like.

In an e-commerce website, you can see if under “Packed food items” users are searching for both instant and frozen food items or expecting them in separate categories. Even when you ask them to come up with their own categorization, you can always know how your users group information – are they thinking of nomenclature like “Gourmet Cravings” or looking for simple names like “Food and Beverages”.

Once you have all the data, look for common items, category names or themes, and for groups that were frequently paired together. It helps you organize content so that it suits your users’ mental models, rather than the point of view of your company.

Tree tests

two people looking at a giant mind map

It is a task based analysis wherein you ask users to look for individual elements from the navigation structure that you have built. Tree tests help in improving your navigation by observing how real users navigate your site rather than just going on assumption.

Continuing the e-commerce example, let’s assume you ask the participants to locate “instant noodles”. Your users may go in searching for it under “packed food” category instead of scrolling down to find the “instant food” category. This is how it is often conducted to design page layouts and navigation menus.

It’s the reverse of card sorting. Instead of creating own categories, tree testing asks users to work with an existing set of categories, and highlight where they believe an item is most likely to be located.

Google analytics

Post release, you can use Google Analytics (GA) to see the type of daily users visiting your website. You can compare it with the persona(s) that you have built. You can see where your users are dropping off and what activities they are performing. You can leverage insights on user trends, page with the highest interaction, and how are they navigating.

For instance, in the e-commerce venture, analytics will help you understand your user demographics, type of device they are using, product preferences, how far are they scrolling, et al.

GA makes data visualization easier. There are multiple options to represent your data like line graphs, pie charts and bar graphs, thus making it easy to explain it to all the stakeholders involved. Thus, with the information in capable hands, GA can do wonders for your business.

Back To You..

To achieve your ultimate goal of intuitive and easy-to-use interface, backing your design decisions with data from quantitative research will help you build experiences that are fit and relevant for your target audience in the long run.

Hence, instead of depending solely on subjectivity or qualitative research, design must be validated with quantitative research, and proven design practices, as design exists to solve real problems, which inherently makes it objective.

Your product’s success ultimately boils down to how well you have done the user research. As a UX studio our team is equipped to tackle any UX challenge thrown their way. For any assistance related to user research and analysis, feel free to talk to us.

Your cheat sheet to delivering a robust and crash-free app

You’re working happily on your app and all is well, then suddenly – POOF! – it crashes. Aaargh!!

Apparently ‘Crashes decrease with new session the very next day by almost 8x’ (Cue sad violin).

It happens to the best of us.

Stability issues can derail the success of even the best apps. Buggy apps can drive your users away, uninstallations aside, they have the potential to wreck your reputation when users leave one too many distasteful reviews.

Something to bear in mind is that it’s not only about crashes. Users face errors that are not necessarily a crash, so tracking user-facing errors such as error messages and API response times is also important. There are several types of crashes an app can experience- either it can be ANR errors or crashes related to API integrations.

Bug fixing doesn’t need to be hard. You’re likely to worsen the situation if you freak out and start changing things at random, hoping the bug will magically go away.

Instead, you need to take a methodical approach and learn how to reason your way through a crash and maintain app stability.

You can’t fix what you can’t find

a man looking for something

The first order of business is to find out where exactly in your code the crash occurred: in which file and on which line.

You do have control over some of the errors and can find them. You can let the user know of the problem via building a communication channel when a user loses their WiFi connection while file transfer is in the process.

When errors are from unexpected app behaviour, your mobile app testing kit will need app monitoring and tracking tools to detect the behaviour that leads to app crashes. There are tools that are not only for mobile apps but also for OTT and Unity as well. In addition, no matter what tool you use, it’s normally an SDK that reports you about the crash alerts.

Even if you are able to collect all this data, it’s difficult to figure out which crashes to troubleshoot and fix first. And this issue follows our next approach to a stable app.

Follow Eisenhower’s Urgent/Important Principle

It’s important to prioritize and sift the problems most users are facing first.

As it’s common that teams tend to tackle bugs on a first come first served basis. Especially if the report comes from a loud voice or a key stakeholder.

This principle comes handy in such a situation which is more like a Rule of Thumb. This principle can tell you to quickly identify the activities that have an outcome that leads to us achieving our goals (Important), and activities that demands immediate attention (Urgent) that you should focus on, and the ones you should ignore.

Basically there are a couple of crashes or bugs that might be causing complaints, solve those first and iterate your priorities accordingly – you will see your crash rate and complaints decrease dramatically.

Practice better Exception Handling

An exception happens when something goes wrong. Tried to open a file but it doesn’t exist? You’ve got an exception. Attempted to call a method on an object but the variable was null? Boom! Exception.

And here comes Exception handling which is an error-handling mechanism. When something goes wrong, an exception is thrown. The exception causes your application to crash, if you do nothing.

For example: Developers often find themselves in a situation like- Is there a way to avoid an EXC_BAD_ACCESS from crashing an app, and handle an exception gracefully?

To handle the exception that was thrown, you need to catch it. You can do this by using an exception-handling block i.e. by using ‘try block and catch block’.

Proper Memory Management

GIF of chrome as pacman

One of the biggest causes behind app crashes is the lack of memory because not all users possess powerful smartphones and high-end tablets. Whereas, people write code as though only their apps exist.

Taking the similar example from above: You can also get EXC_BAD_ACCESS (while attempting to access nonexistent memory) because of the usable memory already being assigned to other processes. The unavailability of enough memory will prompt your app to shut down.

How to go on about this?

  • Do your best to avoid using too much memory and use caching whenever possible.
  • Find where your app holds the biggest data structures or uses the most amount of data and see if everything is absolutely necessary.
  • You can profile your app to see if there is any memory leak.
  • If there is no way to save memory, then prioritize what data/ features to dispense and keep, to save memory when it is already low.

These kinds of crashes become very rare with just a little defense and care in programming, and using “treat warnings as errors”.

While improving app usability, knowing how to deal with dysfunctional apps can be of great help. If you want assistance in development and testing of mobile applications, you can chat with us here.

Why Cost-Cutting fails as a strategy?

There is constant pressure on businesses to improve margins through cost-cutting. Most of them find opportunities by identifying areas that can receive a 10% trim or even a 100% trim.

Cost-cutting continues to be a standard business practice. In fact, more companies could soon engage in cost-cutting with talk of recession in the air. People, processes, and systems are examined and restructured to reduce costs and increase customer satisfaction that often leads to increased sales and heightened profitability.

But an improper and chronic cost-cutting holds the power to create opportunities for new brands to out-premium the premium brands.

Cost-cutting programs in software development are as prevalent as other industry domain. But inappropriate cost-cutting can have an adverse effect on software quality…

The cost… 9-digit failures and defects

Last year, Boeing 737 Max crash killed 157 people aboard immediately after takeoff. It was due to a computing system failure of its life-critical system. Boeing’s over emphasis on cost-savings made them outsource engineering to cheap contractors to try to increase production bandwidth. The consequent software failure cost them $6 billion dollars overnight.

Software failures and nonperformance is expensive. According to a survey report by Tricentis, software failures caused around $1.7 trillion of financial losses to 314 companies. Whereas, software bugs were the most common reason behind these failures.

The failure of cost programs in software development can be linked to multiple factors, including: challenges in implementing the initiative, poor design, and tracking, etc. Let’s have a look at few takeaways from software failures due to improper cost-cutting.

Why cost-cutting initiatives fail?

Broken street lamps

Valuing cheap over quality:

Fostering an engineering culture where management values cheap and fast over quality software and continuous progress will have a tremendously negative impact on both the timely delivery and quality of your software – as buggy software takes longer to build.

Wrong outsourcing:

Companies often tend to partner with outsourcing vendors quoting lower than the proposal. And eventually realize that the low software development rates don’t necessarily mean best price-quality ratio. It is important to pay attention to the organization’s reliability and their understanding of basic market research.

Cutting R&D expenses:

Without spurring cutting-edge R&D, companies leave loopholes in evaluating product and respective improvements. Such improvements are cost-effective that are needed to be implemented during the development phase.

Underestimating testing:

Testing is basically done to make sure that the software runs without bugs. But, if testing is done when the code is in production or prior to the complete development, debugging becomes more expensive.

Breaking down cost-cutting in stages

Man climbing coconut tree

Why cost-cutting programs of many companies end up making short-term financial gains at the expense of long-term business performance and health? Let’s divide cost-cutting into 3 stages providing a perspective to that question.

  • Stage 1: At initial stage, cost-cutting harvests the low hanging fruit and is well worth doing.
  • Stage 2: And when there is no more low hanging fruit left to harvest, it takes a lot more work to make cost savings materialize, and the return from that work decreases.
  • Stage 3: Eventually a cost-cutting strategy runs out of costs to cut and the effects of unwise cost-cutting starts to damage the business.

When fast is slow and cheap is expensive

Two neighbourhoods poor and rich

We are used to trade-off time, quality, and cost. This is where the businesses face challenges when asked to pick any two. The cost-price-time triangle suggests that it is not possible to optimise all three. As, all three properties of the project are interrelated – one will always suffer. In other words you have three options:

  • Design something cheaply and with high quality, but it will take a long time
  • Design something cheaply and quickly, but it will not be of high quality
  • Design something to a high standard and quickly, but then it will not be cheap

People involved in a software development process are typically motivated with different goals. Some are motivated to publish software quickly whereas some want to be sure that a solid and mostly error-free product is being introduced to the market. Cost-cutting plans are based on such motivations taken on priority.

There is a thin line between good and catastrophic cost cutting. A proper plan of gradual cost cutting can save and even make you money but a cost-cutting initiative that focuses only on immediate benefits, is doomed to fail. Because haste makes waste.

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.