Nowadays people are spending time more and more on mobile devices or mobile apps.People use to spend their time on online shopping and moreover on social apps like(WhatsApp,facebook).This brings a tremendous change in the users life.Use of mobile apps have made their life easy.
Android, iOS, Windows Phone, Blackberry, and Symbian are the leading Operating Systems used in Smart devices like Phones and Tablets.
There are more than 950,000 apps in iOS store, more than 750,000 apps in Play store and around 200,000 apps in Windows Phone and Blackberry’s play store.
Mobile phone users from 2011 to 2013
Mobile App downloads and usage History of users
Mobile apps saw 76% growth in 2014. A Nielsen study finds that the average smartphone user has about 42 apps on their device and 87% claim to use nearly 10 apps on daily basis.
Mobile technology and smart devices iPhone,iPad and android phones are the trend now and changing the future of the world as you can see here.
You’re walking on the road roaming in malls. You see some interesting and listen some new things and You need to explore at that moment. What do you do? Do you wait until you get home, open up your laptop, and type that heard thing into your search bar?
Of course Not. You probably take out your phone and go to the app store/play store to see if there is an appropriate mobile app you can download, right? This is called Mobile Mania........
So more and more users are busy in their mobile phones and they are using MOBILE APPS.Some companies are named by their mobile app if that mobile app is too interesting and multiple feature in that application.
The Mobile apps they are using their speed and performance should be good and accurate So that will be good if that application is tested.
Before jumping to mobile testing you should know about mobile application types.
Mobile application types:
1.Native apps
2.Mobile WebApps
3.Hybrid apps
Native Apps:
Native apps are built specifically for a particular mobile platform using the development tools and languages that the respective platforms support (XCode and Objective-C for iOS apps, Eclipse, Android Studio; Java for Android; and Visual Studio and C# for Windows).
They are developed for a specific platform or device.
Native app directly interact with the operating system
.It performs very well then Web applications.
Main feature of Native app is they only run on those platform on which they are targeted.
Advantages of a Native app
- In native app we can access the wider functionality of device like camera,contacts and swipe gesture and location
- Native app contains push-notifications feature.
Mobile WebApps
What are Web Apps?
An application which runs within a mobile browser, like Safari or Chrome, like every other website. We don’t have to install a web app. We don’t need available space on our devices for Web app.
Web apps are sometimes designed to look and behave like apps and are in general ideal when the purpose is simply to make content or functionality available on mobile, but an app is either not a good fit or too expensive.
Web apps use JavaScript, CSS, HTML5 or other languages. Developer won’t have access to a standardized SDK. Developing a web app can be simple and quick, however, their simplicity is also their downside.
Hybrid Apps
Hybrid apps is the combination of Native as well as Web apps.
Hybrid apps function like native apps as they gave superb user-experience.
They are written on web technologies, such as HTML5, CSS and JavaScript.
They run inside a native container and utilizes the device’s browser engine to process the HTML, JavaScript and CSS locally.
These applications can be sold in app store. They can utilize the native features of the phone thus provide a appealing user experience. Building hybrid apps is cost-effective as compared to the native apps.Hybrid app work sometimes when they are not connected to the internet.It depends on the requirement how it made.
Difference Between Native,Hybrid and WebApp
Native
|
Html5(WebApp)
|
Hybrid(Combination of Native+Webapp)
|
|
App Features
|
|||
Performance
|
Fast
|
Slow
|
Slow
|
Look and feel
|
Native
|
Emulated
|
Emulated
|
Distribution
|
AppStore
|
Web
|
App store
|
Device Access
|
|||
Camera
|
Yes
|
No
|
Yes
|
Contacts,Calender,Location
|
Yes
|
No
|
Yes
|
Offline Storage
|
Secure File Storage
|
Shared Sql
|
Secure File Storage,Share Sql
|
Geolocation
|
Yes
|
No
|
Yes
|
Gestures
|
|||
Swipe
|
Yes
|
Yes
|
Yes
|
Connectivity
|
Online and Offline
|
Only Online
|
Online and Offline
|
Development Skills
|
Objective C,Java
|
HTML5,CSS,JavaScript
|
HTML5,CSS,JavaScript
|
What is mobile Application?
A mobile application is a software application designed to run on smartphones,tablets and other devices.
Why mobile applications are designed?
They are designed to entertain,educate or to promote for business or assist consumers in their daily lifes.
What is Mobile application Testing
By Definition, Mobile application Testing is a process in which a Developed application is tested on Mobile Devices for its functionality.
Future Growth Of Mobile Technology
The growth of mobile technology is nothing short of phenomenal.As you can see growth of mobile devices from 2009 to 2014. According to Forrester, by 2016, smart phones and tablets will put power in the pockets of a billion global consumers. Mostly Businesses use mobile applications to meet an essential business need.
90% of users spend time in their mobile devices.
More than 77% of the mobile users are concerned about app performance.
40-50% of the mobile users deleted apps when they encountered a single bug.
Mobile Platforms
Android
Ios(iPhone)
Symbian(Nokia)
Windows Mobile
Blackberry
Android Version
Androd 1.5
|
Cupcake
|
Android1.6
|
Donut
|
Android2.0/2.1
|
Éclair
|
Android 2.2.x
|
Froyo
|
Android 2.3.x
|
Gingerbread
|
Android3.x
|
Honeycomb
|
Android 4.0.x
|
Ice Cream Sandvich
|
Andoid 4.1.x
|
Jelly Bean
|
Android 4.4.x
|
KitKat
|
Android 5.0
|
Lollipop
|
iOS Version and History
June 2007
|
1.1.5, 2.0
|
July 11, 2008
|
2.0,2.2.1 available
|
June 17, 2009
|
3.0, 3.1.3, All iOS versions from 3.2 until 4.0 were made specifically for the iPad.
|
June 2007
|
1.1.5, 2.0
|
July 11, 2008
|
2.0,2.2.1
|
June 17, 2009
|
OS 3.0
|
June 21, 2010
|
iOS 4.0
|
June 11, 2012
|
iOS 5
|
June 10, 2013
|
iOS 7
|
June 2, 2014
|
iOS 8
|
Types of Mobile App Testing
Functional Testing
Functional testing ensure that mobile application is behaving as per the requirements.
Testing all the features of an application comes in Functional Testing.Your application should work on all the devices.
Test all the features like
1.Test all the common features like if you app contains login,registration,Searching.
2.Test all the validation part.
3.Perform Negative Testing
Be sure that your mobile apps work everytime, everywhere and for every user!
Performance Testing
Performance testing means test the behaviour of application under certain conditions like low resources (Memory,space).Our mobile app performance should be good.Testing the performance of the mobile application by changing the connection from 2G, 3G,4G to WIFI and try to use personal Hotspot .Check the performance of application. Performance Testing is like you need to verify server Connection
Does your mobile application loads on 2G network.
Does your mobile application is loads on when changes from 2G to 3G.
Mobile users are Impatient.
People always think that their mobile application should work as it works on desktop/laptops.
Mobile users Expect equal speeds.
Compare to websites that you access from your home computer or laptop how quickly do you expect websites to finish loading on your mobile phones?
An important difference between the PC and mobile platforms is that mobile platforms are battery‐powered.
Mobile Phone batteries are smaller then batteries in laptops so battery consumption is an important performance measurement.
Processor and memory constraints are more present on mobile platforms.
Mobile devices run on a different processor architecture (ARM vs x86) than
PC devices and the processors and less processing power and memory
capacity is available.So performance testing is major part for mobile application.
User Interface Testing
Testing the various graphical user interfaces, how user interacts with application, testing application elements like fonts, layouts, button, images, colors etc.
Following are the types which covers User Interface Testing.
Screen Resolutions,TextBox Buttons
Testing of menu options, Textbox buttons, bookmarks,Search Buttons settings Buttons and navigation flow of the application.
Here are the example of user interface Testing
1. *symbol have to display in all the mandatory fields.
2. By Clicking Cancel button it have to display the previous or home page.
3. Font size should be proper as per the requirement
4. Font style should be proper as per the requirement
5. Spaces between the texts and the fields should be proper
6. Default options such as "Logout, Change password, Terms and conditions, Privacy policy, etc" should be there in standard positions.
Usability Testing
Functionality is very important for an application to work. But there is another important to be tested, before it has to be released, which is side-lined due to time frames.The Other Important thing which is mostly taken aside is Usability Testing.Usability Testing should be start with the Requirement specification and analysis phase then goes to design and then in coding phase. If we perform Usability testing in the same phase, Then Usability testing is just like Verification. This Testing can happen after (or) along with Functional Testing.
Usabilty Testing is the most important factor for mobile app success.Usability Means how to use your mobile application.If your app is confusing them they will move to different app.
Usability means thinking about how and why people use a product.
Good technical writing, like good interaction design, focuses on user’s goals. The first step in creating a usable product is understanding those goals in the context of the user’s environment, task or work flow, and letting these needs inform the design.
Do all the buttons and icons have sense.
Does all the link are opening when they clicked.
Security Testing
Security Testing is a type of software testing that intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders. Security testing is basically a type of testing an application to determine that an information systems protects data or not.
Mobile device security will become more important as the users are growing so it is essential to test the security of mobile application,sensitive data storage.
Some security Examples are:
1. Password should be in encrypted format.
2. Application or System should not allow invalid users.
3. For Banking sites, back in mobile application button should not work.
4. If we delete app from backround then if we launch it again then it should ask for new login.
Stress Testing
A stress test is often used to determine the maximum load on software, and to evaluate if the software will be able to operate correctly in certain conditions.
These conditions can include heavy loads, high concurrency, or limited computational resources. The idea is to stress a system to the breaking point in order to find bugs that will make that break potentially harmful.
Mobile applications have much less overall device memory so must handle them very efficiently.
Stress Testing is to Test Your application with the huge data and verify the response.Does your app hangs or Stops.
1-Perform the same operations over and over again.
2-Perform the repeated operations at varying speeds – very quickly or very slowly
3. Have multiple applications running on your device so you can switch between your application and other device applications often.
Compatibility Testing
Testing of the application in different mobiles devices, browsers, screen sizes( big or small) and OS versions (iphone,android ).
This type of testing is designed to ensure that your software works on different versions of operating systems, different types of computers and software programs, and different network environments. Compatibility testing ensures the following:
The software can install and function on multiple environments.
Variances in screen size, resolution, and operating systems do not corrupt the software
Mobile Platform Compatibility
Does your applications work on all the devices or versions.If it is ios application will it work on ipad,ipad mini,iphone5,iphone6 and etc.
If your application is an android application will it work for all the android versions.From(4 to 5)..
Interruption Testing
Interruption testing is like if you are using your mobile application at that time if any incoming call/any notification appear on your device then your application should not stop by these intrupptions.Your application should be resume if you receive call.
Test your application By the following Interupt
Incoming call
Receiving incoming call
Receiving message
Device shutdown
Remove battery
Camera activated
Challanges in Mobile App testing
1.Device Fragmentation
With new devices getting launched every other day, testing is becoming increasingly challenging and demanding.Mobile device fragmentation is a phenomenon that occurs when some mobile users are using some older versions and other are using newer version.We can never know about customers/consumers mind for mobile devices. Mobile device fragmentation can be a problem for software developers who must create different versions of the same app in order to make sure it works correctly with different versions of a given OS. For Example if your app is working on your device.Are you sure about that it will work on all devices (Htc,Moto,Sony). Testing is one of the main challenge for mobile app developers. Android developers faces many challenges then ios developers because this platform contains huge fragmentation in the term of device screen size, resolution and many other factors
2.Usability Issues
Mobile device screens are relatively small/big on different devices and there are always more data we would like to present than possible to fit to the screen. Font size,Screen Sizes and readability are other challenging factors of usability. When you are testing mobile apps it’s important to give attention for clickble areas for all the buttons and links and making sure that all texts are readable without lenses.
3.Network Challnges
The performance of a carrier’s network can have a huge impact on the user’s experience with an app.There are different networks 2g,3g,4g for mobile data connection and also broadband connection.We should test application on all the networksWe should test What is the impact of low signal strength, 3G or 4G networks, and different Wi-Fi speeds?.Sometimes there might be no connection available at all the devices is in flight mode.
4.Hardware Challenges
Sometimes memory might be a big challenge for mobile application user.Low memory space can reduce users to download the application. Size of mobile apps icons , screen and images are the important factors for the mobile application. Sometimes slow processing speed of device should be a major factor for mobile application.
5. Power consumption and battery life.
For many of us, the most important characteristic of our phone is its battery life. We are running lots of apps during the day and several processes are running on background without us even noticing. When testing mobile apps we need to make sure that the power consumption should be minimum and the app is developed by keeping the best practices in mind.
Checklist for Mobile app testing
This will test only generic app characteristics of mobile app.It will not test your mobile application features .But it will improve the quality of your application.
Device Specific Checks
1. Are you able to be installed application on the device?
|
2. Are you able to uninstall the application from the device.
|
3. Are you able to update a newer Version of an app.
|
4. Does the app behave as designed/desired if the charger is connected?
|
5. Does the app behave as designed/desired if the charger is disconnected?
|
6. Does the app behave as designed when phone connected from laptop.
|
7. Does the app behave as designed when phone disconnected from laptop
|
8. Does the app behave as designed/desired if the device goes to sleeping mode.
|
9. Does the app behave as designed/desired if the device is shaken?
|
10. Does the app behave as designed/desired if a local message/alarm is coming from another app (reminders,alarms to-do task etc.).
|
11. Does the app behave as designed/desired if a push message is coming from another app (think of: whatsapp message,facebook message ,gmail etc).
|
12. Does the app behave as designed/desired if the device is in airplane mode?
|
13. Can the app switch to different apps on the device through multitasking as designed/desired?
14. Like If you are using any music application and listening the songs if you move to other app then check that song stopped and it is still playing.
|
15. Does your mobile application work when you move it from portrait to landscape mode.
|
16. Does your mobile application work when you move it from landscape to portrait mode.
|
17. Does your mobile application work close when remove from Background.
|
18. Does your mobile application start with a new login when deleted from background./Does your mobile application start from home page when delete from background.
|
19. Does the back button of devices take user to previous screen.
|
20. Does search button available on the device, does this get the user to some form of search within the app?
|
21. Does all touch screen (buttons/links) working when a screen protector is used.
|
Interruption in Mobile application
|
1. Does your application stop/pause/resume if there is any incoming call is coming.
|
2. Does your application stop when low battery warning is showing on screen.
|
3. Does your application stops if any of push message(any notification from a different application) is coming on the device.
|
4. Does Your application stops if cable is inserted or removed.
|
App Specific Checks
Does your app tested on different type of devices(small screens and large) and different versions of OS for android (4.1,4.2,4.4,5.0) and for ios (6,7,8)
|
Does your app contains a list.if it contain list then try to scroll it and verify that loader should loads and results should be appear.
|
Integration: Does your app connect correctly to the different social networks (LinkedIn, twitter, facebook,gmail ,pininterest etc).
|
Does the search option in the app displays relevant results
|
Does the slider move if app contains a slider.
|
Does the slider moving smoothly or it is works on very hard pressing.
|
Does the swipe gesture is working smoothly in your application.
|
Does your app add contact or email from mobile contacts./Does your app working if we are adding blank contact number.
|
App name should be self explanatory.
|
Does your app is opening camera if there is any camera option on your device.
|
Does your app is adding photos if we click on choose photos button in the device.
|
Does your app updating the photo if we update photo from a another one.
|
App User interface checks
Checklist based on the recommendations of Apple and some testing experts.
In an app, the user should not be exposed to the permissions of a specific file.
|
Does your app ask p permission if it accessing photos.(iphone case)
|
Does your app ask permission if you are accessing location?
|
Users should be warned of the consequences of deleting a document
|
Keyboard adjusts to expected input (for instance numbers/letters when expected).
|
If performance is slow, indicate a progress status icon (“Loading…”), preferably with specific message.
|
The appearance of buttons that perform standard actions are not altered in the app (for instance: back, Settings,menu icon etc.)
|
If performance is slow, indicate a progress status icon (“Loading…”), preferably with specific message.
|
Status message in iphone app should be accurate otherwise sometimes app is rejected.
|
If the app is stopped at an unexpected time, user data should be saved locally and available at start-up.
|
App store Checks
An app store (or app marketplace) is a type of digital distribution platform for mobile apps.
These checks are important for iphone app then our application will pass the submission process in the app store. For android application app store named as Play store , has much less strict demands.
Here are some important factors by which apple store rejects the application.
1.Your application shouldn’t be copied from a different app which is already submit on app store.
2.If your app is crashing too much so your app will not be published on app store.
How iphone app crashed?
If your app is not working properly.It crashed sometimes if we click on back button on any menu icons.By these issues it never be submitted on app store.
If you copy the functionality of an existing application, they will notice. Guaranteed.
|
Submissions with .ipa files bigger than 50 MB
|
All links in your app must be functional.If any of the link is broken then it will not be worked.
|
Apps that are still in progress and contain placeholder content are not ready to be distributed and cannot be approved.
|
When submitting your app for review, you’ll be asked whether your app uses the Advertising Identifier (IDFA) to serve advertisements. If you indicate that your app uses the IDFA, but it does not have ad functionality or does not display ads properly, your app may be rejected.
|
Make sure to thoroughly test your app on devices and fix all bugs before submitting.If your app is crashing then apple will reject the app.
|








Very good information for beginners.. thanks..
ReplyDeleteDevelopment Skills for Hybrid app should be "Objective C,Java,HTML5,CSS,JavaScript"
ReplyDeleteNative skill are missed :)
Many Businesses outsource specific aspects of their business, it can be a helpful way to gain expertise in a specific field, as well improve overall cost-efficiency. One of the main areas an outsourcing company can improve is in web development and design mobile usability guidelines
ReplyDeleteExcellent post!!! Selenium automation testing tool makes your software validation process lot simpler. Keep on updating your blog with such awesome information. Selenium Course in Chennai
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteLatest technology have created a greater impact over testing web applications. This vital in identifying important issues that raises in web appplications. Thanks for sharing this information in here. Keep blogging article like this.
ReplyDeleteSelenium training in chennai
Testing is very important before launching a web application or a mobile application because it can detect the error at an early stage, and it reduces the work of the developer.
ReplyDeletemanual testing training institute in chennai | mobile application training in chennai | FITA Academy Chennai
Thanks for your great information. Sign up and Register Your Events Today!!!!!!!
ReplyDeleteCampus Events | College Fests, Workshops, Symposiums, Conferences in chennai india | Online Event Registration websites
Superb! I found some useful information in your blog, it was awesome to read.Thank you for sharing.
ReplyDeleteCollege Events in India| Events Registration Online in India
Really, these quotes are the holistic approach toward mindfulness. In fact, all of your posts are. Proudly saying I’m getting fruitfulness out of what you write and share. Thank you so much..
ReplyDeleteSoftware Testing Training in Bangalore
Java Training in Chennai
I really like your post. Very informative one. Thanks for your sharing. Thank you.
ReplyDeleteSEO company in chennai
SEO services in chennai
I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.
ReplyDeletedigital marketing training in chennai
iPhone application builder are people who have perfect application and results. They are the general population who change over your thoughts into reality by methods for application advancement. convert website to app
ReplyDeleteWhen you activate your sim you will need to add £10 to your account, this can be done very easily online and I have had no problems with this, you also get a maximum of three month free calls to other giffgaff every time you top up. You can also buy vouchers and top up via your phone.
ReplyDeleteYour Blog is nice and informative..Thanks for sharing this valuable information with us..I am visiting this website regularly, this web site sharing nice thoughts
ReplyDeleteNo.1 Ethical Hacking Training Institute in Chennai | No.1 Ethical Hacking Training Center in Velachery
Nice concept. I like it. Thanks for sharing.
ReplyDeleteNo.1 Automation Anywhere Training Institute in Chennai | No.1 Automation Anywhere Training Institute in Kanchipuram | No.1 Automation Anywhere Training Institute in Velachery
My rather long internet look up has at the end of the day been compensated with pleasant insight to talk about with my family and friends.
ReplyDeleteNo.1 Blue Prism Training Institute in Chennai | No.1 Blue Prism Training Institute in Velachery | No.1 Blue Prism Training Institute in Kanchipuram
Appreciating the persistence, you put into your blog and detailed information you provide.
ReplyDeleteAutomation Anywhere Training with Placement in Chennai | Automation Anywhere Training with Placement in Tambaram
Really it was an awesome article...very interesting to read. You have provided a nice article....Thanks for sharing..
ReplyDeletePhotoshop Training Institute in Chennai | Photoshop Training Institute in Kanchipuram
You truly did more than visitors’ expectations. Thank you for rendering these helpful, trusted, edifying and also cool thoughts on the topic.
ReplyDeleteNo.1 Automation Anywhere Training Institute in Chennai | No.1 Automation Anywhere Training Institute in Velachery
I’d love to be a part of group where I can get advice from other experienced people that share the same interest. If you have any recommendations, please let me know. Thank you.
ReplyDeleteSEO Training Institute in Chennai | SEO Training Institute in Kanchipuram
Nice Post! It is really interesting to read from the beginning & I would like to share your blog to my circles, keep your blog as updated.
ReplyDeleteUIPath Robotic Process Automation in Chennai | UIPath Training in Tambaram
Hey, would you mind if I share your blog with my twitter group? There’s a lot of folks that I think would enjoy your content. Please let me know. Thank you.
ReplyDeleteNo.1 Blue Prism Training Institute in Chennai | No.1 Blue Prism Training Institute in Kanchipuram
Nice. You have clearly explained about it ...It’s very useful for me to know about new things. Keep on blogging..
ReplyDeleteNo.1 UIPath Training Institute in Chennai | No.1 UIPath Training Institute in Velachery
Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your
ReplyDeleteIdeas.
Ethical Hacking Training in Chennai | Ethical Hacking Training in Guindy
Really a Nice Informative Post ,Keep it up.
ReplyDeletePython Certification Course in Chennai | Python Certification Course in OMR
Thanks for posting your Informative blog… It is very useful for me, thanks a lot for sharing such a wonderful article…
ReplyDeleteLinux Training Institute in Chennai | Linux Training Institute in Kanchipuram
Thank you for sharing your article and this site is very informative and also very useful for us. Best MBA Project Center in Velachery – Guindy and porur | Best MBA Project Center in Velachery – Guindy and porur
ReplyDeleteAppreciation for really being thoughtful and also for deciding on certain marvelous guides most people really want to be aware of.
ReplyDeletePython Exam Centers in Chennai | Python Exam Centers in Chennai
Really a Nice Informative Post ,Keep it up. Best Mobile Computing Project Center in Chennai at Velachery – Saidapet and Pallavaram | Best Mobile Computing Project Center in Chennai at Velachery – Saidapet and Pallavaram
ReplyDeleteThe strategy you posted was nice.
ReplyDeleteBest UIPath Training Institute in Chennai | Best UIPath Training Institute in Velachery
Good post..Thanks for sharing such an wonderful post..Best Image Processing Project Center in Chennai | Best Image Processing Project Center in Tambaram
ReplyDeleteThe strategy you posted was nice. The people who want to shift their career to the IT sector then it is the right option to go with the ethical hacking course.
ReplyDeleteEthical Hacking Training Course in Chennai | Ethical Hacking Training Course in Nanganallur
Really a Nice Informative Post ,Keep it up.thanks for publishing this post.
ReplyDeleteRPA Training in Chennai | RPA Training in Pallikaranai
Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
ReplyDeleteBlue prism Training in Chennai | Blue prism Training in Besant Nagar
Really it was an awesome article...very interesting to read.Best Image Processing Project Center in Chennai | Best Image Processing Project Center in Madipakkam
ReplyDeleteGood job in presenting the correct content with the clear explanation. The content looks real with valid information. Good Work
ReplyDeleteDevOps is currently a popular model currently organizations all over the world moving towards to it. Your post gave a clear idea about knowing the DevOps model and its importance.
Good to learn about DevOps at this time.
devops training in chennai | devops training in chennai with placement
Nice blog. it is very useful and informative post. I really appreciate it. Thank you for your sharing.
ReplyDeleteDigital Marketing Services in Chennai
SEO Services in Chennai