Mobile Application Testing Interview Questions
Mobile Application Testing Interview Questions
Q. What is mobile application testing and how is it different from Mobile Testing?
Mobile Application Testing (MAT) is the testing of application on mobile devices and it is different from Mobile Testing (MT) in the term that in MT we focus on the native application features of the Mobile devices like Call, SMS, Media Player etc while in MAT we focus only on the functionality & features of the application under Test. i.e, MT is generally done in handset makers like Samsung, HTC, Nokia, Sony, Apple etc while MAT is done in various product based companies and through there vendors like service based companies which do testing of various mobile applications products on different devices like Gmail on mobile, Skype on mobile etc.
Q. What is the difference between mobile application testing and just mobile testing?
Mobile app testing suggests testing an application on hand-held devices and differs from mobile testing in that it focuses on features and functionality of the tested application only while the other closely focuses on mobile devices’ native application features like SMS, Call, Media Player, etc.
Q. Explain what is the difference between Web testing and WAP testing?
- WAP Testing: It is the testing the WAP (Wireless Application Protocol) used in network applications
- Web Testing: It is related mainly to the testing of web applications such as websites and portals
Q. List out some of the automated mobile testing tools?
For mobile testing, two kinds of automation tools are available to test mobile apps
- Object based mobile testing tools: Jama solution, Ranorex,
- Image based mobile testing tools: RoutinBot, Egg Plant, Sikuli
Q. Explain what is the difference between simulator and emulator?
- Simulator: It is an electronic network simulation equipment or a base station equipment for CDMA/CMA mobile phones. It helps in latching home networks without roaming services and can make Voice; Data calls, SMS,
- Emulator: It is a software to test mobile application without a live handset
Q. List out the types of mobile app testing?
The types of mobile app testing includes
- Usability testing
- Compatibility testing
- Interface testing
- Services testing
- Low-level resource testing
- Performance testing
- Operational testing
- Installation tests
- Security testing
Q. Mention what is the Android testing strategy?
The standard Android testing strategy must include the following test
- Unit Test
- Integration Test
- Operation Test
- System Test
Q. Explain Android testing framework?
Android testing framework includes three segments
- Application Package: It is the target application that requires to be tested
- Instrumentation TestRunner: It is a test case runner that runs test cases on target application. It includes an SDK tools for building test and a tool that provides APIs for writing program that control an android device, for example, MonkeyRunner
- Test Package: It includes two classes, Test case classes, and Mock objects. Test case classes include test methods to perform on target application, while mock object includes mock data that will be used as sample input for test cases.
Q. List out the best practices for Android Testing?
- Developer should prepare the test cases at the same time when they are writing the code
- Together with source code all test cases should be stored
- Use continuous integration and execute tests every time the code is changed
- Avoid using rooted devices and emulators
Q. Mention what are the common bugs found while mobile testing?
- Critical: Your phone system crash when testing particular feature in your device
- Block: Unable to do anything though phone is on unless you reboot your device
- Major: Unable to perform a function of a particular feature
- Minor: Under minor bugs usually GUI bugs fall.
Q. Explain what is Robo-electric testing framework?
Testing done on Android Testing Framework for emulators or device is difficult. Running and building test case sometimes takes lots of development effort. Robo-electric framework allows you to run Android test directly on JVM without the need of a device or an emulator.
Q. Explain how A/B testing is done for ios app?
A/B testing for ios includes three steps
- Configure a test: It prepares two versions of your iOS app (A&B) and test metric
- Test: Tests two iOS versions above on devices simultaneously
- Analyze: It select and measure better version to release
Q. While performing end to end mobile testing what are the major criteria, you have to take in consideration?
- Application launching without having network
- Uninstallation of app
- Orientation of app if it supports
- Testing application performance on a different kind of devices and network scenarios
- Testing the application response how it is responding
Q. List out the features does monkey tool provides?
Monkey tools provide features like
- Basic configuration options
- Operational constraints
- Event types and frequencies
- Debugging options
Q. Mention what should be the selecting criteria for Test Automation Tool for mobile Testing?
For mobile testing, the test automation tool should have following criteria
- Multi-platform support: Ensure that the tool does support your current and future target platform
- Script Usability: Object-based tools provides a high degree of the script usability
- Jailbreak Requirement: If the tool uses rooted devices, it may not support latest OS version and may be incompatible with MDM policies
- Source Code Changes: Sharing source code may not be possible always
- Lead time for New OS version: How soon tool can support new iOS/android/other OS version
Q. When to choose automation testing and when manual testing?
- If the application has new functionality
- If the application requires testing once or twice
- If the regression tests are repeated
- Testing app for complex scenarios
Q. List out the most common problem that tester faces while doing mobile testing in Cloud Computing?
Challenges that tester faces while doing mobile testing are
- Subscription model
- High Costing
- Internet connectivity issues
- Automation is image based and time-consuming
- Automation cannot be used outside the framework
Q. Explain what does mobile security testing includes?
Mobile security testing includes
- Checks for multi-user support without interfering with the data between them
- Checks for access to files stored in the app by any unintended users
- Decryption or Encryption method used for sensitive data communication
- Detect sensitive areas in tested application so that they do not receive any malicious content
Q. List out mobile App testing?
- Testing in all web browsers
- Browsers very significantly across the devices
- May support xHTML,HTML,WML,AJAX
- Difficulty in Benchmarking the performance due to highly fragmented Market
- Emulators do not capture all the attributes or characteristics of a device
- Implementation of the specification may not be consistent across vendors and devices
- In some situation, transcoder may not respect user experience factors
Q. Explain what is port testing?
This testing is done to test the same functionality on different devices with different platforms. It is classified into two categories
- Device Testing
- Platform Testing
Q. List out some iPhone and iPad testing tools?
- iPhone tester: Test your web interface in an i-phone sized frame
- Appium: It is a test automation tool used with native and hybrid ios application
- iPad Peek: Test your web application using an iPad interface
- Test Studio: It enables you to record, build and run automated tests for your iPad and iPhone applications.
Q. Explain how you can install SD card in emulator?
To install SD card in emulator, you have to use the command
MKsdcrd –I mySDCard 1024M mySdCardFile.img
Q. What are some tools used to capture app logs on Android:
We can use monitor.bat file located under tools folder of android sdk to see log and we can select and save the log from it.other than this alogcat is a free log getting tool which is present in Google Play
Q. Screenshot capabilities for Android, and Android phones:
Same with Android Debug Monitor (Monitor.bat) if device is connected use screen capture feature and also for Samsung device like note2: Power and Home buttons at the same time & wait for capture sound
Q. How do you perform end to end testing in respect to mobiles:
It totally depend upon the project to project,can you please elaborate on the question because this is project specific as starting from installation and version upgrade ,uninstallation etc we do apart from functional testing. Security and Performance of application also need to be tested.
Q. Some issues you faced during testing in regards to the platforms you used:
Some time some issue appear on particular version device and OS of device also do matter.
Q. Issues faced with cross platform testing:
Generally the issue depends upon the different OS/device version, it might be same thing is working on one OS while it might not work on another version.Example we faced issue that our application was working fine on iOS 6.x version devices but on tapping few modules on iOS 5.x devices application crashes and same happened with 2.3.5 Vs
Q. What kind of testing did you perform (functional, interruption, connectivity, etc) :
Very first test we have to perform installation , after that we check the basic functionality and after that we check the connectivity related stuff of the application, Then we uninstall the build and verify how application respond when we interrupt during installation and also we check interruption scenarios when our application request network call .
We also do low network/poor connectivity testing during network call. Upgrade from older version to newer version. navigation in the application without network if it supports this feature.Compatibility of app on different kind of phones like having external buttons & devices do not have external buttons or other than this flip phone etc
Q. When performing end to end Mobile Testing what major criteria are taken into consideration
Major areas are Installation,first time launching application without having network , uninstallation of app, orientation of app if it support it , testing application performance on different kind of devices and network scenarios , testing the application response how it is responding when invalid user credentials are provided and try to change them after installation n so on.
Also if your application is accessing network then you must see the logs generated during that period so that sensitive information should always go in encrypted form, like if it is payment related CC number etc.
Q. Examples of Defects found during Mobile Testing
Issue is saving contact on phone memory or deleting it or some time conference call issue while an active call is there n like that.
Q. Testing on Different Networks (WiFi/Cellular Data Plan)
We have to test the application on 2G/EDGE, 3G and Wifi network because some times application faces issues on slower networks
Q. How do you test patches/defect fixes intended for an app already in production
We generally do regression of relative module and mainly focus on the area which are related to the bug fixes as per the developer as we can not do entire regression in very short span of time, so just do sanity of rest of the application modules on high priority devices(on which you have major customer base if you have crunch of time members & if team size is not an issue do sanity on all major devices)
Q. Defect Tracking Mechanism
This is of same nature like any other software testing project using any tool like Jira, Bugzilla etc
Q. What are the tools used in debugging ?
We generally use logs to see the cause of issue where the failure is occurring , so for iOS iPhone configuration utility for Android Monitor.bat etc can be used and if you provided logs from these tools developer can easily under stand the cause of issue.
Q. Testing performed/modules handled by testers based on their project
We generally divide the modules among the team members and then shuffle the modules among team member with different devices.
Q. Data Generation Tools
This is generally done by the Use cases, SRS and FRS document as you application specific test data can be only created using these things.
Q. What tools you use for performance testing and automation ?
@ Performance testing of the Web service which your application uses you can use jMeter, it is an open source tool which can be used to test the api’s performances.
@Automation: It is very subjective term & totally depends on the project need and type of application , there are several paid tools available in the market like SeeTest, Ranorex, Silk Mobile etc while good free automation tools are Calabash, Appium , Robotium for Android, KIF for iOS and using free tools you require some coding skills like ruby or Java.
Q. Tell about filter what you can create while checking logs.. ?
Filters helps you in finding relevant information about your application and you can create filter based on the application package name like com.abc.com and save this filter by name as My application ,when you click on this filter then you will see only logs which are from your application.
You can create filter based on Log tag which is related to the thing that line is doing example if you have placed system.out to print the output put then you can create a filter by tag System.out, then it will short list all the print output.
And you can create filter by Choreographer which helps in finding the skipped frames if you want to see it.
You can create filter corresponding to your PID and log message which is coming as text also.
Q. How to check CPU usage and memory utilization of an app ?
You can use various tools like Usemon,CPU Usage Monitor, CPU Usage& Process List Viewer etc available in Google Play store and if you want to use sdk, then you can use systrace feature of Android Monitor
Q. One thing which you cannot do with Emulator but can do with real device?
You can test the interrupts like phone call, messages, battery drain out completely while you were using the application under test, low battery scenarios etc on real devices , memory card mount/unmount scenarios , actual performance of you application can be test on real devices only, Bluetooth related testing can be only done on real devices.
Q. Types of mobile applications?
Mobile applications can be broadly categorized into three categories i.e, Native app, Web app and Hybrid App.
Native App: Native app are developed specifically for one platform, which is coded with a specific programming language (like Objective C for iOS, Java for Android) and installed directly onto the device and can take full advantage of all the device features — they can use the camera, the GPS, the accelerometer, the compass, the phone book etc. Native apps can use the device’s notification system and can work offline. Native apps are installed through an application store (such as Google Play or Apple’s App Store).Native mobile apps provide fast performance and a high degree of reliability. Example of native app: Temple Run, Candy Crush etc.
Web App:Web applications are mobile web portals that are designed, customized and hosted specifically for mobiles. They are accessed through the mobile device’s web browser using a URL. Web apps became really popular when HTML5 came around and people realized that they can obtain native-like functionality in the browser. Mobile web applications cannot use device functionality. Example of web app: google.com, m.snapdeal.com, m.yahoo.com etc.
Q. Full Form of various application extensions:
- iPA:iOS APP Store Package
- APK:Android Application Package file
- exe:Executable File
- jad:Java Application Descriptor
- prc:Palm Resource Compiler