Tuesday, 26 June 2012

automation in mobile application testing


We all know about the automation, Can we use automation in mobile application testing?  Discuss about the various area where we can use it.
When we are taking about mobile application testing, we need to understand that it has code which is not much different than the normal application code. So, one area of application is regression tests as we have it in the application testing. And then when you have different versions of the same OS supported by different handsets, there also you can take help of automation to reduce manual effort of testing each version separately.
Areas where we can use automation for Mobile Applications are:
  
• We can prepare test automation script for device features used in app i.e. Camera, accelerometer, GPS & Bluetooth
• Call & SMS interrupts by using call function scripts
• We can perform test automation scenarios regarding Voice-mail
• Network latency Major
• Regression & Negative testing
• Touch Apps
• We can automate Record/Playback capabilities of a mobile application

mobile testing


I would like to ask a question to mobile testing experts that while testing of an I Phone Application, what are the basic steps would you follow?

While Testing of an I phone Application Basics steps that needs to be followed are:
1)First make a self signed certificate.
2) Download that file onto your desktop.
3) Open Terminal (applications > Utilities > Terminal).
4)In Terminal window, type "python ", then drag-n-drop "gen_entitlements.py" from desktop into terminal window
5)Hit space and type in following with quotes:
"program name" "program_name.xcent"
e.g. python /Users/your user/bin/gen_entitlements.py "program name" "program_name.xcent"
6)Hit Enter. Wait for a couple seconds and you should see file named "program name" on your desktop.
7) Open Text Edit (search > Text Edit) and paste following into opened window:
[export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
if [ "${PLATFORM_NAME}" == "iphones" ]; then
python /Users/your user/bin/gen_entitlements.py "my. company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
code sign -f -s "iPhone developer" --resource-rules "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/ResourceRules.plist" \
--entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/"
fi ]
8)Save that file on desktop. Name it something like "device_debug_script.rtf".
9) Removing signature checks from Mobile Installation & Springboard.
10) Now Code time. Make sure you restart it if you had it started while doing previous steps
11) Open it and load some test project.
12) Project > New Build Phase > New Run Script Build Phase
13) At opened window, switch to first tab & paste into it everything you got in "device_debug_script.rtf" file from your desktop.
14) Close that window & click Build & Clean all targets.
15)On project window, on top left - select to debug on device & hit build and go. If app is started on device then you are done.

Monday, 25 June 2012

As the development of mobile testing is growing day by day, at the same time challenges of mobile testing is also increasing. Give yours expert view on these challenges.

As the development of mobile testing is growing day by day, at the same time challenges of mobile testing is also increasing. Give yours expert view on these challenges.

Like websites, mobile web applications are also used by the large number of costumers all over world.  One thing is common in testing of both web and mobile apps testing i.e. if QA fails somewhere then end users will be affected. 

Some major challenges faced by QA while testing mobile app are as follows:
Platforms:
There are varieties of operating platforms -I Phone, Blackberry, Android, and Windows. QA teams needs to understand the complexity and behavior of each type of platform.
Network:
More than 400 mobile networks operators are their worldwide. This working on different local network standards (GSM, CDMA etc.) also adds complications.
Devices:
As a survey there are 10,000 different type of client devices that can use mobile site, this multitude of devices add complexity. Different sets having variations in screen size, configurations, hardware capabilities of rending image.
Processing time:
After code submission it takes quite a bit time for the applications to be available for different markets. To verify any code change team has to wait for some time. Also there are various standards of code of different platforms which adds complexity.

Core Challenges:
Multiplicity of mobile devices with different capabilities, features and restrictions. Devices may have different technical capabilities such as amount of available memory, screen resolution, screen orientation and size of the display, network connectivity options, support for different standards and interfaces.
User Interface Issues :
It is possible that may be mobile Use would be different from a user expects or different from the Operating System underlying platform visual capabilities resulting in applications that work as “designed”, do not meet user expectations and hence viewed as poor quality.
Latency Issues : 
Less bandwidth of a mobile connection that generates higher latency which can impact on both performance as well as the functionality of the MobileApp.