Friday, October 11, 2013

Mobile Application Testing Interview Questions

Note: These questions were asked to me by someone to answer,so it might be these questions might appear on some other blogs but answers are purely mine.

1. How to sign the Android Build (APK)? 
Using IDE like eclipse when you create a debug build the build is by default signed using the key generated by the keytool utility present in JDK.

In release build you sign by your private key using these steps (presuming that you already have a private key to sign your application if not you can go through this URl for more info http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html):
a)open your project in eclipse
b)Press right click on mouse and then click on export  then click on Android
c)Then click on Export Android Application then click on next button
d)Select the name of Project (What is of your application) then click on next
e)Select Use existing Keystore and browse the path of your private keystore
f)Enter Password of keystore in required field and click on next
g)Select Use existing Key and provide password and click on next
h)Now click on finish 

2. Which are the different Internet protocols? 
TCP - Transmission Control Protocol : TCP is used for transmission of data from an application to the network. TCP is responsible for breaking data down into IP packets before they are sent, and for assembling the packets when they arrive.
IP - Internet Protocol:  IP supports unique addressing for computers on a network. Data on an Internet Protocol network is organized into packets. Each IP packet includes both a header (that specifies source, destination, and other information about the data) and the message data itself.

3.Have you ever done Security Testing on Mobile Devices/Apps? What kind of Security have you performed for Android & iOS
You have to check and test unlock  patterns, passwords, by creating multiple profiles if you phone supports it.
For App you have to check App permissions, Need to test the data encryption if supported in OS or not. You should verify is data leaking to log files, or out through notifications& also server side control.
For mobile websites use tools like SQL Inject Me, XXS Me, WebScarab. A web proxy can also be used to intercept all mobile device traffic to monitor data and test for security issues.


4. How do you Find the UDID of the iOS devices ? 
• Connect the Device to iTunes 
• Click on Device name present on left side of Panel 
• Click on Summary (It shows device summary) 
• Click on Serial number  
• It shows you the 40 digit hexadecimal number

Use of UDID: It is basically used for Device Provisioning.

For QA you have to just copy and paste it using Edit button of iTunes and provide this number to developer so that they can add it to provisioning file which came along with testing builds.


5. What are the different types of IP’s ? 
1) Static IP address : It is that IP which is unique for one customer and he will always get same  IP address
2) Dynamic IP address: Its is that IP that whenever you connect to internet you get a new IP for your machine.
Also we can classify IP’s into:  
Global IP addresses : These are unique and cannot be shared by two or more computers. 
Private LAN IP addresses: As name suggest they are for private LAN network and they cannot be directly connected accessed from global Internet.

6. How do you assign IP’s to android Devices? 
I am providing steps for assigning static IP for as you need not to assign any IP which Dynamically they are assigned.
Steps are:
1. Click "Settings.
2. Click "WIFI."
3. Connect any WIFI
4. Tap and hold on your WIFI network
5. Tap on Modify Network
6. Select or check the Show Advance Options
7. Dismiss the keyboard using back button
8. Tap on IP settings(DHCP) and select static 
9. Enter new IP settings as you want

7. What is the latest version of iOS ? iOS 7.0.2(At the time of writing this blog)

8. What is the latest version of Android OS? 4.3(Jelly Bean)(At the time of writing this blog)

9. List down the Mobile Test Automation Tools? 

Popular Open Source Tools:
a)  MonkeyTalk  for Android, iphone 
b)  Robotium  for Android
c)  Selenium for iOS & Android
d) Appium for iOS & Android
e) Frank for iOS
f) Calabash for iOS & Android

Paid Tools :
a) Device Anywhere
b) SeeTest
c) PerfectoMobile
d) ZapFix 

10.What is your approach while Testing ?
Following Test Strategy can be followed while testing Mobile Application:
• First and foremost point is application installation on device , the application installation testing that application should be easily and completely installed on device.
• Then comes the smoke or sanity testing, do basic verification of application whether it is testable or not, if no then file a bug or suspend the testing effort.
• Then do the functionality testing of Application, whether it is meeting the functional requirement or not.
• Then verify the GUI of application.
• After this much is done you have to take care of the
• Performance of application, i.e. how much time application screens are taking in responding to user action for static applications.
• Network testing i.e., using application on EDGE, WIFI, 3G or 4G networks, Airplane modes and observe the behavior of application as some applications crashes on low networks.
• Testing call feature from application (if application has that feature) with and without SIM card installed in it.
• As now a day’s most of the devices are coming with touch screens so you have to take care to multi touch using more than one finger, tap & hold on screen and just a small touch etc.
• Open all the native application if device is multi tasking then observe the response/behavior of application under test.
• Do orientation multiple times if application support orientations. 
• Then check the uninstallation Testing of application i.e., all the components of application should get removed from device when user uninstall it   

After these things are done you have to take care of various other scenarios like 
• Interruption in the process of installation and at various other place of request/receiving from server etc by receiving call/SMS etc ,low battery indicator, Alarm/Calendar event indicators .
• Application specific testing scenarios depend on which type of application you are testing.
• Check the compatibility of application on different hardware’s which includes different screen size/resolution on real devices like iPhone platform check on iPhone/iPod touch and on iPad which are running on different or same iOS or on different manufacturer devices of same /other device OS like Android or Windows phones or on different emulators as emulators always do not provide complete support to all kind of application.
• Do some destructive testing like passing large input at different places or by doing something which is not expected.
• Security Testing which also depends upon application to application, basic application like password encryption etc
• Retesting and regression testing are continuous part of any kind of testing


11. Which is the prominent feature introduced in iOS 7 which are very important?  
Control Center, AirDrop for iOS, and smarter multitasking

12. Which are the prominent feature introduced in iOS 6? 
New privacy settings, Google Maps & YouTube removed, New Maps introduced, Intelligent Siri, Facebook comes integrated , Passbook app.

13. Which is the prominent feature introduced in iOS 8 which are very important? 
AirDrop between mac, iPhone & iPad, Health and HealthKit, Interactive notifications, iCloud Drive, Customized Keyboard and HomeKit

14. Which is the prominent feature introduced in Android L a.k.a 5.0 or Lollipop which are very important? 
Material Design






2 comments:

  1. Great and useful mobile testing question and answers. thank you..

    Selenium Training in Chennai

    ReplyDelete
  2. Thanks for this post regarding free mobile messaging app , I do get an idea and information out from it.

    ReplyDelete