Mobile application testing

Last updated

Mobile application testing is a process by which application software developed for handheld mobile devices is tested for its functionality, usability and consistency. [1] Mobile application testing can be an automated or manual type of testing. [2] Mobile applications either come pre-installed or can be installed from mobile software distribution platforms. Global mobile app revenues totaled 69.7 billion USD in 2015, and are predicted to account for US$188.9 billion by 2020. [3]

Contents

Bluetooth, GPS, sensors, and Wi-Fi are some of the core technologies at play in wearables. [4] Mobile application testing accordingly focuses on field testing, user focus, and looking at areas where hardware and software need to be tested in unison. [5]

Key challenges for mobile application testing

Types of mobile application testing

  • Incoming and outgoing SMS and MMS
  • Incoming and outgoing calls
  • Incoming notifications
  • Battery removal
  • Cable insertion and removal for data transfer
  • Network outage and recovery
  • Media player on/off
  • Device power cycle
An application should be able to handle these interruptions by going into a suspended state and resuming afterwards.

Related Research Articles

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

In software quality assurance, performance testing is in general a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.

<span class="mw-page-title-main">Embedded system</span> Computer system with a dedicated function

An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use. In 2009, it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

<span class="mw-page-title-main">Binary Runtime Environment for Wireless</span> Application development platform

Binary Runtime Environment for Wireless was an application development platform created by Qualcomm, originally for code division multiple access (CDMA) mobile phones, featuring third-party applications such as mobile games. It was offered in some feature phones but not in smartphones. First developed in 1999, as a platform for wireless applications on CDMA-based mobile phones, it debuted in September 2001. As a software platform that can download and run small programs for playing games, sending messages, and sharing photos, the main advantage of Brew MP was that the application developers can easily port their applications among all Brew MP devices by providing a standardized set of application programming interfaces. Software for Brew MP-enabled handsets can be developed in C or C++ using the freely downloadable Brew MP software development kit (SDK). The BREW runtime library is part of the wireless device on-chip firmware or operating system to allow programmers to develop applications without needing to code for system interface or understand wireless applications. BREW is described as a pseudo operating system, but not a true mobile operating system. BREW was not a virtual machine such as Java ME, as it runs code natively.

<span class="mw-page-title-main">Rockbox</span> Firmware replacement for various devices

Rockbox is a free and open-source software replacement for the OEM firmware in various forms of digital audio players (DAPs) with an original kernel. It offers an alternative to the player's operating system, in many cases without removing the original firmware, which provides a plug-in architecture for adding various enhancements and functions. Enhancements include personal digital assistant (PDA) functions, applications, utilities, and games. Rockbox can also retrofit video playback functions on players first released in mid-2000. Rockbox includes a voice-driven user-interface suitable for operation by visually impaired users.

Network emulation is a technique for testing the performance of real applications over a virtual network. This is different from network simulation where virtual models of traffic, network models, channels, and protocols are applied. The aim is to assess performance, predict the impact of change, or otherwise optimize technology decision-making.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

Mobile-device testing functions to assure the quality of mobile devices, like mobile phones, PDAs, etc. It is conducted on both hardware and software, and from the view of different procedures, the testing comprises R&D testing, factory testing and certificate testing. It involves a set of activities from monitoring and trouble shooting mobile application, content and services on real handsets. It includes verification and validation of hardware devices and software applications. Test must be conducted with multiple operating system versions, hardware configurations, device types, network capabilities, and notably with the Android operating system, with various hardware vendor interface layers.

In computer science, fault injection is a testing technique for understanding how computing systems behave when stressed in unusual ways. This can be achieved using physical- or software-based means, or using a hybrid approach. Widely studied physical fault injections include the application of high voltages, extreme temperatures and electromagnetic pulses on electronic components, such as computer memory and central processing units. By exposing components to conditions beyond their intended operating limits, computing systems can be coerced into mis-executing instructions and corrupting critical data.

<span class="mw-page-title-main">Emulator</span> System allowing a device to imitate another

In computing, an emulator is hardware or software that enables one computer system to behave like another computer system. An emulator typically enables the host system to run software or use peripheral devices designed for the guest system. Emulation refers to the ability of a computer program in an electronic device to emulate another program or device.

