What is Mobile Application Testing ? Introduction, Types, Difference.
Introduction of Mobile Testing
A pocket-sized computing device, typically having a display screen with touch input or a miniature keyboard.
Types of Mobile Devices :-
Mobile Computers
Notebook PC, Mobile PC
Handheld Game Consoles
Media Recorders
Digital Camera, Digital Video Camera
What is Mobile Application Testing ?
Mobile Application Testing is a process by which application software developed for hand held devices is tested for its functionality, consistency and usability.
Difference between Mobile Testing and Mobile Application Testing :-
Mobile Testing or Mobile Device Testing :-
Mobile Testing is testing of Mobile Handsets or devices-Testing all the core like SMS, Voice calls, connectivity(Bluetooth), Battery(Charging), Signal receiving, Network are working correctly.
Testing is conducted on both hardware and software.
Mobile Application Testing :-
Mobile Application Testing is the testing of mobile applications which we are making as third party for the targeted mobile handset.
Some core feature of the mobile are tested just to see that your application has not created any side effects on your device functionality.
Different Mobile Platforms
Each operating system has its own limitations.
Testing a single application across multiple devices running on the same platform and every platform poses a unique challenge for testers.
- Android
- IOS (I-phone)
- Symbian (Nokia)
- J2ME
- RIM (Blackberry)
- BREW
- Windows Mobile or Wince
- Bada (Samsung)
Mobile Applications:-
- Mobile apps are basically little, self-contained programs, used to enhance existing functionality, hopefully in a simple, more user-friendly way.
- Normally, when people talk about apps they are almost always referring to programs that run on mobile devices, such as Smartphones or Tablet Computers.
- There seems to be an apps for everything. Whether it's checking up on breaking news, chatting with friends via social networking or even booking last minute holidays there's an app out there to help you.
- Most applications work alone, but some cooperate with tools in other media.
- Each app provides limited and isolated functionality such as game, calculator or mobile web browsing..
There are different types of Apps :
- Web Apps
- Native App
- Hybrid App
Web App Testing :-
- Web App are stored on a remote server and delivered over the internet through browser.
- Web mobile applications are software programs that run directly from the web browser on mobile phones and tablets.
- Web apps are not real apps ; they are really websites that, in many ways, look and feel like native applications.
- They are run by a browser and typically written in HTML5.
- Users first access them as they would access any web page : they navigate to a special URL and then have the option of "installing" them on their home screen by creating a bookmark to that page.
- A web app is best for products that require minimal native gestures and don't require access to features from mobile devices like Push Notifications.
- A web app is typically the most inexpensive option.
- However, it won't feel like a native mobile app and cannot be distributed through native app stores like the App Store or Google Play.
- Web apps are not real applications; they are actually website that open in your smartphone with the help of a web browser. Mobile website have the broadest audience of all the primary types of applications.
Native App :-
- Native App has been developed for use on a particular platform or device.
- A native mobile app is a Smartphone application that is coded in a specific programming language, such as Objective C for iOS and Java for Android operating systems.
- Native mobile apps provide fast performance and a high degree of reliability.
- They also have access to a phone's various devices, such as its camera and address book.
- Native App is a program that runs on a handheld device (iPhone, tablet, etc..) which has a "smart" operating system which supports standalone software.
- Native App can connect the internet via wifi or a wireless carrier network.
- Building a native app provides the most optimal product experience on mobile devices.
Example : A native app is written in the programming language specific for a platform, the most popular being Objective-C or Swift for Apple devices and Java for Android devices.
Some features of Native App are:-
- Multi touch : double taps, pinch-spread, and other compound UI gestures.
- Fast graphics API : the native platform gives you the fastest graphics, which may not be a big deal if you're showing a static screen with only a few elements, or a very big deal if you're using a lot of data and require a fast refresh.
- Fluid animation : related to the fast graphics API is the ability to have fluid animation. This is especially important in gaming, highly interactive reporting, or intensely computational algorithms for transforming photos and sounds.
- Built-in components : The camera, address book, relocation, and other features native to the device can be seamlessly integrated into mobile apps.
Hybrid Apps :-
Hybrid apps are part native apps, part web apps....
- Like web apps, Hybrid apps rely on HTML being rendered in a browser, with the caveat that the browser is embedded with the app.
- Companies build hybrid apps as wrappers for an existing web page ; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app.
- Creating a hybrid app makes it easier to build multiple mobile apps for different platforms quickly.
- Once the code can be written in a web development language (like HTML, CSS, or Java script) and then translate this over to native iOS or Android code.
- Development times are faster but a hybrid app may not feel as smooth as a native app.
- Building a hybrid app instead of a native app is like using Google Translate to communicate in a foreign language.
- Google Translate works the best for translating simpler words and phrases but not as well for more complex words and sentences.
- A hybrid app can be built faster across multiple mobile platforms and cost less compared to native app development.
There are two ways to implement a hybrid app:
Local : HTML and JavaScript code can be packed inside the mobile application binary, in a manner similar to the structure of a native application.
Server : Alternatively you can implement the full web application from the server (with optional caching for better performance), simply using the container as a thin shell over the UI-Web-view.
Types of Mobile Application Testing :-
Testing involves each and everything about the app like spellings to its functionality.
Functional Testing
- Functional testing performs on the functional behavior of the application to ensures that the application is working as per the requirements.
- Testing performs on the user interface and call flows of the application.
- Functional testing automation process requires lots of human resources, money, and time then too testers are ready to automate the testing process by using many tools due to its strong market value and user demand.
- To test some functionalities of the application tester go for manual testing process, later on tester combines manual testing and automation testing for better result.
Performance Testing
The testing process is carried out by tester to test the performance and actions of the applications that pass through various mobile device challenges.
few parameters to be tested are :-
- Network out of coverage area/poor bandwidth/changing.
- Internet connection mode (2G, 3G, or Wi-Fi)/changing broadband connection.
- Transferring heavy file.
- Low battery power due to heavy battery uses.
- Less memory.
- Concurrent approach to the application's server by various users, etc.
Memory Leakage Testing
- Memory leaked is one of the issue of mobile application testing that directly affects performance of the mobile devices.
- Due to memory leakage, process might slow down while transferring the file or in-between accessing any application mobile device might switch off automatically.
- Memory leakage testing becomes essential to check the performance of the Mobile Applications Testing to ensure that each application of the mobile device is using optimized memory for processing.
Interrupt Testing
Interrupt testing is a process of testing a mobile application in which the functions may get interrupted while using the application.
Examples of interruptions :
- Incoming and outgoing SMS/MMS/calls.
- Incoming notifications.
- Battery/cable insertion and removal for better uses.
- Network outage and recovery.
- Switch off/switch on of the media player.
- Other connecting devices.
- Low memory warning and device power cycle(low battery notification).
Usability Testing
- Usability testing is used to test the mobile applications in terms of usability, flexibility, and friendliness.
- The testing process makes sure that the mobile app is now easy to use and offers a suitable user experience to the customers.
Installation Testing
Installation testing is used to test the particular application for installing, uninstalling, and updating properly without any interruption (user is smoothly and flexibly installing the application).
Operational Testing
Any mobile Operating System and desktop Operating System provides in-built back-up and recovery operational functions that save or recover all files or doc of mobile devices or application that had been lost due to some reason.
Operating testing is used to test that the particular back-up and recovery process is working properly and responding as per the requirement.
Security Testing
The purpose of security testing is to test the application's data and network security to check the application's data and network security is responding as per the given requirement/guideline.
Comments
Post a Comment
Please do not enter any spam link in the comment box.