Friday 26 October 2012

iPhone App Test Cases



























No.


























Module


























Sub-Module







Test Case Description


























Expected Result

1

Installation

Verify that application can be Installed Successfully.

Application should be able to install successfully.

2

Uninstall

Verify that application can be uninstalled successfully.

User should be able to uninstall the application successfully.

3(i)

Network Test Cases

Verify the behavior of application when there is Network problem and user is performing operations for data call.

User should get proper error message like “Network error. Please try after some time”

3(ii)

Verify that user is able to establish data call when Network is back in action.

User should be able to establish data call when Network is back in action.

4(i)

Voice Call Handling

Call Accept

Verify that user can accept Voice call at the time when application is running and can resume back in application from the same point.

User should be able to accept Voice call at the time when application is running and can resume back in application from the same point.

4(ii)

Call Rejection

Verify that user can reject the Voice call at the time when application is running and can resume back in application from the same point.

User should be able to reject the Voice call at the time when application is running and can resume back in application from the same point.

4(iii)

Call Establish

Verify that user can establish a Voice call in case when application data call is running in background.

User should be able to establish a Voice call in case when application data call is running in background.


5(i)


SMS Handling


Verify that user can get SMS alert when application is running.


User should be able to get SMS alert when application is running.

5(ii)

Verify that user can resume back from the same point after reading the SMS.

User should be able to resume back from the same point after reading the SMS.

6

Unmapped keys

Verify that unmapped keys are not working on any screen of application.

Unmapped keys should not work on any screen of application.

7

Application Logo

Verify that application logo with Application Name is present in application manager and user can select it.

Application logo with Application name should be present in application manager and user can select it.

8(i)

Splash

Verify that when user selects application logo in application manager splash is displayed.

When user selects application logo in application manager splash should be displayed.

8(ii)

Note that Splash do not remain for fore than 3 seconds.

Splash should not remain for fore than 3 seconds.

9

Low Memory

Verify that application displays proper error message when device memory is low and exits gracefully from the situation.

Application should display proper error message when device memory is low and exits gracefully from the situation.

10

Clear Key

Verify that clear key should navigate the user to previous screen.

Clear key should navigate the user to previous screen.

11

End Key

Verify that End Key should navigate the user to native OEM screen.

End Key should navigate the user to native OEM screen.

12

Visual Feedback

Verify that there is visual feedback when response to any action takes more than 3 seconds.

There should be visual feedback given when response time for any action is more than 3 second.

13

Continual Keypad Entry

Verify that continual key pad entry do not cause any problem.

Continual key pad entry should not cause any problem in application.

14

Exit Application

Verify that user is able to exit from application with every form of exit modes like Flap,Slider,End Key or Exit option in application and from any point.

User should be able to exit with every form of exit modes like Flap,Slider,End Key or Exit option in application and from any point.

15

Charger Effect

Verify that when application is running then inserting and removing charger do not cause any problem and proper message is displayed when charger is inserted in device.

When application is running then inserting and removing charger should not cause any problem and proper message should be displayed when charger is inserted in device.

16

Low Battery

Verify that when application is running and battery is low then proper message is displayed to the user.

When application is running and battery is low then proper message is displayed to the user telling user that battery is low.

17

Removal of Battery

Verify that removal of battery at the time of application data call is going on do not cause interruption and data call is completed after battery is inserted back in the device.

Removal of battery at the time of application data call is going on should not cause interruption and data call should be completed after battery is inserted back in the device.

18

Battery Consumption

Verify that application does not consume battery excessively.

The application should not consume battery excessively.

19

Application Start/ Restart

1. Find the application icon and select it 2. “Press a button” on the device to launch the app. 3.Observe the application launch In the timeline defined

Application must not take more than 25s to start.

20

Application Side Effects

Make sure that your application is not causing other applications of device to hamper.

Installed application should not cause other applications of device to hamper.

21

External incoming communication – infrared

Application should gracefully handle the condition when incoming communication is made via Infra Red [Send a file using Infrared (if applicable) to the device application presents the user]

When the incoming communication enters the device the application must at least respect one of the following: a) Go into pause state, after the user exits the communication, the application presents the user with a continue option or is continued automatically from the point it was suspended at b) Give a visual or audible notification The application must not crash or hung.


