Before starting with the main topic - we may have a quick look to a chart researched at Keane and published as a white paper with the title "Testing Mobile Business Applications". It is some sort of continuation of my last post (specially the last paragraph). This chart provides us with a recommendation about testing strategy while testing mobile business applications.

Now moving to the original post i.e. the curious questions about mobile app testing we may have a look to the following Q and A. ;-)
1.) What is the difference between Mobile Testing and Mobile Application Testing?
:::::: Mobile testing refers to a complete testing of mobile phones which includes - Protocol testing, device testing and application testing. If we try to elaborate a bit more - testing the support of 4 bands of mobile phone and calling in each of the band, battery, connectivity (such as bluetooth, wlan, etc.), network frequency, cell selections, handover, encryption, software compatibility, etc. along with multimedia and applications testing are referred to Mobile Testing.
Whereas, mobile application testing is the testing of softwares, games and others utilities built on the mobile platform by third parties or the same vendor for targeted device. Here the main concern is about the functionality of the application under different circumstances and environments.
2.) What is your approach while Testing Mobile Applications?
:::::: The most important thing while testing a mobile application is the approach towards the testing. To my understanding and experience the things we have to consider and prioritize while testing a mobile application can be listed as below:
-- Application development platform (such as J2ME, Windows Mobile, Blackberry, Simbian, iOS, Android, etc.). The reason behind this is the fact that nature and behavior of the applications are different and classed according to the platform they are built on.
-- Device screen size, memory allocation, navigation (cause application behavior depends largely on these things when portability of application on multiple devices is a factor.)
-- Device network or carrier (for some application which deal with data transfer - calls, data calls, frequency of network are crucial things).
-- Application Domain (such as gaming, location based system, imaging, video, etc.).
-- Test strategies (UI tetsing, functional tetsing, stress tetsing, load tetsing, network tetsing, memory tetsing, battery/charge tetsing, simultaneous run of application or calls or data calls while application is running)
-- Maintaining common standard checklist (UI and UX stability, readability of texts, status of call/data call while app is running, app behavior while flip/slider opens or closes, sms or data port blocking if app is using those ports, etc.).
3.) What are the things specific to Mobile Application would you emphasis on while writing test plan for Mobile Applications?
:::::: The things that we must give emphasis can be listed as below:
-- Testing Scope [Scope is very much important because there is a large amount of test items available for mobile app testing. So defining scope like - testing with/without carriers, calls, data calls, wap, variant of operating systems, etc. is explicitly important while writing a test plan.]
-- Testing Strategy [The strategy and methodologies for unit testing, system testing, regression testing and pass/fail check-listing - few things like application characteristics, stability, connectivity, launching, UI and application accessing internal resources or user data.]
-- Test Environment Setup [Environment is another bug thing for test plan for mobile app. Which parts of the app will be tested on emulator and which parts will be on real device, what will be the device versions, how many variant of the devices will be present while testing, what will be the possible carriers, what will be the test locations -- this questions is needed to be answered in the test plan explicitly.]
-- Control Procedure [How to handle the reports, documentations, change requests while testing is undergone -- should be confirmed from conversation/discussion with the PM and should be listed in the test plan.]
4.) What's your view on testing of Mobile Application on Emulators?
:::::: Testing mobile applications in emulators has some limitations of its own. Testing on emulator has some serious issues for which they differs a lot from testing on real devices. We may list some of the important difficulties as follows:
6.) What actually are the application certification programs like True Brew Testing (TBT), Symbian Signed Test Criteria, Java Verified Program?
:::::: Application certification programs are test criteria which must be passed by an application before it is made available to operators for distribution. So from the definitions it is clear that the criteria are defined by the platform authorities as a standard to make the application connectivity and accessibility almost uniform to end-users. Every platform has their defined sets of criteria.
-- True Brew Testing (TBT) is the Brew® platform compatibility criteria. Brew® defines some item specification document and some charging for submission and passing the application to make it ready for distribution from the operators.
-- Symbian Signed Test Criteria are defined by the Symbian Developers Network and used for testing application built for Symbian OS and Symbian platform. The guideline defines a great deal of information and criteria along with cases where exemptions are given. There are a great deal of detailing about the criteria and even test steps.
-- Similarly Java Verified is the industry-recognized Java testing and signing program for Java ME apps which has to go through a testing, signing and verification process through the Java Verified Submissions portal. If the apps meets the testing criteria, they'll gain the Java Verified seal of approval. And this applies to all apps, irrespective of their simplicity or complexity. So the signing implies a minimum quality of the application.
7.) What so special in testing a Location Based Mobile Application?
:::::: The little specialty of location based mobile applications are very much clear from the name itself. In general sense it requires testing the application on various location to make the application produce expected outputs for the location difference. Location-based applications often require field testing before launching the product. Setting up "the field" almost similar to real life usage scenario may produce various testing scenarios which can often be a logistics issue. Moreover, real life field environment is not very much suitable for controlled testing and there can be so much uncontrolled, unexpected and unwanted scenarios which can easily affect the test results. Mainly these are the complexities of testing Location Based applications.

