Saturday 23 August 2014

Mobile Automation for Experties



Now a days there are basically three type of mobile apps are being developed. Different people may have different opinion on type of mobile app they should build for their business as there are different aspects of that. Rather discussing that we are going to talk about differences between these three apps.
Native Apps are specific to a given mobile platform (iOS or Android) using the development tools and language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android). Native apps live (installed) in your device and accessed through an icon. It look and perform the best and that causes extra effort also, because you need to have your app developed separately for both iOS & Android platform.
Web Apps are basically kind of website that runs in your device browser. it look like a native app and access through some url in device browser.
Hybrid Apps are part native app and part web app. it make possible to embed HTML5 apps inside a thin native container, combining the best (and worst) elements of native and HTML5 apps.


What is Appium

Appium is an open source mobile automation tool. Appium is basically an HTTP server written in node.js technology that creates and handles webdriver sessions. Now you must be thinking why they have usednodejs platform. Well we will see this in detail in appium architecture later. This post is to give you a glimpse of appium and how you can utilize your webdriver API knowledge/skills to automate your native, hybrid and even web application on both Android and iOS.


Mobile Application Testing


User Interface Testing

Usability testing plays an important role for launching a quality mobile application. Usability
Testing should as soon as the basics table for the application is ready. A user may have a good experience on the Nokia. While another might have bad experience on an on —touch screen
Device. In this instance. Changes to the UI Should be considered to improve experience on the
Non-touch screen device. Needless to say. Usability testing is an extremely critical step towards
Launching a high-quality mobile application.


Functional Testing

Functional testing ensures that the application is working as per the requirements. Most of the test conducted for this is driven by the user interface and call flows the most essential testing procedure is to verify that the basic functionality of the mobile application. The functions performed by the application may be device specific. Such functional testing should occur when the application is in early development phase, the function testing differs With Handset Maker/Model, Operating System, Browser, Wireless Carrier, Location and Language.


Usability Testing

Usability testing is carried out to verify if the application is achieving its goals and getting a
Favorable response from user as the usability of an application is its key to commercial Success.
Usability testing plays an important role for launching a quality mobile application. Usability
Testing should occur as soon as the basics table for the application is ready. A user may have a
Good experience on the Nokia. While another might have bad experience on an on -touch screen device. In this instance. Changes to the UI should be considered improve the experience on the non-touch screen device. Needless to say. Usability testing is an extremely critical step towards launching a high-quality mobile application.


Laboratory Testing

Laboratory testing, usually carried out by network carriers. Is done by simulating the complete
Wireless network. This test is performed to find out any glitches when a mobile application uses
Voice and/or data connection to perform some functions,
  


Interrupt Testing

An application while functioning may face several interruptions like incoming calls or
Coverage outage and recovery. The different type of interruptions are:
·         Incoming and Outgoing SMS and MMS
·         Incoming and Outgoing calls
·         Incoming Notifications
·         Battery Removal
·         Cable Insertion and Removal tar data transfer
·         Network outage and recovery
·         Media Player on/off
·         Device Power cycle
An application should be able handle these interruptions by going into a suspended state and resuming afterwards

Certification Testing

TO get compliance certificate each mobile devices needs to be tested against the guidelines set by
Different mobile platforms.

Certification testing is the check before a mobile device goes to market. Many institutes or governments require mobile devices to conform to their stated specifications and protocols to make sure the mobile device will not harm users' health and compatible with devices from other manufacturers. Once the mobile device passes all Checks, a certification will be issued for it. When users submit mobile apps to application stores/marketplaces, it goes through a certification process. Many of these vendors outsource the testing and certification to third party vendors. To increase coverage and lower the costs.


Performance and Stress Testing 

Performance testing is in general testing performed to determine how a System performs in terms
Of responsiveness and stability under a particular workload. It can also serve to investigate
Measure. Validate or verify other quality attributes of the system, such as scalability. Reliability
And resource usage.
This testing process is undertaken to check the performance and behavior of the application
Under certain conditions as low battery, bad network coverage. Low available memory,
Simultaneous access to application's server by several users and other conditions_ performance of
An application can be affected from two sides: application's server side and client's side.
Performance testing is carried out to check both.

Stress testing is normally used to understand the upper limits of capacity within the system. This
Kind Of test is done to determine the system's robustness in terms Of extreme load and helps




Application administrators to determine if the system will perform sufficiently if the current load goes will above the expected maximum.


Memory leakage testing

Memory leakage happens When a computer program or application is unable to manage the
Memory it is allocated resulting in poor performance of the application and the overall slowdown
Of the system, as mobile devices have significant constraints of available memory, memory
Leakage testing is crucial for the proper functioning of an application.

Installation testing

Certain mobile applications Come pre-installed on the device Whereas Others have to be installed
From the store. Installation testing verities that the installation process goes smoothly without the
User having to face any difficulty. This testing process covers installation, update and uninstallation of an application.

Factory testing

Factory testing is a kind of sanity check on mobile devices. It’s conducted automatically to
Verify that there are no defects brought by the manufacturing or assembling.


Mobile testing contains:

·         mobile application testing
·         hardware testing
·         battery(charging) testing
·         Signal receiving
·         network testing
·         Protocol testing
·         mobile games testing
·         Mobile software compatibility testing




the mobile application testing matrix is becoming and more
Complex scenario with the addition of each factor whose multitude changes over the period of
Time. The complexity arise from each of these factor has been discussed in the following
Paragraph.

Usability testing of software applications developed for mobile devices is an emerging research
Area that faces a variety of challenges due to unique features of mobile devices. Limited
Bandwidth. Unreliability of Wireless networks. As well as the Changing Context (environmental
Factors). Traditional guidelines and methods used in usability testing of desktop applications may
Not he directly applicable to a mobile environment. Therefore. It is essential to develop and adopt
Appropriate research methodologies that can evaluate the usability of mobile applications.




Usability Testing
NAVIGATION
YES/NO
COMMENT
Test how users use buttons, boxes, and how they use links


Check to see that the website is easy to use


Check that clear instructions are provided


Check if instructions are correct in that they satisfy the purpose of the application


Check that the main menu is provided on each page and is consistent



CONTENT
YES/NO
COMMENT
Check to see if content is logical and easy to understand


Check for spelling errors


Check for dark background colors which distract users


Check for annoying colors and typefaces (Comic Sans)


Check that all content is meaningful


Validate all items for UI testing






HELP
YES/NO
COMMENT
Check that a search option is included


Check that a site map is added, with links



Functional Testing
LINKS
YES/NO
COMMENT
Test outgoing links from all pages from a specific domain


Test all internal links


Test links jumping on the same page


Test links used to send email from web pages


Test to check for orphan pages


Test to check for broken links



FORMS
YES/NO
COMMENT
Check all validations in each field


Check the default values in each field


Check for wrong inputs in fields


Create, delete, or modify forms as needed



COOKIES
YES/NO
COMMENT
Check to see if cookies are encrypted


Check session cookies for login sessions and user stats


Check session cookies for login sessions and user stats
Check effect on application security when cookies are deleted


HTML/CSS
YES/NO
COMMENT
Validate the site for HTML syntax errors


Check to see if the site is optimized for different search engines







DATABASE
YES/NO
COMMENT
Check for data integrity and errors when editing, deleting, and modifying forms


Check if queries are executed correctly


Check if data is retrieved and updated correctly



User Acceptance Testing
ITEMS
YES/NO
COMMENT
Check whether application is browser compatible


Checking for mandatory fields have prompts in forms


Checking for time outs and field widths, and making sure that proper control is used to feed data














































No comments:

Post a Comment