Before we discuss the topic of Android Mobile Testing, here is something fundamental you should know. The 21st century has witnessed so many technological advancements and revolutions, one of which is the smartphone. Yes! You ask anyone, what is that one thing they can’t live without in a day. You’ll receive the most realistic answer, and that’s their phone.
Talking about the numbers this year, the users of smartphones are around 3.8 Billion, roughly 48.33% of the world’s total population. And the total population using smartphones and feature phones altogether is approximately 4.88 Billion, and that’s a whopping 62.07% of the world’s population. And most businesses today want to be at their customer’s fingertips which isn’t an easy job. That being said, you, as a developer and tester, hold a great deal of responsibility in your hands.
Android and its inevitable boom
For mobile to run, you need an OS like Android and IOS. Today in this blog, we will mainly focus on Android App Testing. Let’s know its story before you learn to understand how to master the testing on it. It all started in 2008, but even in 2009, the android was still a newbie with only 3.9% of the market share. The larger contributor of the market was Symbian OS by Nokia and had around 47% of the market share then.
That completely changed as Android in 2016 reached their market of 85% in 2016. Now let’s talk about app downloads from google play. The google play store in 2010 had around 1 billion downloads a month, and as the android market grew in 2016, that download number increased to 65 billion per month. They are a lot impacted by the low prices of the android apps in comparison to IOS apps.
All this is to show you how prominent Android is, how big the market is, and how complex the app’s development has become nowadays. Sure, you wouldn’t want to develop an android app for your competitors. You want to develop your business growth, and that’s a great way to start.
- Well, it’s an open system that is customizable, quick to learn, and when put effort, it’s also easy to develop an app.
- Publishing an app is much earlier on Google Store in comparison to other stores.
- Today, there are several Android phone manufacturers in the market, such as Sony, HTC, Samsung, Motorola, and many more.
- Android phones are famous for revolutionary type features that come in from time to time.
- The price point of an android phone is not too high; it just falls in the affordable range.
- The rise in popularity of android and android apps is at its peak, and the demand for testers specialized in android app testing is also increasing. So, you need good testers with good knowledge of the Android ecosystem.
What to know before you do Android App Testing?
And as a beginner, it becomes imperative to know the fundamentals of android, like the UI, GPS, battery life, network type, OS well; you can’t possibly test against every version. These are some of the vital aspects of an impressive android app.
Introduction to Android App Testing
It’s different from the normal testing cycle, meaning that in the first release of the app, there are some things that need at most attention, research, planning, and only then would you see a successful delivery of your app.
Here are those activities that you can do to achieve the maximum quality possible.
1. Research on the OS and Devices:
The 3.8 billion people that we mentioned use plenty of different OS devices, and hence before you clinch and free any testbed, you need to discover your target audience device share. The different features in an android phone like the DualSIM, dual camera, screen resolution, themes, and many others can impact the app and its performance. So, you need to create test cases and scenarios based on that particular OS and device model.
2. Test Bed:
It can get tacky while creating a testbed for android apps because it’s an open Android system, and it is unique. And again, target audiences are the key to solving this problem, and you would need to discuss it with the developers and product owners to discover and decide what to do next.
4. Test Plan:
If it’s your first-ever release, you would surely need an approved testbed, testing types, requirements, and more to be in place before you go. If you need some special time or more time required for researching the business rules and functionalities or if there are any potential roadblocks in testing, do cover them in your plan.
5. Automation Tools:
Be it web or mobile; automation is going to save your time. But to implement it, you need a tool, and to use those tools, you need to cast your time and effort to learn them. Whatever that you need here needs to be sanctioned by your product owner or client.
6. Testing Techniques and methodologies:
Contrary to the traditional tests you normally perform, some others are very particular to the mobile application. Here are some examples of what we just mentioned above: image capture test, GPS Test, Field Test, etc. All these need to be recorded in the test cases to explain how they’ll be tested briefly.
Android App Testing Types
1. Functional Testing:
Generally, testing can be accomplished by the user interface inducted test flows. The flow of the use case is tested, and many other business rules are tested thoroughly. And it can also be done by rectifying the requirements, in simple words checking if the app is working based on the requirements.
Let’s take Swiggy, for instance. In functionality testing, this is what you’ll test:
- Check if the restaurant cards are displayed according to the location or not.
- Check if the restaurants are displayed within the given scale (km).
- Check if the review count for the card is in the match with the reviews provided.
- When adding a new restaurant for a particular location, see if it’s also shown in the list.
- Check if the restaurants are classified filtering rules of the Swiggy app. And more.
2. Android UI Testing
Basically, the look and feel of the app are being tested in this particular test. In this test, aspects like the distinctness of the text in different screens, interactive messages, arrangement of data are rigorously tested.
Let’s connect the above Swiggy example again in the UI tests:
- Check if the cards displayed on the screen are properly displayed with the screen size of the mobile.
- Check if the images of the restaurants are displayed correctly.
- Check if the card info, the rating of the restaurants, food type, address, etc., are appropriately arranged or not.
- Check if the scrolling of the list has any glitches. And more.
3. Compatibility Testing:
This testing can be performed in two forms: OS Vs. app and Device model Vs. app. The product owners or your clients provide the list of the supported OS.
Compatibility testing plays a very important role in approving an android app. Like how perfect the app suits different screen sizes, screen resolutions, Network connectivity, and more.
4. Interface Testing:
You can also call it integration testing. And it is performed after you develop, test, fix all the bugs and verify all the modules. In simple words, it’s a complete end-to-end testing of the app. You also see how it interacts with other apps like maps, socials, microphones, text entering, camera, barcodes, etc.
Let’s consider the same Swiggy example again.
- Check if the user can see the menu and order it without a hitch.
- Check if the user can use the coupon codes while ordering their food.
- Check if the user can see the location of the restaurant on Google Maps.
- Check if the user can use the ‘call the restaurant button’ actually to call them. And more.
5. Network Testing:
This in-house testing is performed to check if the app responds in time and appropriately in various conditions like refreshing data after a sync or loading right after the login, and more. It’s performed on strong wifi and mobile data.
6. Performance testing:
The performance test is done to check certain conditions like low memory in the device, low battery, bad network connection, and more. It is usually tested from 2 ends. One is from the application end, and another is from the application server end.
7. Installation Testing:
Any android device has 2 types of apps; pre-installed (which are there since you open the new mobile) and the ones you install later on the device. And this test needs to be done on both of them. Now why this is crucial. It’s predominant to ensure that nothing will cause a problem while installing the app or simply end up in more errors. Furthermore, Upgrade and uninstallation testing are done as a part of the test.
8. Security Testing:
Privacy and Security are vast concerns for any user, so everyone needs to be extra careful on that note. If you belong to Banking or healthcare or education, it becomes your top priority. Things like access to store data, data flow for encryption and decryption, and more are meticulously tested.
9. Field Testing:
Field testing is not like in-house but using it more like a normal user. It can only be done after fully developing, fully tested and regressing applications. It’s usually to check the application’s behavior when it’s on 2G or 3G or 4G or 5G connection. It is to check if your application is crashing when on a bad network connection or if it’s just taking longer to load the data.
10. Interrupt testing:
This is also called offline Scenario Verification. The conditions where the communication is broken are termed offline conditions.
Here are some conditions where the interruptions can be done:
- When you remove the data cable during the data transfer.
- Interruption during the transaction phase.
- Network restoration after an interruption.
- Battery discharge or Power on or off during the transaction phase.
Lastly, stay tuned to the upcoming series of blogs on mobile testing, and if you like the type of content and want to read more, do subscribe to our blogs. Follow QA Touch for more interesting testing tech updates and trends happening in the QA Community. Also, you can join us at our socials where we have so much fun.