Now moving to the original post i.e. the curious questions about mobile app testing we may have a look to the following Q and A. ;-)
1.) What is the difference between Mobile Testing and Mobile Application Testing?
:::::: Mobile testing refers to a complete testing of mobile phones which includes - Protocol testing, device testing and application testing. If we try to elaborate a bit more - testing the support of 4 bands of mobile phone and calling in each of the band, battery, connectivity (such as bluetooth, wlan, etc.), network frequency, cell selections, handover, encryption, software compatibility, etc. along with multimedia and applications testing are referred to Mobile Testing.
Whereas, mobile application testing is the testing of softwares, games and others utilities built on the mobile platform by third parties or the same vendor for targeted device. Here the main concern is about the functionality of the application under different circumstances and environments.
2.) What is your approach while Testing Mobile Applications?
:::::: The most important thing while testing a mobile application is the approach towards the testing. To my understanding and experience the things we have to consider and prioritize while testing a mobile application can be listed as below:
-- Application development platform (such as J2ME, Windows Mobile, Blackberry, Simbian, iOS, Android, etc.). The reason behind this is the fact that nature and behavior of the applications are different and classed according to the platform they are built on.
-- Device screen size, memory allocation, navigation (cause application behavior depends largely on these things when portability of application on multiple devices is a factor.)
-- Device network or carrier (for some application which deal with data transfer - calls, data calls, frequency of network are crucial things).
-- Application Domain (such as gaming, location based system, imaging, video, etc.).
-- Test strategies (UI tetsing, functional tetsing, stress tetsing, load tetsing, network tetsing, memory tetsing, battery/charge tetsing, simultaneous run of application or calls or data calls while application is running)
-- Maintaining common standard checklist (UI and UX stability, readability of texts, status of call/data call while app is running, app behavior while flip/slider opens or closes, sms or data port blocking if app is using those ports, etc.).
3.) What are the things specific to Mobile Application would you emphasis on while writing test plan for Mobile Applications?
:::::: The things that we must give emphasis can be listed as below:
-- Testing Scope [Scope is very much important because there is a large amount of test items available for mobile app testing. So defining scope like - testing with/without carriers, calls, data calls, wap, variant of operating systems, etc. is explicitly important while writing a test plan.]
-- Testing Strategy [The strategy and methodologies for unit testing, system testing, regression testing and pass/fail check-listing - few things like application characteristics, stability, connectivity, launching, UI and application accessing internal resources or user data.]
-- Test Environment Setup [Environment is another bug thing for test plan for mobile app. Which parts of the app will be tested on emulator and which parts will be on real device, what will be the device versions, how many variant of the devices will be present while testing, what will be the possible carriers, what will be the test locations -- this questions is needed to be answered in the test plan explicitly.]
-- Control Procedure [How to handle the reports, documentations, change requests while testing is undergone -- should be confirmed from conversation/discussion with the PM and should be listed in the test plan.]
4.) What's your view on testing of Mobile Application on Emulators?
:::::: Testing mobile applications in emulators has some limitations of its own. Testing on emulator has some serious issues for which they differs a lot from testing on real devices. We may list some of the important difficulties as follows:
-- Making voice/data calls while running applications are different than the actual scenario in an emulator.
-- From an emulator it cannot be determined if the phone is connected to carrier or not.
-- While testing in an emulator there is no support for testing the real charging (battery) state while running the application.
-- Considering the memory usage, in emulator it is hard to calculate or test the memory usage or CPU performance.
-- Considering graphics elements, emulator performance can differ from real device depending on the platform where the emulator is installed.
-- Considering the input/output scenario, the tests that depends on accessing user data or internal devices resources like memory cards or something like that -- cannot be done in emulators.
5.) What is the difference between Mobile Operating Systems and Mobile Platforms?
:::::: This was one of the initial questions came in my mind when I came to know about mobile platforms years back. While working with development of mobile application and while testing mobile apps I have built some idea on my own about it. Here I am listing the ideas mixed with some definitive theoretical answers:
-- Mobile OS is a system software which resides upon device hardware and it runs the device hardwares such as networking devices, graphics etc. In short it operates the mobile phone system.
-- Where as Mobile Platforms are another applications that runs on top of the OS layer yet exposes the hardware through a more focused set of interfaces and functionality. In short platforms are built on top of the mobile OS and uses the device connectivity options provided by the OS to interact with the device to execute/run applications.
-- To sum up the issue, we can just say - in terms of software, the Operating System runs the hardware, the platform runs on top of the OS to host applications.
:::::: This was one of the initial questions came in my mind when I came to know about mobile platforms years back. While working with development of mobile application and while testing mobile apps I have built some idea on my own about it. Here I am listing the ideas mixed with some definitive theoretical answers:
-- Mobile OS is a system software which resides upon device hardware and it runs the device hardwares such as networking devices, graphics etc. In short it operates the mobile phone system.
-- Where as Mobile Platforms are another applications that runs on top of the OS layer yet exposes the hardware through a more focused set of interfaces and functionality. In short platforms are built on top of the mobile OS and uses the device connectivity options provided by the OS to interact with the device to execute/run applications.
-- To sum up the issue, we can just say - in terms of software, the Operating System runs the hardware, the platform runs on top of the OS to host applications.
6.) What actually are the application certification programs like True Brew Testing (TBT), Symbian Signed Test Criteria, Java Verified Program?
:::::: Application certification programs are test criteria which must be passed by an application before it is made available to operators for distribution. So from the definitions it is clear that the criteria are defined by the platform authorities as a standard to make the application connectivity and accessibility almost uniform to end-users. Every platform has their defined sets of criteria.
-- True Brew Testing (TBT) is the Brew® platform compatibility criteria. Brew® defines some item specification document and some charging for submission and passing the application to make it ready for distribution from the operators.
-- Symbian Signed Test Criteria are defined by the Symbian Developers Network and used for testing application built for Symbian OS and Symbian platform. The guideline defines a great deal of information and criteria along with cases where exemptions are given. There are a great deal of detailing about the criteria and even test steps.
-- Similarly Java Verified is the industry-recognized Java testing and signing program for Java ME apps which has to go through a testing, signing and verification process through the Java Verified Submissions portal. If the apps meets the testing criteria, they'll gain the Java Verified seal of approval. And this applies to all apps, irrespective of their simplicity or complexity. So the signing implies a minimum quality of the application.
7.) What so special in testing a Location Based Mobile Application?
:::::: The little specialty of location based mobile applications are very much clear from the name itself. In general sense it requires testing the application on various location to make the application produce expected outputs for the location difference. Location-based applications often require field testing before launching the product. Setting up "the field" almost similar to real life usage scenario may produce various testing scenarios which can often be a logistics issue. Moreover, real life field environment is not very much suitable for controlled testing and there can be so much uncontrolled, unexpected and unwanted scenarios which can easily affect the test results. Mainly these are the complexities of testing Location Based applications.
I hope I will write more about mobile application testing in upcoming days. Those should be platform specific write ups. Lets see.


5:20 PM
হিমেল নাগ রানা