Monday, March 18, 2013

Mobile Application - Installation Testing


Installation Testing – Android:

Smartphone application installation is the first phase of the actual validation of the application, in case of android installation and doing the compatibility testing is a very critical task due to number of handset manufactures, different OS's versions and phone careers. 

So it is a wide area to validate the installation and compatibility testing of any third party native application on Smartphone like Android.


What is Installation TestingInstallation testing is done to verify whether the software included with all their components are configured at their targeted location properly. This will insure that all the system components were used during the testing process.

This testing is performed to check high volume data, error message as well as security testing.


How many ways we can do the installation testing: Before going to do installation on Android device you must do the following setting on your handset.


Settings --> Applications --> Unknown sources

With that setting on, you can just point your phone to the url of an .apk and install it.



1. You can allow “untrusted” applications in the settings.

It is also possible to install apk using “debug mode” and adb-commands over USB-cable. (adb install location+filename)

2. Second way, tester can install the apk after connecting the USB cable with their workstation. For that they have to enable the debugging mode of device and run the adb command. For that your system must have the Android SDK

3. Third way, to install the apk file from the Android market with testing account, thorugh this we can distribute the application to limited emaulids.

What exactly we test during installation testing:


1. Check the supported OS version and api level.

2. Check the resource availability on handset.

3. Check the prerequisite of the application.

By default application installs on the device memory, not on the SD card. But if developers’ write such code to install the application on sd card then it will install on sd card memory.


Android Market:

How to Publish to the Android Market:

After finishing the development of the application, you should go through few crucial check list, before getting your application ready.

1. Test the application extensively.

2. Check the application performance.

3. Check the compatibility of the application with different OS version. You can test it on SDK and real devices.

After getting ready with application you must do few more things

1. Specify name and icon.

2. Configure version manifest data.

3. Set compatibility option.

4· The API level that your application was designed to run on.

5· An upper limit for compatibility. Don’t set this unless you have a very good reason to.


How to publish the application:

1. Registration:

2. Upload the application:

It means you have to create a developer account with Android, provide the application name, image and icon for the application, set the service name of the application, provide a version for your application, sign your application.


Application components:

Application components are the essential building blocks of an Android application. Each component is a different point through which the system can enter your application.


There are four different types of application components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.


1. Activities:

An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails. Although the activities work together to form a cohesive user experience in the email application, each one is independent of the others. As such, a different application can start any one of these activities (if the email application allows it). For example, a camera application can start the activity in the email application that composes new mail, in order for the user to share a picture.


2. Services:

A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different application, or it might fetch data over the network without blocking user interaction with an activity. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.


3. Content providers:

A content provider manages a shared set of application data. You can store the data in the file system, an SQLite database, on the web, or any other persistent storage location your application can access. Through the content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information. As such, any application with the proper permissions can query part of the content provider (such as ContactsContract.Data) to read and write information about a particular person. Content providers are also useful for reading and writing data that is private to your application and not shared. For example, the Note Pad sample application uses a content provider to save notes.


4. Broadcast receivers:

A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low, or a picture was captured. Applications can also initiate broadcasts—for example, to let other applications know that some data has been downloaded to the device and is available for them to use. Although broadcast receivers don't display a user interface, they may create a status bar notification to alert the user when a broadcast event occurs. More commonly, though, a broadcast receiver is just a "gateway" to other components and is intended to do a very minimal amount of work. For instance, it might initiate a service to perform some work based on the event.



Validate the installation flow of the application:

Android Market is an online software store developed by Google for devices running the Android operating system. Its gateway is an application program ("app") called "Market", preinstalled on most Android devices, which allows users to browse and download mobile apps published by third-party developers. Users can also search for and read detailed information about apps on the Android Market website.


Request necessary Android permission:

If you’re utilizing newer Android features that aren’t available in older versions, then you’ll have to specify a set of version requirements. To do this, create a bodiless XML tag named uses-sdk. The following attributes are at your disposal:

· The minimum Android platform API level on which your application will be able to run.

· Register as a publisher and setup your profile.

· Read and agree to the Android Market Developer Distribution Agreement.

· Pay a registration fee of $25 USD via Google Checkout (This is the one time registration fee for Google)


Login to your publisher account and click “Upload an Application”. Fill in all of the form data and include screenshots if you can and provide a precise, short and well-formatted description. You can also choose whether or not you want to release it as a free or paid app – though you need to be a registered Google Checkout Merchant to do the latter and it’s currently only available in a handful of countries. Lastly, click “Publish.” Congratulations, you’ve just successfully published an application to the Android Market!!


7 comments:

  1. Good to know, I would like to share one of the software testing company. Indium software is one of the best Independent software testing company* established in 1999 | offshore QA Firm | Offshore & In-Housing Software Testing Services. Indium has its registered office in California, Georgia and also has multiple offshore delivery centers in India.
    Services like Mobile application testing services, Game software testing services, Software Testing services, QA services, Software verification and validation, Offshore Software testing, QA Validation services, Test consulting services, automated software testing, quality assurance software, web based application testing .

    ReplyDelete
  2. Thank you for sharing. The professionals at QualiTest have the experience and expertise to provide you with the most reliable mobile testing services available.

    ReplyDelete