In present world,
smartphones and tablets are the popular medium to access the internet
for any requirement, forcing organisations to develop mobile
applications of their service offerings.
The hardware and software are developed independently but function
together based on product expectations. For example, a web application
is developed in PHP/.NET/Java and is expected to work properly on all
available mobile devices and different web browsers.
Here the question arises: how will an application perform functions
as expected on client’s devices? While fulfilling such expectations, we
need to keep in mind that there are numerous combinations of web
browsers and its versions, operating systems and plurality of mobile
device models. The process to validate application behaviour is as
expected across the mobile devices and browsers based on application
requirements is known as mobile device compatibility testing.
On mobile devices, users can have native/web or hybrid applications
and each application type will have certain difference in
display/functional behaviour/look n feel etc. While testing each type of
application, team needs to consider few points.
Web applications are written in HTML5, navigate to a special URL
through web browsers. Testing team need to consider following points
while testing web applications:
1. Content: Entire website/product cannot fit on small screen mobile devices
2. Navigation: In-spite of showing full size website/application, different navigation methods are required
3. Size: Font and objects needs to be resized for small screen devices
4. Functions and Feature: On different devices and operating systems, application behaviour is always unpredictable
Native applications are installed on the device and are accessed
through icons on the device home screen. They are installed through an
application store like Google Play or Apple’s App Store. These
applications use device’s notification system and can also work offline,
hence testers need to consider following points in testing:
1. Application installation and upgrade process through application store and related issues
2. Fewer applications dependent on the operating system than with responsive Web design applications
3. Many versions are required for each operating system
Hybrid applications are partially native and partially web
applications. They can be installed through application store and access
through web browsers as well with special URLs hence testing team need
to consider all the above discussed points while testing such
applications and be more focused. Application content, UI,
functionalities should be same everywhere.
While doing mobile device comfortability testing, we need to cover
maximum devices and ensure results are close to 100 percent of users’
device base. We also need to identify the perceived bugs to the
corresponding layer – operating system, web browser, device features or
skins? Also need to focus on the functionalities which are probable to
fail in the case of a technology upgrade or a new device launch.
Now we will talk about the five step approach to make mobile device compatibility testing more agile and scalable.
1. Develop Device Compatibility Repository: Analyse the
major available mobile devices for following information like hardware
feature, platform details, technology features supported (audio/video
and image format etc.), hardware features included, and network and
other technology features supported by the device. This device structure
list will be useful for device compatibility testing.
2. Shortlist the device list based in compliance: Short-list devices
for specific project based on region or country individuality. This can
help to cover up lost popular devices in the region.
3. Prepare device list based on its compatibility: For better
visibility, prepare list of compatible v/s partially compatible devices
to confirm features which may not work and cause issues in partially
compatible devices. In some cases, the potential device is rare or
highly expensive, hence team uses emulators for development and testing.
iOS and android emulators are mainly designed for native
applications, however their default web browsers accurately act how the
application will behave on a real device.
4. Execute tests on most compatible devices: To ensure 100%
application functionality accuracy, focus on minimum one device from
each manufacture if testing is not possible on all the devices given in
the list. Execute tests on partially compatible devices as well. Perform
testing on the latest and most widely used devices as well and ensure
initial focus on the functions that might be influenced by unsupported
features.
To summarize, Native, hybrid, or web application are ultimately to
render the needs of the mobile users. Hence the majority of time
utilized on mobile device compatibility testing is focused on the
executing functions as the customer would perform on different devices,
operating systems and web browser combinations and confirming that the
screens and behaviour is as expected. Although there is no unique best
method as each have strengths and weaknesses. The choice of one
device/application versus the other depends on each company’s unique
requirements.
Initially, companies used
mails, personal calls or visits as communication channels to promote
their products. But with the advent of new technologies/channels and
increase in usage of electronic devices, the customers have many
alternatives available to explore and complete a purchase activity.
For example, now a company can educate a prospect about their
offerings via an email or message, who might explore the company website
or physical store, search online about the product details and other
buyer reviews before purchasing the product on smart phone. This entire
process may swap in different combinations. So keeping this schema in
mind, organisations are leveraging these channels to influence
customer’s buying decision.
The question arises: how to ensure that these channels communicate
with each other accurately? The answer is hidden in the behaviour of
these channels categorised as omni channel, multi channel and cross
channel. A software development company needs to understand these
channels before any product development and delivery.
MULTI-CHANNEL approach: Companies use multiple
channels (e.g. social media, email, PPC, print ad, retail store,
website, promotional event, product’s package, or word-of-mouth) to
engage their customers across multiple touch-points. Each channel
requires its own strategy and can be managed separately. Multi-channel
is based on the assumption that customers have their preferred way of
interacting with a company.
Suppose for a TV cable station company, development team has
developed a site with responsive design where users can search about
show schedules, news, and much more through any communication device. To
ensure quality, testing team needs to set up a multi-channel test
environment for users to perform common functions on desktop, smart
phones, and tablets to determine any bugs. Here, rather repeating the
testing on all the devices, testing can be performed on one device like
one set of users could test on the desktop experience, a second set
could take the mobile phone, and a third set could be Tablet. They will
test application functionalities on different device. They will review
and confirm the performance of various features of the application.
CROSS CHANNEL approach: Designed to satisfy target
customer requirements for a convenient and flexible buy/sell process as
they navigate through various channels to complete the same
purchase/service. For example, A person can receive newsletter featuring
a specific product and decides to search more on website and further
purchases from a physical store. In CROSS Channel testing, tester has to
test the same functionality through different channels as user can
access it from any channel. In this scenario, Tester can test two
platforms in no particular order be it desktop first, and then smart
phone or vice a versa. This requires application functionalities are
designed to be performed seamlessly across all touch points.
OMNI-CHANNEL approach: The concurrent usage of two
channels, like using a smart phone while in-store, or a tablet while
watching on television. This denotes the uniformity between different
channels to facilitate and streamline customer interactions. It also
allows customers to access real-time information, irrespective of
channel limitations. It also empowers business to cease the gap between
on-line and off-line application configurations. This means that if
customer has saved his/her configurations and preferences on one channel
then it must be memorised and accounted for across channels. During
testing, tester creates an account as a customer using one channel to
check whether credentials and other preferences are saved across
channels.
Testing approach for above channels:
1. When a tester tests a single application across multiple devices,
Omni-channel testing is done. Whereas if tester tests the same feature
on a range of devices, Multi-channel testing is opted. Next when tester
focuses on how the customers view websites on their devices across
screen resolutions and sizes, Cross channel testing is done.
2. In Omni-channel testing, tester needs to test entire application
with all the users across all devices, login across devices and share
about seamless experience. Whereas in Multi-channel testing, tester can
perform testing with single user on a single device and all the
features.
3. In case the focus is on customer experience, tester needs to
select Omni-channel testing whereas if company plans to analyse the
performance of every channel/device, tester should go for Multi-channel
testing. When tester focuses on few device- or browser-specific then
cross channel testing is done.
4. Omni-channel approach can be used where companies believes that
the customer might initiate an activity on one channel and eventually
move on another channel for various possible reasons whereas
Multi-channel approach can be used where companies wants to include
multiple platforms to engage the customers.
So, we can conclude that adopting any channel testing approach will
depend on the software product domain. For instance, a retail domain
based product may require Omni-channel testing approach, while a banking
product needs a multi-channel approach to test its application.
Same article is published on: https://www.linkedin.com/pulse/multi-channel-cross-channel-omni-channel-whats-priya-sharma-trivedi?trk=v-feed&lipi=urn%3Ali%3Apage%3Ad_flagship3_feed%3BktsLVDnQqObtBlNWTAqeFg%3D%3D