Best of mobile application testing


Published on

The document covers different types of applications and the challenges that are faced by QA and testing team . It also outlines some of the solutions or the risk mitigator for the applications

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Best of mobile application testing

  1. 1. Best Of Mobile Application Testing Changing Market trends; Global Acceptability; Challenges Shaireen Dhingra
  2. 2. Contents 1. INTRODUCTION ..................................................................................................................................... 2 2. TYPE OF OS ............................................................................................................................................ 3 3. TYPES OF APPLICATIONS ....................................................................................................................... 4 4. TYPES OF TESTING FOR MOBILE APPLICATIONS ................................................................................... 5 5. QA CHALLENGES IN MOBILE APPLICATION TESTING ............................................................................ 6 6. MOBILE APPLICATION TESTING RISK MITIGATORS ............................................................................... 8 Mobile Application Testing
  3. 3. 1. INTRODUCTION Mobile devices are evolving into increasingly sophisticated general purpose computers and this has led to the development of a variety of platforms and operating systems in the mobile space.The number and variety of consumer and enterprise mobile applications has grown exponentially over the last few years. Organizations need to ensure that every application meets a high quality bar in order to prevent revenue loss, lost productivity and damage to brand reputation. Mobile applications need to be tested on a variety of software platforms and versions, on diverse hardware and under different network connectivity conditions. Moreover, the rapid pace of mobile OS updates, the frequent introduction of new devices and the customer expectation of quick upgrades require additional test cycles. Over a time every big organization has entered into this business and thus, we have a variety of Mobile Operating Systems evolving in the market. Operating system Owned By Android Google Inc. iOS Apple Inc. Blackberry Blackberry Windows Mobile Microsoft Mobile Application Testing
  4. 4. 2. TYPE OF OS Android by Google Inc. o Android is an Open Source, Linux-derived platform backed by Google. IPhone OS from Apple Inc. o IPhone OS has four abstraction layers: the Core OS layer, the Core Services layer, the Media layer, and the Cocoa Touch layer. Presently XCode is the development environment and the applications are written in Objective C (a variant of language C). Windows Mobile from Microsoft o Windows Mobile, also known as Windows Phone, is the mobile phone version of Microsoft's operating system. Because of this, it is easily compatible with many Windows programs such as Microsoft Office, making it a popular choice for businesspeople. Blackberry from RIM(Research In Motion) o The BlackBerry OS is tailor-made for business, with functionality taking a seat over personality or appearance. Its main focus is on messaging, email and other communication features. Media players and other entrainment-based applications are less-common for the device. Mobile Application Testing
  5. 5. 3. TYPES OF APPLICATIONS A Smartphone is the one that has a vast range of applications (built-in) and supports plenty more from the external apps markets. These apps allow the user to do almost everything that previously required a Desktop PC or a laptop. Native App Web App Hybrid App Native App Native mobile applications are the ones that run directly from your handheld. These are mobile OS/platform based applications, which can be downloaded from the relevant mobile store and thereafter installed on the device. Native mobile apps provide fast performance and a high degree of reliability. They also have access to a phone’s various devices, such as its camera and address book. However, this type of app is expensive to develop because it is tied to one type of operating system, forcing the company that creates the app to make duplicate versions that work on other platforms Web App Web mobile applications are software programs that run directly from the web browser on mobile phones and tablets. These web-based mobile apps do not get installed on your handheld mobile device and are run on web-hosted servers. These web-based mobile applications can be developed on a single platform as they are not limited by the operating systems of your device. Web apps are not real apps; they are really websites that, in many ways, look and feel like native applications. They are run by a browser and typically written in HTML5 Hybrid App Hybrid Apps are like native apps, run on the device, and are written with web technologies (HTML5, CSS and JavaScript). Hybrid apps run inside a native container, and leverage the device’s browser engine (but not the browser) to render the HTML and process the JavaScript locally. Often, companies build hybrid apps as wrappers for an existing web page; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app. Hybrid apps are also popular because they allow cross-platform development: that is, the same HTML code components can be reused on different mobile operating systems, reducing significantly the development costs. Mobile Application Testing
  6. 6. 4. TYPES OF TESTING FOR MOBILE APPLICATIONS  Usability testing This include text visibility in the selected language, navigation between screens, verification of functionality online/offline, feedback from interaction with the system i.e. downloaded application should prompt with message.  Compatibility Testing This entails validating the application for different mobile devices, OS versions, screen sizes and resolution as per the requirement, checking if integration server changes, checking for the app isolation with other apps on the device.  Interface Testing With diverse features and gestures of touch supported in smartphones, response time to user’s action should be a considerable point. Thus testing each screen, buttons, text inputs, navigation flows such as bookmarks, Facebook is very crucial.  Services Testing This includes checking the behavior of services. It includes checking if a service takes too long or is used offline, and also checking the behavior of the service when the server goes down.  Performance Testing This includes checking the server connection changes from Wi-Fi to 2G/3g or vice versa. Also, application response time, memory leaks, resources like GPRS, CAMERA etc.  Security Testing With increased usage of internet on the mobile devices, all data transfer requires security. This includes encryption/decryption techniques used for sensitive data communication, checks for multi used support, and checks for access to saved files stored in application.  Orientation Testing This checks the behavior of application in different orientation. A smartphone supports both landscape and portrait orientation. The change in orientationresults in change of the UI of the application. Height, width, breadth are factors that change with orientation. The application should respond to both.  Localization Testing With increase in globalization, survival becomes more challenging. The apps that support global languages are more likely to sustain the market changes and trends. Mobile Application Testing
  7. 7. 5. QA CHALLENGES IN MOBILE APPLICATION TESTING The aim of application testing is to validate the quality and performance of the features offered. There are, however, some challenges faced which makes mobile testing a greater challenge vis-à-vis desktop and web-based application testing. Factors are:  Mobile Testing strategy for Native Application While native applications can provide a rich experience to the user, they also add some complexity to the lives of those tasked with testing them. Testing needs to ascertain that the app can be successfully downloaded to the device, executed on the device and interact with the supporting back content infrastructure. When updates are made its important to makesure that the application can be pushed out to and accepted by the end user. There’s a misperception that successful testing of app functionality on one device provides assurance across all others of the same operating system. To meet the challenge of testing for native mobile applications, it’s essential to test on the physical devices supported by the application. Steps to ensure backward compatibility with each older generation of the device is also expected. Consistency in executing the test plan is also a problem when limited to manual testing.  Mobile testing strategy for Web Application While testing mobile Web applications several challenges encountered are presented by the nature of the global, mobile Web. With Each challenge, different technology options are explored to manage issues and mitigate risk. Coming up with the right solutions requires an assessment of the advantages and disadvantages inherent in each of the testing options available and determining the technology that best suits the requirements. These mobile testing challenges include devices, network, and scripting.  Various Mobile Platforms and devices With the proliferation of devices such as iPhones, iPads, and a wide variety of Android devices, mobile application providers have to market to a variety of mobile platforms to reach their audience. However, because no industry-wide standards for operating systems or device hardware have been established, this is not a simple task.Mobile testing is challenging due to various compatibility issue as a mobile application can be deployed across devices which have different Operating Systems Versions of Operating System Manufacturers Keypad types such as virtual or hard keypad Mobile Application Testing
  8. 8. Creating separate tests for each device and platform can quickly become costly and time intensive  Data Carrier Providers There are a lot of local data providers in market offering the best of their services in terms of data connectivity, bandwidth, and speed but still in any case the speed has to be fast. Whether it is a web or native application, both need speed and a good connectivity when the data download or upload is little huge but if the data is very low like in KBs then a low speed might work  Mobile Testing Tool Availability for Automation The tool used for desktop or web based testing do not work for mobile testing. When everyday a tester has to run a same set of Suites or cases on an application again and again then the need for automation arises. For mobile application testing, this has been a big question for testers as even today there are not many good tools available in market thatcan be used across platforms and for native as well as web application. Android and iOS have their own tools, which come bundled with their SDKs like UI Automation and Monkey Runner but then creating and maintaining two different tools is not recommendable.  Skilled QA for Automation Quality resource to automate the testing is a key point to be considered. With limited automation tools available in market, the need for experienced resources is rising. Automation team can assess the tools available in market for testing.  Change in Orientation With smartphones capturing a large part of the market, along came the big screen with touch options. This feature brought a whole new interface. The bigger screen supported all views like left portrait, right portrait, left landscape and right landscape. Application must support both landscape and portrait view. The appearance of application should be supported  Battery Life Mobile devices have a variable battery life based on the usage; various checks for application behavior when the device is shut down automatically must be performed. Since batteries found in mobiles are much smaller than in laptops, so battery consumption is an important factor to measure the Performance of the application.  Dependency on External Resources The internet connectivity is one prime factor that affects the performance of an application. Many applications depend on external resources like network connectivity. A major point to be considered with the connectivity is the application’s behavior to the bandwidth availability for connectivity. A check for such dependencies ought to be performed. Mobile Application Testing
  9. 9. 6. MOBILE APPLICATION TESTING RISK MITIGATORS With so many aspects to keep in mind while testing, it becomes difficult to find a single effective solution. Following factors can be focused on to minimize the requirements of testing  Emulators All application can be tested on emulators without investing in mobile handsets. They are available free and can also be used for stress and performance testing. Various scenarios like bypassing the network, using live environments like modem can be tested on the emulators. It is a cost effective solution. Emulated devicesare relatively easier to manage. You can switch device types by simply loading a new device profile, and instantly you have a new device that presents itself to your mobile Web application in the same way that the real device would. And because the emulators run on more powerful PCs and servers and were designed with testing in mind, they are typically fully instrumented to capture detailed diagnostics about the protocols that go back and forth between client and server at the various levels of the stack.When you encounter an application fault, you will have the information to isolate and thus correct the problem. Emulated devices are thus cost effective, because a single platform with frequent updates of device profiles can be used to test every device on the market both today and tomorrow. However, the very nature of emulators and simulators means testing is occurring in an environment far removed from the real world, with a series of actions performed by a mouse and keyboard, not fingers on a touch screen. Mobile Application Testing
  10. 10.  Mobile Cloud Computing solutions Mobile cloud computing environments can be used for deploying and testing a mobile application. In this new architecture, data processing and data storage happen outside of mobile devicesi.e. the task and data are kept on internet rather than on individual devices and providing on-demand access.  Real time Devices with Real Network With emulator availability to test the application, it is to be kept in mind that testing on a real device is always a different experience. Whenever required, a real time device with a real network should be available. This is unavoidable as mobile devices will be used by end users for running the application.  Automation tools to avoid Manual work Automating whatever possible is a key solution. Real device solutions that provide script and playback functionality can allow execution of more test cases with higher degree of consistency.This is a time saving option available for testing. Various tools are available in market for mobile application testing Mobile Application Testing
  11. 11. Mobile Application Testing
  12. 12. 7. Conclusion The various challenges that are involved in testing a mobile application can be extenuated by adopting any combination of solutions provided here. Also, it is not a matter of choosing one tool or technique; there are simply too many compromises that must be made. Most likely it is seen that a combination of testing tools and techniques is required to meet quality requirements. It is purely requirement based, which technique may turn out to be the most effective one. There may be situations when a proven technique fails. About the Author Shaireen Dhingra Business Technology Analyst 3 years of experience in Functional Testing Experience on Mobile Application Development in Android and Windows OS 7 Mobile Application Testing