You can’t build efficient DevOps processes without a mobile app testing strategy. A perfect balance of manual and automated testing, proper choice of testing methods, an experienced team – all of these components are vital. But there’s one thing missing. Your testing strategy has to be clear about how you choose to test your mobile apps: on emulators or real devices? Will you be clicking a mouse or buying several different smartphones? Or, maybe, cloud-based devices are the way out? Perhaps, this breakdown of the pros and cons of testing on real devices vs. emulators will help you make the right decision.
Don’t Underestimate Mobile App Testing
With mobile device usage growing each month, business-critical solutions experience a shift to mobile as well. Retail, banking, healthcare, entertainment, aviation are just some of the industries that put mobile apps at the vanguard of their engagement with customers. At the same time, high-quality UX, smooth performance and security are the essentials that users seek in apps, both entertaining and business ones.
With all this in mind, you should put special efforts into testing your mobile applications. The choice of tools and methods will affect the quality and terms of mobile app deployment and updates fundamentally. You need to ensure timely and cost-efficient testing while taking into account the evolving user needs. And if we talk about the ways to test a mobile application, there are two ways to go: real devices and emulators.
What is an Emulator?
An emulator is a piece of software that imitates the features of hardware or software systems and behaves in the same manner as a real hardware or software system would. Developers often use on-screen iOS and Android emulators to test their apps in a digital environment.
There are three categories of emulators:
device emulators take the place of actual hardware and simulate real smartphones or tablets
browser emulators are in use to simulate a mobile browser environment
OS emulators that run within a simulated mobile environment and allow accessing apps within a specific operating system
Emulators often are a part of the developer’s SDK.
Pros and Cons of Testing on Emulators
Many teams see actual value in using emulators for both manual and automated testing. They are a great starting point and are less expensive than purchasing real devices (which come out regularly). You also don’t need to maintain emulators and keep them charged all the time. More than that, emulators allow developers to catch the majority of common bugs.
Here are some more advantages of using emulators:
They may be most valuable when the application is in the very early stage of the software development lifecycle (SDLC)
In most cases, emulators are open and free to download
They provide some basic analytics for your app performance
However, there are disadvantages to using emulators as well:
The software cannot emulate battery issues, network connectivity and other real-time data: GPS, sensors, gestures, touch force, etc.
It cannot emulate the performance of an app in terms of incoming calls, SMS, etc.
There’s no way to check the color/contrast of display under different weather conditions
Touchscreen issues cannot be emulated either
Not all mobile apps can be tested on emulators
The bottom line is there are many conditions developers have to consider to ensure high-quality UX and customer satisfaction when testing mobile apps on an emulator.
How About Testing on Real Devices?
Although one may think real devices aren’t a panacea either, due to that they are expensive and time-consuming to acquire, testing on real devices is the ultimate way to truly understand the user experience. There’s no better approach to checking the user-app interaction than installing it on a physical device and giving it to beta-testers.
No worries about false positives and negatives, just real results and a live network.
Any performance defects related to the device or the environment are visible;
All real-life scenarios are taken into account: from network failures to various weather conditions, to hardware issues.
As your application moves into a later stage of the SDLC, testing on real devices is the only trustful approach to producing reliable results and feedback for developers and confirming a great user experience.
The Optimal Strategy
Both emulators and real devices have their pros and cons. How do you minimize the effect of their disadvantages and make the most out of the advantages then? Simple: using a mobile testing cloud throughout the software development lifecycle.
Cloud-based mobile app testing allows developers and testers to connect to a vast range of mobile devices in the cloud, regardless of their location. Cloud devices are an excellent solution for manual and automated large-scale mobile testing. They offer tens of hundreds of options, combining different OS versions, screen resolutions, frameworks and so on. Cloud devices support parallel testing, record the results, are available 24/7 and are perfect for agile development. More than that, security issues are not a concern anymore since you can choose a private cloud over the public one.
So, the winning strategy looks something like this:
Although it’s best to rely only on real, you may use emulators at the initial stages of the SDLC
Turn to real devices as soon as you move into a later stage of your SDLC
Scale-up your mobile app testing by addressing a device cloud provider and run your tests on as many devices as you need
The percentage of users running your mobile app on an emulator is zero. Real-life testing is essential since emulators simply cannot cover all the issues that may occur during a real user experience. Everyday things like battery usage, compatibility with other apps on the phone or even a search bar that is inconvenient for tapping can make your customers turn to other solutions. On the other hand, emulators are cheaper and can provide you with decent analytic reports on the testing carried out.
In the end, it looks like combining the two approaches and complementing them with a device cloud for testing is the best way to go. Bitbar is here to help you make testing more cost-effective and scalable with hundreds of devices we offer in the cloud. Try them out for free today.
Over the years, we have covered a few topics on how to use Selenium to drive mobile web testing on real devices. As one of the most widely used test automation frameworks in the world, Selenium is definitely a popular test framework suite for automating web browser testing. Today we are opening a new blog series circling around the topic of the Selenium Framework and Browser Testing.
What is Selenium Framework?
So, what actually is the Selenium Framework? Simply put, Selenium is a popular automation testing suite which can be used to automate the desktop and mobile web browser interactions. You can perform automation testing by writing code in any of your preferred language supported by Selenium and can easily run your automation scripts to automate testing of an application or a process.
There is more to this than meets the eye. Selenium is not only one framework but rather a set of frameworks bundled into a suite. A toolbox to make the life of a software tester that much easier. An essential part when creating Robust, Browser-based Regression Automation Suites and Tests.
When people think of Selenium, they probably think of the Selenium WebDriver, which is understandable as it is the most used tool in the suite. But to fully utilize Selenium and choose the correct tool for the job, it is good to know what parts make up the popular Testing system.
Below we will go through the tools in more detail, but the emphasis will lie mostly on the Selenium WebDriver or Selenium 3, if you will, as it is the key interface when driving a browser.
The Selenium Integrated Development Environment is only available for two browsers, for Chrome and Firefox. This extension makes it easy to record and playback tests in the browser. The recorded script can also be viewed and changed into other languages. But to write more advanced and robust test cases Selenium RC or WebDriver is recommended.
Selenium RC (Remote Control)
Selenium RC is a client/server system that allows you to control web browsers locally or on other computers, using almost any programming language and testing framework. There are many tools and versions out there and they can get confusing so in short Selenium RC can be seen as Selenium 1, then RC merged with WebDriver making Selenium 2.0 and then Selenium 3 is an improvement on Selenium 2. Therefore, the successor to Selenium RC is the Selenium WebDriver.
With Selenium Grid, you can run parallel test sessions by running many servers at the same time with a Hub and Node Architecture. One could look at it as a scaled-up Selenium Remote Control. Selenium Grid also supports RC and WebDriver scripts. These scripts will be communicated via the Hubs out to the Nodes and then executed.
Selenium WebDriver is a browser-specific driver which helps in accessing and launching the different browsers whether it’s desktop browsers or mobile browsers. That means it does not support for example Windows applications. It provides an interface to write and run automation scripts. Every browser has different drivers to run tests.
Chrome has ChromeDriver, Firefox has GechoDriver, Safari has SafariDriver and so on, due to the fact that every browser has a different way of performing actions i.e. loading a page.
WebDriver has the capability to test modern and dynamic websites, sites where content is changing dynamically with a click of a button for example. As you will find out later when we go through the architecture, it works by interacting with the browser in more or less the same way as a real user would.
The Selenium WebDriver architecture works in the following way. You write your tests in your preferred programming language, this is communicated in JSON over HTTP (REST API) to the browser-specific driver which then, in turn, instantiate and communicates via HTTP to the browser itself and the browser communicates back with an HTTP response.
Therefore it does not matter what language you use as Selenium communicates with the Client Library and the Browser Driver will then handle the specific actions.
Later in the series, we will go through how we set up the Selenium server and WebDriver to be able to run our tests.
Why Use Selenium Framework for Automation Testing?
As we now are familiar with the makeup of Selenium and the tools at hand, let’s take a look at the main points or benefits of Selenium and why it is a good tool for automation testing:
Open Source: Selenium is open source, this means that no licensing or cost is required, it is totally free to download and use. This is not the case for many other automation tools out there.
Mimic User Actions: As stated earlier, Selenium WebDriver is able to mimic user input, in real scenarios, you are able to automate events like key presses, mouse clicks, drag and drop, click and hold, selecting and much more.
Easy Implementation: Selenium WebDriver is known for being a user-friendly automation tool. Selenium being Open Source means that users are able to develop extensions for their own needs.
Tool for every scenario: As mentioned earlier, Selenium is a suite of tools, and you will most likely find something that fits your scenario and your way of working.
Browser, Operating System & Device support: Selenium supports many different browsers Chrome, Firefox, Opera, Internet Explorer, Edge, and Safari as well as operating systems (Windows, Linux, Mac)
Framework Support: Selenium also supports a multitude of frameworks like Maven, Junit, TestNG to make it easier to automate testing. CI and CD tools like Jenkins is also supported, for automating the deployment process.
Reusability: Scripts written for WebDriver is cross-browser compatible. Testers can therefore run multiple testing scenarios with the same base.
Community Support: The Selenium Community is an active open community. Therefore, there is a lot of information and help available when needed.
Advanced User Input: With WebDriver it is possible to request clicking of the browser back and front buttons. A practical feature when testing money transfer applications for example. This feature is not found in many tools, especially open source.
App downloads grow quickly in an emerging market like Indonesia or India, as new mobile device owners explore the digital landscape.
Engagement increases as mobile users start to build habits and develop loyalty to certain apps.
Mobile users become paid-up consumers and start to spend money on app experiences.
App developers should be patient. If an emerging mobile market features high levels of downloads then it’s likely that revenue will follow as the market evolves and users become more committed to mobile apps.
Emerging markets are driving global app downloads
Three of the top five markets for app downloads are emerging markets, so software development companies should pay attention to the shifting landscape.
Global app downloads grew 35% between 2016 and 2018, to exceed 194 billion. China retained its lead, with 70% growth and nearly half of all app downloads.
India overtook the United States to take second place, with a growth rate of 165%. Brazil and Indonesia came third and fourth, with growth rates of 25% and 55%, respectively.
India, Indonesia, and Brazil may not be highly-profitable markets right now; but all three have large populations and could become lucrative markets as mobile use shifts towards ‘ubiquitous’ among their citizens.
Advanced economies still lead app revenue charts
While developing nations might be entering the charts for app downloads, they haven’t disrupted the leaderboard for revenues – yet.
Global app store revenue grew 75% between 2016 and 2018, to reach $101 billion. China built on its lead, with 140% growth and nearly 40% of total consumer spending in 2018.
Meanwhile, the United States pulled ahead of Japan with 70% growth against the latter’s 30%. South Korea and the United Kingdom are further behind – although, with the growth of 80% and 55% respectively, they’re hardly slowing down.
Again, these positions aren’t surprising given the relative immaturity of emerging markets like India, Indonesia, and Brazil. But given time, these more advanced markets might experience saturation as emerging market users start to spend cash on mobile experiences.
Video, photography, and entertainment are the fastest-growing app categories
An app category’s popularity can be measured by how much time users spend using these apps per device.
Time spent in apps grew 50% globally between 2016 and 2018. The top five fastest-growing categories were Video Players and Editors, Entertainment, Photography, Tools, and Finance.
App developers could consider these categories for future investment.
Mobile users clock-up more screen time in emerging markets
Daily screen time seems to decrease in mature markets. Mobile users in Indonesia spent over four hours in apps each day, while no North American or European countries reached even three hours.
Mobile-focused companies represented 95% of all USD valuations at IPO
Companies that use mobile as either a primary or secondary point of interaction made up over 80% of the 48 technology IPOs in 2018 on the NYSE and NASDAQ stock markets. Measured by USD valuation, this percentage increases to 95%.
Top three largest IPO valuations in 2018 (all mobile-focused):
Tencent Music Entertainment ($21.3B)
Average valuation at IPO was over four times higher for companies with a mobile focus. It seems clear that mobile experiences allow companies to reach users in a way that adds significant value.
Generation Z is the most engaged mobile users – except for gaming
Generation Z (born 1997 onwards) are even more mobile-focused than Millennials (born between 1981 and 1996) – apart from when it comes to gaming.
Gen Z spends 20% more time and engages with its favorite apps 30% more often than the rest of the population. However, millennials spend 75% more time each month in their favorite games and access them 50% more often.
Mobile experiences are clearly crucial to Gen Z and this should be a primary consideration for any kind of business that’s looking to reach and build engagement with young people.
Subscription-based entertainment apps generate the most revenue
Consumers more than doubled their spending on non-gaming apps (120% growth) between 2016 and 2018 – driven heavily by in-app subscriptions.
The five most lucrative non-gaming apps in 2018 (measured by consumer spend) all contained in-app subscriptions. All five are entertainment-based (music, video, and dating).
Mobile users will continue to evolve in terms of their relationships with mobile devices and apps. But we can identify clear trends in advanced economies that enable us to make predictions about the future landscape for mobile app use in emerging economies.
If you ask a DevOps expert about the fundamentals of the CI/CD pipeline, they will probably mention integration frameworks or code repository management. But what about test automation? Is the role of test automation in DevOps critical, or can all the testing still be done manually without affecting the speed of deployment?
Here is the truth: test automation is essential if you want your quality to keep up with the speed of releases. Like it or not, at least some of the testing in your CI/CD pipeline will have to be automated. With the growing complexity of code and the need for frequent releases, the optimization of processes takes the central stage. It is especially critical if the business focuses on mobile app development – and the global trends indicate that it should be your priority these days.
Mobile App Development and DevOps
The shift to the mobile-first model made companies rethink their development strategies to meet their customers’ needs. Reducing time to market for new features and updates, reacting to the latest market opportunities and predicting the changing demand – these are the new rules of competitiveness in the mobile app business. In fact, about 48% of mobile apps take four to six months of development time, with an average of one to four updates per month.
DevOps is by far the best approach to dealing with tough release deadlines and frequent updates in the mobile development lifecycle. Mobile app development projects usually have pressing deadlines since business needs dictate fast delivery. In these conditions, adopting agile development methods is crucial.
Another thing that makes DevOps methodologies vital for mobile app development is user feedback. While the negative comments and low ratings of a website are communicated to the tech team or support service, complaints about mobile apps are visible to everyone in the app store. That is why extensive functional, performance and usability testing, as well as an instant reaction to user feedback, are essential for surviving on the mobile market.
Automation is the Core Principle of DevOps
The DevOps practice depends on the automated setup, configurations and deployment to deliver updates quickly and on time. This means that automated testing should be a natural part of CI/CD since every code commit needs to be tested before being deployed. Test automation allows finding and fixing bugs faster while they’re small, innovating with less risk and reacting to customer needs in a matter of days or even hours.
The benefits seem apparent. But, while some companies are already appreciating the high efficiency of test automation in DevOps, the general approaches to testing still remain quite old-fashioned. Capgemini interviewed 500 senior-level IT executives from industries like financial services, high tech, healthcare, manufacturing and others to reveal that their large and mid-size companies don’t use test automation to its full potential. Automated tests were only used to execute 24% of test cases and 24% of end-to-end business scenarios.
On the other hand, a leading Australian bank that has over 5,000 builds for more than 100 applications embraced CI/CD and test automation tools. This allowed them to reduce build cycle time by 40%.
What Can be Automated?
To keep the necessary integration-delivery pace, businesses need to automate as much of the testing stage as possible.
To follow the DevOps practice, the team has to start testing on the early stages of the development and proceed throughout its life cycle. Focusing on quality from day one and detecting problems when they are easier (and cheaper) to fix helps to maintain the necessary frequency of releases.
But keep in mind that you will need different types of testing on various stages of the development process. Plus, there will be different types of automated tests you’ll use on your project like unit, regression, integration, performance, functional testing and more.
when you need to test critical features, the malfunction of which will be visible to users
in the repetitive and labor-intensive parts
testing functions that caused problems in the past
components that require large amounts of data for testing
testing against multiple browsers, builds, data sets
There is a variety of test automation tools on the market that will meet your needs and the skills of your QA team. And with a mobile device testing cloud, QA engineers can test from anywhere, on multiple devices, with any number of tests running simultaneously.
The Benefits of Automation in DevOps
Some of the top reasons why companies that follow DevOps practices should adopt test automation are:
elimination of human errors
no need for human intervention when tests are running
increased device coverage
consistency ensured by automation
The advantages of test automation are numerous, but can it substitute manual testing? The best way is to automate as much as you can while still using manual testing for less critical app features, reviewing and updating testing scripts, fulfilling one-time testing which is too expensive or inefficient to automate, testing usability, etc. Humans can think and learn, which is no less critical in testing than automated processes.
With the continuous implementation of test automation, it will get easier to accurately measure the degree of automation based on the historical data. But for starters, you can use this standard calculation for the estimated test automation ROI:
Cost of test automation = cost of tools + cost of labor to create scripts + cost of automated test maintenance
If you use automated tests multiple times, the ROI adds up with every next use. Therefore, if the automation estimates are lower than manual testing, go on with the strategy and find as many areas to automate as it is reasonable.
Test automation is vital for the DevOps pipeline. High quality and frequent deliveries cannot go without fast, accurate and reliable automated tests. This doesn’t mean, however, that you can ignore manual testing. The winning strategy is to find the balance between automated tools and scripts and manual testing for one-time testing tasks or the ones that are too expensive to automate.
It should go without saying that Gen Z – born between 1995 and 2005 – are digital natives who have grown up with the internet. They also prefer to spend money on experiences rather than physical objects, like millennials – born between 1980 and 1995.
But there is a range of differences when it comes to how they consume media and spend money – so travel companies should pay attention to delivering a great mobile experience that can make apps competitive and profitable.
They’re also impulsive. They book trips at short notice and expect to make changes to their accommodation, transportation, and itinerary as they go along, via mobile. In part, this is driven by their desire for personalized and unique experiences. In fact, they’re 55% more likely than other generations to change their itinerary on the go – and 65% ‘always’ have their mobile on.
Interest in location-based notifications of discounts and activities:
Gen Z 50%
‘Data-driven marketing is going to evolve because Gen Z sees travel as a “series of decisions” and they are willing to make those decisions throughout the trip’, according to Julie Hoffmann, Head of Travel and Hospitality Strategy, Adobe.
Travel companies that allow flexible changes to itineraries within their app and offer targeted short-notice deals are likely to capture more revenue from impulsive Gen Z travelers.
Traditional rewards aren’t appealing to Generation Z
Airline and hotel loyalty programs might be popular with older generations, but they don’t appeal to Gen Z – who lack the patience for earning rewards slowly.
Signed up to airline loyalty programs:
45% Baby boomers
15% Generation Z
Signed up to hotel loyalty programs:
60% Baby boomers
25% Generation Z
However, Gen Z are twice as likely to belong to niche loyalty programs. They seek authentic experiences and they’re keen to build more meaningful relationships with brands that they resonate with.
Developers will have to gain the loyalty of this group by providing them with relevant services, according to Hoffman.
Travel companies should leverage social media activity
Gen Z travelers use social media even more heavily than millennials – and it inspires their travel destination choices.
More than two in five (41.6%) Gen Z travelers have chosen a destination because they saw it on social media, according to Expedia. And nearly three-quarters (72%) visit YouTube daily – while only just over half (52%) of millennials do the same, according to Civic Science.
Gen Z also love to share photos and videos of their travel activities on social media:
66% share experiences while they’re traveling.
62% share via mobile after the trip.
‘They [Gen Z] have a propensity in wanting new services from travel companies to support the entire trip process and especially post-trip and being able to capture photo and video moments.’
– Julie Hoffmann, Head of Travel and Hospitality Strategy, Adobe
Travel apps that leverage social media to drive bookings, and enable users to share their experiences seem likely to enjoy increased engagement and bookings.
Travel apps should become all-in-one service providers
All-in-one travel apps are extremely popular with Gen Z travelers, with nearly nine out of 10 describing them as ‘helpful’ – which offers travel companies a huge opportunity to upsell extra services. Adobe also found a range of related features that interest Gen Z travelers.
What do travelers want their travel apps to do for them?
55% want their apps to help them budget for their trips.
46% want to use their app to book, track, and manage the full trip.
45% want their app to capture and organize their trips.
By enhancing a travel app with the ability to book every service that a trip might require, travel providers can deliver a great experience, lock-in their customers, and increase their revenue.
Unlike some other industries, travel apps continue to grow in terms of both downloads and monthly users. 82% of travelers questioned by TravelPort said they plan to download the same number or more travel apps than they did during the previous year.
Travel app users clearly have high expectations and a desire to book personalized, flexible trips at short notice, built around their social media activity. Travel providers that understand these desires and build app features to accommodate them will stand out in the marketplace.
We spend more than 80% of our mobile use time interacting with apps. And by “we” we mean 5 billion smartphone users all over the world. To mobile app development companies, this may sound exciting and intimidating at the same time. The competition is intense. The user demands are super high. What do you do? You make sure your app is spotless by testing it relentlessly. Mobile app testing can be a chore, but it doesn’t have to. Here are five ways to make your mobile app testing more efficient.
Stick to A Plan
Just as you’re planning the workflow and sprints of your mobile development team, you should have a plan for the mobile app testing process and, most importantly, stick to it. As test cycles get shorter, you won’t have the time to ponder about the types and methods you’re going to use halfway through the journey.
whether you’re going to use emulators or physical devices
what your KPIs will be
These are some basic questions managers should know answers to before the QA team starts working on a project. Throw in a bunch of your project-specific questions, and you’ve got yourself a roadmap that will make testing faster and more efficient.
Go with Continuous Testing
According to Instabug’s research, most apps release builds weekly, followed by bi-weekly releases and then monthly. This shows that mobile app development companies and teams are eagerly embracing continuous integration and continuous deployment. But if you want to add even more efficiency to the process, you should implement continuous testing. It means running automated tests regularly to get instant feedback on the risks a release candidate might pose. And here’s why continuous testing is so important.
Mobile teams have learned to work by shorter delivery cycles, and the principles of lean software development have been helping them achieve it. But testing is often a bottleneck that slows down the acceleration the team was going for. Traditional manual testing can’t keep up with the pace dictated by the mobile app market, the users and the company management. On top of that, testing apps at the end of iterations increases the cost of each failure.
Enter continuous testing, an approach where automated tests are run automatically every time an app’s source code is updated and compiled throughout the entire development pipeline. And thanks to the instant feedback mobile developers get in the process, they can address issues in the code that could turn into disasters if discovered later. All this makes managers who refuse to balance speed and quality from release to release implement continuous testing on their projects.
Use Automated App Testing
Mobile app test automation may have its pros and cons, but when it comes to increasing efficiency, it is definitely the way to go. Especially, if you’re working on a quickly-growing application with short development cycles that require running regression, performance and compatibility tests often.
Automated tests have every advantage a robot would over a human, as they
are faster in test execution
can be run more frequently
reduce human error
can be run on dozens of devices at the same time
can be scheduled even when there’s no one in the office
With test automation, everyone wins: testers can focus on high-quality exploratory, security or usability testing while tedious, repetitive and time-consuming tasks are automated; developers instantly see if any of their new commits broke the previous version and fix issues faster; managers get faster reports that help them make more accurate decisions regarding the next steps of the project.
Automated tests can save you time and money. But you also have to invest time and money in them before you start reaping the benefits. Let us explain. Automation testing requires time for writing scripts and setting up environments. It also needs money investment since you have to hire automated testers (or convert your manual testers into them) and buy a license for an automated testing tool. But thanks to its speed, versatility and continuity, test automation pays off very well.
Test in the Cloud
Cloud-based solutions and mobile testing is a match made in digital heaven. Using the cloud as a testing environment where your mobile team can deploy and test mobile applications is effective for businesses of all shapes (general software development or mobile-only) and sizes (startups or enterprises).
With cloud-based mobile app testing, you can automate tests on hundreds of devices running on different platforms at once without having to maintain them physically. Cloud lets you forget about managing server settings or licensing and take advantage of its scalability and accessibility.
True, enterprises and companies with strict security regulations might not find testing in the cloud the best option due to information security concerns. But that shouldn’t stop you from enjoying the benefits of cloud-based testing solutions since you can always go for a Virtual Private Cloud (VPC) instance of your choice: AWS VPC, Microsoft Azure, Google Cloud, IBM Cloud or Alibaba Cloud.
Allocate More Resources to App Testing
While this tip may sound obvious, it can be hard for the managers who are putting up fires all over the project to just stop and think about what caused them. Sometimes, projects require more testing than you can possibly cover internally. Other times, embracing automation would do the trick. Either way, your testing efficiency is at risk.
Once you’ve decided that you need more testers on your team, don’t panic about having to find, interview and hire QA engineers. Outsourcing today is easier than ever. You can augment your existing team with additional remote testers or ask an outsourcing vendor to fix you up with a dedicated testing team. The best part is that the vendor will handle all the hassle associated with hiring: searching for the right candidates, shortlisting them and organizing the work environment for your new testers. You can be as involved in managing the team as you want, visit them, invite them onsite or go for more formal communication – it’s all up to you.
Using various testing solutions is another way to go. These include
mobile testing tools (TestComplete, Espresso Test Recorder, Appium Desktop)
You can also choose to test on real devices remotely. Bitbar Device Cloud, for example, lets you test on any number of real mobile devices at the same time. There are a plethora of options to choose from. Today, even artificial intelligence can be leveraged to improve your app testing process and efficiency.
If you feel that the quality assurance of your mobile app could use an efficiency boost, you have several options to choose from. First, try drawing up a plan instead of testing intuitively, no matter how more exciting or adventurous it may sound. You have to know in advance the testing methodologies, types and tools your team is going to use if you want solid results.
Next, arm your CI/CD with continuous testing to eliminate the bottleneck that is manual testing. It’s also a good idea to automate all the testing that can be automated (especially monotonous and time-consuming tasks) and test your mobile application in the cloud. And sometimes all you need is another pair (or a dozen pairs) of testing hands to meet both requirements and deadlines. Whichever way you go, we hope it will make your mobile app testing much more efficient.
Aviation is a famously-competitive industry, with slim margins and a wide range of carriers for passengers to choose between. So how can operators use airline apps to create great experiences and upsell more services?
Airlines depend on services to turn a profit
Airlines typically only break-even on ticket sales and rely on selling additional services in order to generate profits. Baggage fees and charges for booking changes and cancellations made up more than half of the net profits reported by airlines in 2016. Additional profits are made from fees for seat changes, extra legroom, priority boarding, onboard purchases, and pets.
With these facts in mind, it’s surprising that many airlines are leaving money on the table by failing to design apps that offer great customer service; or even allow passengers to perform revenue-generating functions.
Airline apps are lagging behind on customer service
Offering great customer service is a powerful way to stand out and win loyalty in a crowded marketplace. Yet many airline companies fail to offer in-app customer service experiences that are aligned with market demands.
Live chat is the most popular option for customer service, yet only 15% of low-cost carriers have built it into their Android mobile apps – and this figure drops to just 4% for traditional carriers, according to research by Videc.
So more than 95% of traditional carriers still fail to offer passengers the most popular customer support channel on the market as part of their in-app experience on Android devices.
In contrast, 55% of low-cost carriers and 39% of traditional carriers offer social network plugins for customer support – despite the fact that just 3% of customers prefer social media as a customer support channel.
Airline apps often fail to maximize customer revenue
Given that airlines have to sell extra services in order to generate profits, it’s surprising that a large number of airline apps don’t allow customers to book these services. Sub-standard flight booking experiences are also likely to be turning many potential customers away.
How many airline apps offer travel management tools?
91% allow mobile check-in
83% reflect flight statuses
70% support mobile notifications.
55% issue mobile boarding passes.
27% support flight changes
17% of show flight cancelations
US airlines generated $3 billion in reservation-change and cancellation penalties in 2017, according to Transportation Department data. So it’s astonishing that nearly three-quarters of airline apps don’t support in-app flight changes – as this could be a major source of revenue.
Other customer service features like the ability to check flight cancellations and issue boarding passes are also surprisingly low, given how useful they are for customers who are trying to navigate the often stressful experience that is international travel.
The flight booking experience is also a crucial consideration for conversion optimization. Yet 98% of APAC airline apps have an in-app search feature that’s routed to an external website browser, which will behave more like a desktop than a native mobile experience – and is likely to lead to fewer ticket sales.
What do great airline app experiences look like?
Some airlines have embraced the value of in-app customer experiences and designed innovative features to win passenger loyalty.
Delta customers can track lost luggage inside the airport using the Delta app.
KLM offers a smart queuing system that allows passengers to digitally queue instead of stand around waiting. They also offer a ChatBot service with voice assistance.
Iberia offers a personalized travel guide for each passenger through their app – based on their destination, dates, and language.
Any airline looking to increase its in-app revenue should consider adding features that allow customers to buy their entire range of services, offering customer support options that match market trends – like live chat – and overhauling their entire app design for great user experience and maximum conversions.
As the mobile device landscape is evolving and largely varies country by country, relying on a versatile mobile device cloud would be your go-to-solution for sophisticated app testing and maximum unique device coverage. At the end of the day, the key to higher customer retention and app ratings is ensuring your app works smoothly against the majority of popular devices that your customers use.
The Status Quo of Mobile Devices in Major Markets
Overall, Apple and Samsung dominate the smartphone market. By the end of Q1’2019, the most popular device across our observed markets is the almost 3-year-old iPhone 7, with 11 crowns out of 25 countries. (Stats are gathered from DeviceAtlas)
In North America and EMEA (only South Africa is observed), as one can expect, the market is dominated by iPhone and Galaxy variants, with the only exception in Spain, Italy and Turkey where Huawei’s P series devices had decent performance.
The same phenomenon also occurs in large Latin American markets, like Brazil, Argentina and Mexico, where only Motorola Moto series were able to share a slice of the market share.
Looking at Asia. While it’s pretty safe for app developers to only cover iPhone and Galaxy devices for Hong Kong, Singapore, South Korea and Taiwan, covering more smartphone brands like Xiaomi, Vivo and Oppo in India as well as Indonesia and local operators’ custom Sony Xperia in Japan is a must do.
On the Android side, the fragmentation issue still exists, even though around 60% of Android devices are running one of the last three OS versions, Android 7, 8 and 9, according to Android Developer Platform.
As the Android ecosystem evolves with new technologies – 5G, foldable phones and AI – being implemented, Android developers will need to get through a tougher time in addressing the device compatibility and bring the best and newest user experience to their users.
What to Expect in the Next 6 Months
Device-wise, we’ll see quite a few new, interesting devices in the coming autumn.
iPhone XI and/or XI Plus will be unveiled in September as usual together with iOS 13.
Samsung Galaxy Fold, which was announced at the MWC 2019, is already under pre-order.
Google Pixel 4 is rumored to be released possibly in October, based on the release time of Pixel 2 and 3.
And hopefully we’ll also see the Huawei Mate 30, the first device running under Huawei’s own mobile OS – HongMeng.
While these new phones will not be able to make it on the Top 20 devices that quick, it’s a must for any mobile app teams to have them covered in the mobile device testing strategy.
Health apps are one of the most exciting areas of software development today – especially as wearable devices like the Apple Watch feature increasingly powerful hardware for gathering user health data.
However, there are serious regulatory concerns and big ethical implications for unsatisfactory user experiences that developers must consider ahead of developing a health app.
Health apps are becoming big business
Health apps are a rapidly-expanding market, so software developers are flocking-in to try and develop useful applications and tools for patients, medical professionals, and healthcare providers.
How valuable is the global mobile medical apps market?
However, factors like quality control and data security take on a profound level of importance when it comes to developing health apps. As well as legitimate concerns about the potential loss of confidential patient data, inaccurate results in a health app could give a patient false reassurance or unnecessary alarm – both of which have severe ethical implications.
Much like the banking industry, health app developers have to balance important regulatory demands against strong commercial incentives to develop useful, innovative, and regularly updated mobile apps. Agile and DevOps can help. But there is a range of technical considerations that developers of health apps should also take into account.
Healthcare companies should ‘rush to the cloud’
Eric Schmidt – former CEO of Google – used his HIMSS 2018 keynote address in Las Vegas to argue that healthcare companies should rush to the cloud instead of relying on proprietary data centers and software tools.
“Get to the cloud. Run to the cloud… Don’t stop, don’t walk, don’t think about it — just run. Take an airplane, fly to the cloud, whatever metaphor you care about.
– Eric Schmidt, Former CEO of Google
Cloud-based testing tools like Bitbar offer enterprise-grade security and the flexibility to run the Private Cloud service on a range of VPCs (virtual private cloud) – including Amazon Web Services, Microsoft Azure, and Google Cloud – which each offer strict security measures that can accommodate healthcare and pharmaceutical companies.
Schmidt argued that the healthcare industry is ‘conservative beyond where it should be’ and criticized it for moving too slowly and cautiously. He recommended that moving to the cloud could open the door to an era of more efficient care.
‘Most of you sit in institutions that have proprietary data centers that have some sort of logic about them… Most of that logic may have been true five or 10 years ago, but it isn’t today. We now have — much safer than your data center, much more compliant than your data center and much easier to use — cloud-based servers within our industry… Choose any over zero.’
– Eric Schmidt, Former CEO of Google
He also said that ‘The future of healthcare lies in the need for killer apps’ – and suggested that digital healthcare will rely on an ecosystem of these apps working together in the cloud where they can share data to improve patient outcomes and identify cost-savings.
However, he warned that this will require the transfer of huge quantities of patient data that are currently held on EHRs (Electronic Health Records) – as well as data from smartphones and wearables – to build a complete picture of an individual’s health.
Mobile testing is crucial for health apps
Medical professionals will potentially use health apps in high-stress environments, where an issue with the app performance could affect whether a patient receives the right care or guidance.
Consumer-facing health apps might not be used in such high-stakes environments, but issues like instability and poor performance are still going to carry significant implications if they rely on these apps to track their health metrics.
Continuously testing a health app across the range of smartphones that rapidly enter the market requires a huge amount of infrastructure, ongoing investment, and technical expertise.
A dedicated solution like Bitbar Enterprise can enable health app developers to ensure their device runs reliably and predictably across new smartphones as they hit the market, without having to maintain their own testing facilities.
Developers for health apps have a range of important regulatory guidelines to consider for each territory they operate within. But there are clear advantages to leveraging cloud-based technologies and outsourcing mobile app testing to a dedicated platform.
Agile and DevOps have transformed the SDLC (software development lifecycle) for a range of industries. But how can pharmaceutical companies benefit from a shift to Agile, DevOps, and related technologies like mobile test automation?
Pharmaceutical companies have to perform accurate CSV
Just as pharmaceutical companies have to comply with CGMP (Current Good Manufacturing Practice) regulations that are enforced by the FDA to ensure quality control for manufacturing processes and facilities, there are also strict guidelines for their technology components.
FDA-regulated industries like biotech and pharmaceuticals safeguard the public by using CSV (Computer System Validation) to ensure that each hardware and software component fulfills its purpose in-line with regulatory guidelines.
Quality standards have huge implications in the pharmaceutical industry, as failures could have wide-reaching and potentially lethal consequences. CSV ensures that each technology component behaves in a consistent and reproducible manner.
Agile can make CSV cheaper and more efficient
CSV is part of the testing process. It traditionally operated in a Waterfall development model, which meant it took place at the end of the SDLC – as software testing usually does.
However, it’s widely understood among software developers that using the Agile model and building testing into each stage of the SDLC can significantly reduce the cost of fixing software bugs, compared to the Waterfall model.
Using an Agile development model and testing on each short sprint might sound like more effort, but it can effectively reduce the overall risk of introducing errors during a lengthy development process, which could remain undetected until launch – which would be costly in terms of both time and budget.
Agile instead allows bugs and architectural flaws to be discovered quickly so that developers can immediately respond and improve their code.
Test automation can help pharmaceutical companies to achieve regulatory goals
Test automation and AI-powered testing are regarded as crucial technologies for overcoming the testing bottleneck that still holds back many Agile and DevOps teams today. But these technologies can also help pharmaceutical companies to improve their quality assurance and evolve their approach to CSV.
Software testing tools like Bitbar’s AI Testbot can be used to automate repetitive software tests to verify compliance and substantially increase the frequency of software testing at each stage of the SDLC.
Regression is a strong candidate for automation. It makes up 74% of all software testing and can boost an organization’s ability to regularly update an app without damaging its reliability or stability – which is crucial for medical apps that perform important tasks for end users.
Agile can help pharmaceutical companies to be more competitive
Traditionally, pharmaceutical companies have long software development lifecycles. Updates can be years apart due to the industry’s strict regulatory environment, which creates concerns about the resources and planning required for each update.
However, consumer products like mobile health apps are driving demand for faster development cycles in order to build and maintain competitive user experiences – which have the potential to clash with the industry’s strict regulatory requirements.
Pharmaceutical companies may have a range of regulatory and consumer experience demands to balance. But as challenger banks are already demonstrating, they can use Agile, DevOps, and test automation to achieve this goal.