Mobile Testing
Mobile Testing
1
Welcome to the Day1 for the Mobile Testing Tutorials. So we are going to be talking about how we are
going to test MOBILE applications on various devices. Some of the best practices the entire methodology
around it and how you can learn to become one of the Mobile application test engineers. So the first
session I want to focus on some of basic concepts and I am going to talk about how and what we are
going to do in terms of Mobile App testing, we will discuss a little bit about different types of mobile
applications and devices, some of the challenges, some of the important items to do and best practices
and so on
And I will also show you how you can learn and master Mobile Application testing.
So the first thing you need to focus on is understand the fundamental concepts in very simple English-
What is mobile application testing? So its not the testing of the mobile device, it is not about how
does a mobile device work is iPhone working correctly ,is it hanging, is it throwing an error, is it
shutting down or a galaxy note is not working correct No .It is about testing applications on the mobile
devices. Applications that can be either native apps.which you download from things your iTunes or
your play store on Android and so on. Or the applications that you access directly on the Mobile Browser
.So now what is important for you to know is testing these applications has got similarity of how we
used to test different web based applications. For example to test a web based application we go
through the entire process of creating a test plan, we will talk about what to test what are the
Mobile Testing Day 1 Video
2
conditions-what are the different test scenarios and test cases what is the set of test data that we can
use and so on .so those fundamental things still apply.
However we will have to focus more mobile based performance issues, mobile based functionalities,
how does the application behave when I use the application on the Wi-Fi Network or a 3G or a 4G LTE
network, what happens when the battery is down or what happens when you are installing it and
something happens to your phone at that time .So these kinds of different circumstances and situations
becomes very critical and that is what differentiates mobile application testing. So now we will still look
into how we can do manual testing, little bit of automation testing, how can we test mobile devices
using remote devices which is not physically in front of you, or real devices which you are actually
holding it in your hand or devices which are emulated or simulations that you are actually looking at
from your PC.
So now let us look at the 2 most prominent types of Mobile Application
So one is called the Native apps Native apps are basically the applications that you are downloading
from the market place where of the provider, basically Apple has the IOs market, no, tube market place
where you can login search for different applications like Angry Birds or your bank of America App or
your Chase app or your weather app or your news app and so on. Similarly there are Apps on your play
store devices for your android-These apps you download on to your mobile device and then install it one
time and then and you work on it, those are your native applications ok. These are the applications that
Mobile Testing Day 1 Video
3
need to be downloaded one time and then they can go through regular updates, as the application
owner which or the company which is owning that application is releasing new patches or updates to
that performance and then but the most important that will happen is your testing is also specific to
your mobile configuration. For an app that is created for apple IPhone OS is different from that of
Android OS on play store.so there are differences in how they are developed and how they are
configured but they have to look the same, they have to work the same and behave the same, that
becomes very critical for your Native App. Because what you are seeing is different app and on different
platforms.
so now lets look at the next point where there is need to tests for example if I am talking about native
App like even a Google maps I could go on the browser to map, start Google doc or I could download
Google Maps app on to my device and start using its there is a download and a installation which is
very important, then comes your execution where and you are actually executing the test on the device
.But what happens to that Execution ,doing it on different networks like a 2G or a 3G or a 4G LTE,or a
Wi-Fi or a shared Wi-Fi, or an insecure Wi-Fi. What happens when you are in coverage zones? What
happens when you are sitting in a stadium with 100s of 1000s of people and what happens when you
are trying to use the network in the same time, and what happens when you are driving and switching
between different zones, what happens when you turn your phone from one orientation to the other so
,if you turn your phone will the screen display also turn or not. All these things are very important to
test.
Then you talk about integration, in the sense that once the device is installed on your system, how does
the app work, if I change the brightness, if I change the mobile device settings or if I change auto
updates or lets says what happens when the download stops in-between or your cell battery dies down
so all of these things have to be taken into strong consideration in testing these native apps and are the
auto updates happening on time, but more importantly ,you have many operating systems for different
devices and each device has different versions,ok ,so thats just about Native apps.
Now what happen are the same web applications the user is accessing that from your local PC machine
and he is trying to browse that using a browser which is installed like a safari on your iPhone or a Firefox,
the android browser that you have in android device and so on. So every time you need to load the
page, the page can be dynamic. Someone changes the page every second, you refresh that, that is
getting changed and it is common to all mobiles, because its just the size of the screen, the resolution
and the orientation that is different, but otherwise, it is on a browser, so it is same thing that they are
looking at. So what do you need to test, is it loading, what is the UI orientation size and all the other
common things on it. OK
Mobile Testing Day 1 Video
4
Mobile Testing Day 1 Video
5
Now lets talk about types of mobile devices. Now that we know about Native APPS and there are Web
apps, we need to know what the different types of mobile devices are.
One type of Mobile device is the Real device, this is the actual device that you buy from your store and
start using it as a cell phone for voice, for text, but you also use it primarily as a smart phone and thats
where these Apps thing-Native Apps or Web Apps come into place, ok , this is the most important device
for you to consider for testing. But unfortunately what happens is there is a huge list of these smart
phones in the market.
So for me earlier to test a web based application I had lets say 4 to 5 versions of Firefox ,3 versions of IE
,1 version of Chrome and few other browsers. Overall I have 10 different environments and multiplied
by 2-4 different OS to test on and see how my web based application is looking .But now we have
dozens of devices and different versions for each device and different OS combinations for them, so that
becomes a huge list and for you browsers are at least free to install on your OS,Laptops or Pc and use
that but for the devices I need to do the actually procure those devices and pay for the device cost and
the network fees , there is also lot of manual effort, because I am having to be physically ensure that the
devices are maintained , they are charged, they are accessible and then I have to physically go and use
my fingers and start doing it. But most importantly You cannot ignore the testing of real device that is
very important, the reason its becomes critical is the fact that, unless you test on how the end users are
Mobile Testing Day 1 Video
6
going to use an application it is not a complete test, OK .So thats very important, thats your real
devices, thats how you try and approach testing at a higher level for the real devices,
But what about emulate devices or sometimes simulators. Primarily this is the ability to take the apps
and show them how they look on the device on your system.
so lets say this is an iPhone and it has the home button here, and lets say this is the screen ,so when
you do a emulator or a simulator for the IPhone, you will see the screen being displayed on your system,
you can install the apps accordingly and you can start working like by clicking, or dragging or sliding or
using your mouse and keyboard to work with this applications directly. That is a great level of
simulation, that it is easy for you to manage and easy for you to capture and being able to report errors
taking screenshots or creating logs as well very easily. The other thing is that it is the same big list ,you
still have the same number of devices ,but instead of switching or maintaining hundreds of devices I
have this emulator where I just have to go and select which device to use from the dropdown list and
able to easily switch between devices for test, there are costs that are significantly lower, but again they
are not truly realistic, but primarily apart from the speed, because the speed and the resolution is more
related to the PC , because they are loaded on your computer, they are not on a real device, that is the
primary difference that you would see.
Now lets talk about the challenges, the importance and criticality of some of this Mobile App Testing
Mobile Testing Day 1 Video
7
So what is very important is for you to be able to clearly understand the number of devices you want to
test , typically you are not planning to focus on every device and every version in the market,ok ,You will
need to understand who is your audience, what are they primarily using and how many of them are
using what device and try and prioritize in that order, what are the number of devices and the versions
that are been test, what are the different mobile OS that you need to know ,what kind of settings and
configuration you want to test with, how you want to set your network in connectivity and all of these
things are important and these couple of reasons.
1 . App sales can be directly done through so there are Free apps that can be downloaded, but the free
apps is providing a additional functionality for the business backbone itself ,for example very simple if
we talk about BOA App, so BOA is providing this because it is easy for the customers to do lot of
transactions on their cellphones, instead of doing this if they are at their home doing it from Cellphone
or a smart phone or their laptops, but what if they are on the road and they need to do it, they usually
search for the closest center ,come in there and start using it ,so they are able to save on the human
time and human effort by providing you an App on one of the core human needs.so that is very
important ,but if the ratings are not good, then no one is going to download these devices, so it is very
important for you to test and ensure that you have good Apps before you release it into the market.
Mobile Testing Day 1 Video
8
Once you release them, then its all dependent on the reviews and the ratings of the users and since its
a common market place , they are very specific why did Angry Birds become such a popular game
because there were so many downloads, so many ratings and reviews, people liked it ,but they also
started rating it and people could see what it is so this like these have become very viral, things like
these survive on ratings, its also a lot of data for your shopping cards like Amazon App or your financial
things that you want to do-like your PayPal Apps or do any kind of secure transactions like even you are
doing your Loan applications For example the Mortgage Loan application can now be signed directly on
your IPad all by themselves.so you can use your finger to Sign to make signatures and sign on a device
on a IPad and so on .So with so much happening its very essential and critical for you to be able to focus
specifically on what you should be doing on Mobile App testing and hence comes a list of Best practices.
What I am giving you right now in this session is an overview of what is going to be coming. Once you
know the ground, the foundation layer, the fundamental concepts, it will be easy for you to understand
once we go into the project of Test execution for Mobile Application.
1.Hybrid Device Testing :You can never say that Real Devices or Emulator devices or Remote devices is
one best choice .You have to use a range of them ,but you may start with emulated because its easy,
its quick ,you dont have to wait to procure that devices, you can quickly install it and do some smoke
Mobile Testing Day 1 Video
9
testing to see if the basic core functionality and the base features of how an application should behave
,specifically a mobile is working, then it is easy for you to shift and say that now lets go to the Real
Devices and do some more. It is very important for you to plan ahead and time. Because unless you plan
properly, based on your requirement and priority list of what you want to accomplish, it will be
impossible to complete the task in the qualitative manner. The reason being that if you dont plan ,you
will not know what your end goal is going to be ,especially Mobile app testing, if you dont have
boundaries, if you have not created your test scenarios, your criterias ,your data it is going to be
absolutely upheld task for you. You have to maintain a great checklist of repeated tasks. For example I
want to test when the battery is at 70% or 100% and charging or its a 25% and charging and but what is
happening if I am playing a movie on the Net place on the background and I am using this app or the
other program that is actively running. What do you do during this type of these situations?
All of these things if you create a checklist
1. You will not miss any important areas to test
2. It gives you a great report to showcase the reproduction of those defects or error areas, and say that
here is the checklist and this is what we did on these platforms on these OS and these are our findings.
So it is very easy for you to go through and say this. This is done. It gives an easy way to maintain your
task using that.
Field Testing like I said earlier, how do you go about testing your device in different circumstances and
then how about Different Settings ,what if I switch on the airplane mode or what if I change the
orientation of the device or if I use a keyboard or a different language altogether. These things have a
big impact on what you test.
So creating a best practice and putting these things in your checklist becomes very important.
Automation Plan is also something that you need to consider-while Mobile application world is very
dynamic with the devices and so on, but there are some standard functional areas which still can be
automated ,we will try and evaluate some of them as we go along, you could do Remote devices the
same way as you could have devices not physically present with you but in some other place some other
country or zone where the network fees are not so strong/high and you can easily procure the devices,
be able to test them from remote connections. A combination of these and many more will form a great
practice for you to be able to test on Mobile Applications.
Mobile Testing Day 1 Video
10
So before we end one thing that again I need to repeat and emphasize is why focus on this Mobile
testing-As you know there are lots of phones that are getting really Smart-IPhone started the
trend,infact even Blackberry did with little bit of Web Apps on Browsers and emails and so on. Now with
the iPhone and what it got to the world-there is a whole flood of every device running in that sole-
Luckily some of them have taken Android as their OS but many others are still on their custom the IOS ,
the black berry OS and so on. So there are more phones coming and becoming truly smarter
Applications need to match with people getting more mobile, in the sense that you see people
sitting at the lunch and still accessing the cell phones, or they only texting these days-No they are doing
work on the apps, they are playing games or they are standing in a queue and they are doing it. So you
can imagine the places where they are and still working on it, so for example ,if I have a long flight ahead
and have a fully charged smart phone all I am trying to do is either stream ,not stream but play the
videos that are there in the system or I might be playing the game of Lime and trying to spend some
time and so on. That becomes very important. The networks are getting faster .So earlier people didnt
really stick with the smart phones but the 2G was slow the Wi-Fis are not really getting connected and
so on, but now with 4G LTE and 4G speed ,people are able to do so much outdoors , they started taking
almost all applications outdoors and using it in those networks. So there are more Apps, there are more
features and more powerful in what they provide these days.
Mobile Testing Day 1 Video
11
There is a whole way of HTML5 which is trying to standardize how the look and feel should be across
different devices, be it Mobile or be it on Web and so on. And there is a huge peer pressure, unless a
company launches specific app on their products, they are not giving the best to the competition. That
gives a lot of pressure to them to be able to run on that device. So these factors really emphasize the
fact that Mobile testing is critical, for every one of Mobile app development team to focus on, Mobile
application companies to focus on.
.So with this I want to talk about few of the general questions that typically keep coming to lot of
people. For example if you are someone who is trying to learn or work on testing mobile applications.
Do you need real devices and the answer is Yes, While you can still do without a real device, the idea of
having a real device at least for a short period of time is very essential for you to work and be able to
understand the hands on concepts .ok.For example you can go to Apples store or a AT&T store and pick
a device and have it for you for 30 days and return it back for a $35 or something like a restock. Try and
take those money back options where you will be able to spend little time on playing around on the
important aspects of it.? If you like it, you might as well keep it.Which sort of devices should we test?
Should we test everything or which is the best is it OS Apple or Android-It doesnt matter-It is
your choice what you want to buy. Its for a personal use it doesnt matter. But if it is from a companys
perspective and what they need to test-it all depends on their audience, where is a priority of hits
Mobile Testing Day 1 Video
12
coming to their application from ,what device are they using and accordingly they are able to structure
the priorities and make a list these are the devices in that specific order.
Q .I am new to testing Should I learn Mobile Testing
So what is happening is even if you are a beginner to testing ,what you should do is get some
fundamental concepts of the overview of software testing overall ,be it a web based application or a
windows application and so on. And then you should learn mobile testing, because it is your future.
Everything these days is trying to go mobile and it is an essential process of testing on Mobile
applications and that will become a very important skill to have and mobile testing seems to be very
confusing I agree to it to a large extent. And the reason I say is because of the complexity of the devices
the OS and the way , the speed at which this Apps , the market of the whole telecom industry is moving
and hence it is a little complex and that is the reason you should focus at the basics and fundamentals
and picking up 2 or 3 areas that you should focus on .so for example just say that you know the
fundamentals to apply little bit of automation to it but more specifically you have done IOS Mobile
Application testing or you have done Android mobile application testing or did both of them, instead of
saying that I have done everything, so you could become very specific to your initial entry into the
market.
How to know what to test?
This is something that you will get from an expertise part, but again you will need to treat it as a
functional testing tool, and you will also need to test, functional testing like there web app testing that
you do, but you will also need to treat it as something that runs on devices and how do you accordingly
do it for those devices.
How different is Mobile App testing from regular web app testing?
Like I was saying that it is still testing, but we are testing it on a different platform which has different
circumstances, different configurations and it behaves differently. So to test it on a different application
they are altogether different.
So those are the important questions that you need to ask yourself and please if there are more
questions send us an email on [email protected] and interact with us, we will be happy to help you.
So what is it that you expect going forward in some of the sessions , this is been an introductory session
which is giving you a high level overview of what Mobile App testing is all about and what is important
for you to know.
Mobile Testing Day 1 Video
13
So we will get deeper into
*studying some of the mobile platforms, typically IOS Vs. Android,
* We will select a sample Live Application, in fact we will try and repeat these for couple more.
* Once we select Sample Live Application, we will treat it as a live project and see how we go from the
beginning to the ending of testing mobile based applications
* We will create the work environment for testing; we will create the entire reports and execute them
for the testing portions of it
* We will apply a lot of our best practices and practical knowledge into getting this thing done.
* Now the other thing which is very important is automation .To what extent we can automate is
something that we need to look into at a later point and time, but we will experiment as we go along to
that side.
* we will see more Mobile App Testing that will come
So I have one last slide that I wanted to show you before I let you go.
Mobile Testing Day 1 Video
14
So for you to learn Mobile application testing what is it that you need to do?
You can join lot of Forums, you can surf the blogs w, the world for what is going on and watch what is
happening on the development world.
You have to ensure that you dont get lost. Because there is so much out there, it can be over kin.Once
you lay your foundation, get your fundamentals very clear, very strong, it is easy for you to progress
from there.
You have to take a course, say take a course is take a road map-Training program, take something that is
really popular out there and try and get yourself into it ,because however be the training they at least
have one structure to it-beginning to end they are covering it and they will give you a good quick start
Try and be as hands on as possible, especially when you are picking up a course, see and ensure that you
are focused on doing it rather than seeing someone doing it. Ok
So its not just about playing around with the application, dont install a app and play around and say
I have done testing No, what is expected is for you to be able to plan what you are going to
test, you then play and actually perform and execute the test, you track what you are doing and then
your report it.Once you do this process that is when you are truly doing Mobile app testing.
Mobile Testing Day 1 Video
15
There is nothing more important than doing a dummy project ,but treat it like a real project-that is what
will give you the strength and expertise in this domain.
All right I wish you all the best hope this gave you a quick overview of what Mobile Application Testing is
all about. In the next coming few sessions all the videos on this, but please visit the website because
that is where all the information, all the tutorials are going to be hosted going forward.
Thank you so much. Take care everyone. Bye
***********************************