Mobile Application Testing – Best practices

Recently every business who has a web presence now focuses on MobileApp to attract more consumers. There are various reasons to this:

Good internet speed, rising in smartphone usage, improving the customer engagements etc.

In the current scenario, MobileApp Testing is a must have skills for the software test specialists. He/she must be proficient in testing apps running on both Android and iOS and should have good knowledge on testing both native and webviews. 

This blog focuses on the best practices one should have as a software test specialist for a MobileApp test project. Most of the projects follow the Agile Scrum methodology, so as a tester/test lead, one should focus on the stories that are part of the Product backlog grooming. This takes us to the first point of our best practices list.

Remember there is no best practice list. It is always relative to the project.

Focus on stories that are part of the Product backlog grooming

Do some homework and be prepared for the meeting. Have a quick go through the story and ask questions. E.g. if the story is about a Shopping Bag functionality, go through the Epics and also go through some retail companies Shopping bag functionalities which will give you some idea on the overall functionality.


Start documenting the test scenarios from early stages of design

This will help you in understanding the functionality and will also uncover the static defects


More home work for Sprint planning meeting

  • Focus on the story in the details
  • Understand the APIs if there is any

Understand the APIs 

Go through the API documentation tool such as Swagger (it can be different depending the project)


Use a HTTP proxy debugging tool or similar tool

  • It is a must have tool for the test and development.
  • Plan to create json responses say for API errors (will be useful during the testing)

Check if the functionality is webview or native related 

Having known this, it makes your life easy. You know if there is a defect, it’s the web team or app team that will take care during the test execution. 


During the initial days of sprint, finalize the test cases, mock the APIs (create json files and keep it ready for both success and errors), rewrite the API responses that you intend to check during the test execution. 


In an Agile project, there may be a chance that you may have to test the stories in isolation. So mocking API responses with Charles is very handy. You won’t have to wait for the backend development to be completed. One can still proceed with testing and keep finding bugs.


Make sure to go through UX and UI thoroughly. Seeing a page visually makes the tester’s life much easier. 

  • In case there is an UI testing of Android App, then use the Show outbound feature. It will help you to compare the padding, margin, text alignment with the UI defined by the UI designer.

Focus on iOS and Android native behaviour if the functionality revolves around a native page.

  • If there is any change, raise a flag (e.g. calendar functionality in Android. Few do not like it and few like it. But story has to be aligned to native functionality)

Use Charles Proxy (or similar tool) to throttle the network and see how the app responds 


Try creating a scenario where app crashes

  • App crash is a strict no no for the users. So focus on that by doing some unhappy flow testing. 

Make sure the APP behaves properly if API responds with error


During the sprint, do a feasibility study to understand if the test case can be automated or not. If answer is yes, then this can be taken care in the upcoming sprints 

  • Appium, TestProject are great tools for the same. 

There can be another long list of best practices. But the best list is the one which is suitable for the project. It’s already relative to the project goals set by the Quality team or as per the overall test strategy defined.

Most of the best practices mentioned above are generic which can be applied for web and other testing as well. The intention of the blog is to highlight supporting tools and how understanding of back-end (API) enhances the testing ability.

About This Site

The main aim of this site is to share knowledge with fellow software test specialists who are keen to grow both technically and professionally.

Categories