Tuesday 23 October 2012

Types of Mobile Application


Mobile Application 'Types' is quite confusing topic. Some people misunderstood this with Mobile Application 'categories'. Mobile Application 'categories' are Utility Apps, Entertainment Apps, Private Apps, Games, Banking Apps. But the Mobile Application 'Types' are totally different topics. Here is the description:



1. Browser Access : The applications which we are accessing through native browser. Ex : m.yahoo.com, www.google.com, m.redbus.in, etc

2. Hybrid Apps - Web : We are installing the application in our device and for the functioning of that particular application internet is required. Ex : Social Networking Apps(Facebook, Twitter), Instant Messengers(Skype), E-Commerce(Flipkart), Internet Speed Testing(Speedtest), etc.

3. Hybrid Apps - Mixed : We are installing the application in our device and if required we are connecting it to internet also. Ex : Few games in which we can play alone and we go online too for playing with different players(multi player). And any medical apps where u want to keep a track record of your health and later want to share with your friends or doctor via internet.

4. Native Apps : The applications which we are installing in our device. Ex : Reminders, Few Games, etc.

It can be further understand by the communication medium of the apps:


Native Apps- Which can be installed in  the devices and the app does not need any data transfer to the server. With out network these apps work in the device. The data about the app will be stored in the device itself. Example Gaming applications. Here the device memory and configuration is very important as the app completely dependent on this.

Client Server apps- They can be called Semi native apps. Here the app can be installed in the device. But the with out a network it cannot be launched. Because It gets the data from the server. With out the data the app will not proceed further. Example Commercial apps like Banking app. Here you basically can see the form UI but the all the data comes from the server. So the device memory is partially dependent just to install the app as the data comes from the server for every service call.

Mobile Web applications.- They can be called as Mobile browser apps as these are not installed in the device. these can be accessed using the mobile browser by hitting the url of the web. Here the device memory size is not all important as neither of the from or the app data is stored in the device. It is completely dependent on the quality of  the browser. Every thing comes from the server and rendered in the browser when you hit the url.



Comparison between Native Apps, Hybrid Apps and Mobile Apps:

1. Skills/tools needed for cross-platform apps:
Native         : Objective-C, Java, C, C++, C#, VB.net
Hybrid         : HTML, CSS, Javascript, Mobile development framework (like PhoneGap)
Mobile web : HTML, CSS, Javascript


2. Distribution:
Native         : App Store/Market
Hybrid         : App Store/Market
Mobile web : Internet


3. Development Speed:
Native         : Slow
Hybrid         : Moderate
Mobile web : Fast


4. 
Number of applications needed to reach major smartphone platforms 
:
Native         : 4
Hybrid         : 1
Mobile web : 1

5. Ongoing application maintenance:

Native         : Difficult
Hybrid         : Moderate
Mobile web : Low


6. Device access:

Native         : Full access(Camera, microphone, GPS, gyroscope, accelerometer, file upload, etc…)
Hybrid         : Full access(Camera, microphone, GPS, gyroscope, accelerometer, file upload, etc…)
Mobile web : Partial access(GPS, gyroscope, accelerometer, file upload)


7. Offline access: 

Native         : Yes
Hybrid         : Yes
Mobile web : Yes

8. Advantages:

Native         : Lets you create apps with rich user interfaces and/or heavy graphics
Hybrid         : Combines the development speed of mobile web apps with the device access and app store distribution of native apps
Mobile web : Offers fast development, simple maintenance, and full application portability.  One mobile web app works on any platform.

9. Disadvantages:

Native         : Development Time, Development Cost, Ongoing Maintenance, No portability (apps cannot be used on other platforms)
Hybrid         : Can’t handle heavy graphics, Requires familiarity with a mobile framework
Mobile web : Can’t handle heavy graphics, Can’t access camera or microphone

10. Best used for:
Native         : Games, Consumer-focused apps that require a highly graphic interface
Hybrid         : Consumer-focused apps with a moderately graphical interface, Business-focused apps that need full device access.
Mobile web : General non-game apps, Business-focused apps