API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and security. Since APIs lack a GUI, API testing is performed at the message layer. API testing is now considered critical for automating testing because APIs serve as the primary interface to application logic and because GUI tests are difficult to maintain with the short release cycles and frequent changes commonly used with Agile software development and DevOps.

Mob4Hire is a privately held Canadian Web 2.0 company. It primarily provides crowd-sourced mobile application testing services. It also conducts market research in the global wireless telephony space.

NeoLoad is an automated performance testing platform for enterprise organizations continuously testing from APIs to applications. It provides testers and developers automatic test design and maintenance, the most realistic simulation of user behavior, fast root cause analysis and built-in integrations with the entire software development lifecycle toolchain. It is designed, developed and marketed by Neotys, a privately owned company based in Gémenos, France.

Crowdsourced testing is an emerging trend in software testing which exploits the benefits, effectiveness, and efficiency of crowdsourcing and the cloud platform. It differs from traditional testing methods in that the testing is carried out by a number of different testers from different places, and not by hired consultants and professionals. The software is put to test under diverse realistic platforms which makes it more reliable, cost-effective, and can be fast. In addition, crowdsource testing can allow for remote usability testing because specific target groups can be recruited through the crowd.

A mobile application or app is a computer program or software application designed to run on a mobile device such as a phone, tablet, or watch. Mobile applications often stand in contrast to desktop applications which are designed to run on desktop computers, and web applications which run in mobile web browsers rather than directly on the mobile device.

Opensignal is an independent analytics company specialising in "quantifying the mobile-network experience".

Crowdsourcing software development or software crowdsourcing is an emerging area of software engineering. It is an open call for participation in any task of software development, including documentation, design, coding and testing. These tasks are normally conducted by either members of a software enterprise or people contracted by the enterprise. But in software crowdsourcing, all the tasks can be assigned to or are addressed by members of the general public. Individuals and teams may also participate in crowdsourcing contests.

Computation offloading is the transfer of resource intensive computational tasks to a separate processor, such as a hardware accelerator, or an external platform, such as a cluster, grid, or a cloud. Offloading to a coprocessor can be used to accelerate applications including: image rendering and mathematical calculations. Offloading computing to an external platform over a network can provide computing power and overcome hardware limitations of a device, such as limited computational power, storage, and energy.

Mosaik Solutions was a company that specializes in wireless coverage data and wireless coverage maps, based in Memphis, Tennessee before being acquired by Ookla.

References

  1. "'What is Mobile Testing?', SmartBear Software". smartbear.com. Retrieved 2014-07-23.
  2. "'Increase efficiency and productivity with Test Automation', Bitbar". bitbar.com. Retrieved 2014-08-07.
  3. "Mobile app revenues 2015-2020 | Statistic". Statista. Retrieved 2019-03-08.
  4. "Core technology of wearable devices". DigiTimes. July 15, 2014.
  5. Bolat, Alex. "Deneme Bonusu Veren Siteler 2023" . Retrieved 5 October 2021.
  6. "Testing Strategies and Tactics for Mobile Applications, Keynote White Paper" (PDF). Keynote.com. Retrieved 2012-05-02.
  7. "Emulated vs. Real Device Mobile App Testing". bitbar.com. Retrieved 2016-11-08.
  8. "Testing on Emulators vs Real Devices | Smashing Magazine". Smashing Magazine. Retrieved 2016-11-08.
  9. "The Pitfalls of Mobile Emulators| Mobile1st Blog". Mobile1st.com. Retrieved 2015-09-30.
  10. "StickyMinds | How the Usability Matrix of Emotions Can Benefit Your Software Testing | Page 1". StickyMinds. Retrieved 2015-10-29.
  11. Contractor, Lena. "What is User Experience?". WhatUsersDo. Retrieved 2015-10-31.
  12. "Mobile UX Issues Caused by Device Fragmentation". Testmunk Blog. Retrieved 2015-10-31.
  13. "Mobile App Testing Techniques and Tools". Mindster. 2019-07-16. Archived from the original on January 2, 2021. Retrieved 2021-01-02.
  14. "Mobile App Testing | Services Issues | Page 1". GTT. Retrieved 2016-03-22.
  15. "Mobile Application Testing using Managed Crowd Sourcing". Qualitrix.com. 2017-02-06. Retrieved 2017-03-14.
  16. "6 Major Pitfalls of Crowdsourced Software Testing - QualityLogic". QualityLogic. 2017-10-26. Retrieved 2018-02-14.