While doing mobile testing, it is important to have a look on the approach with which you proceed forward to test mobile applications.
Requirements Analysis considering Mobile Factors:-
Like any application testing, it is important to go through the requirements in deep and rectify the requirement bugs at the right time. If you are not getting requirements properly, just communicate with your client or lead about which information you will be requiring in order to work on Test Scenarios and Test Cases around it. If there are many requirements which are decided on the go, like in the client calls or in the meetings ,then note it down and star working on the various scenarios around them. Make sure to analyze the requirements keeping mobile factors in consideration as well.For e.g. if the requirements is ” mobile app download any media” then you should make sure to ask:-
- What kinds of media files are going to be supported
- If download is going to be on SD Card or internal memory
- What if SD card will not be available
- What if user changes the SD Card
Mostly the requirements are on higher level and may not answers all the scenarios that the application may have later on.
UI Mock Ups:-
If required ask your client to provide the wire frames or UI mock ups which will help you understand how the application screens will look like.Wire frames can also help you to go through the flow of the application.
Study the Architecture and Technology:-
By the time developers are busy in developing the architecture or going through requirement analysis,it is very important that a tester should also look in to the technology perspective of the application. For example if your client is developing any streaming or media sharing applications,then apart from regular requirement analysis a QA should make sure what kind of streaming technology is going to be used. What are the different API will be used in the applications.As the application is related to media then what are the different kind of media file types this application will support etc.
Competitors application Analysis:-
It is one of the key trick which will really help you a lot. Most of the time when you develop any application, then we have some similar applications already available in the market. Just download these app and verify various features and functionality in this application. For example some twitter based application.You can take a look on Seesmic,tvider,twitpic.These all are media sharing app on twitter and many Features resembles as finally they are developed based on twitter APIS. By following this practice you can:-
- Suggest some new features and improvements in the product your org is going to develop.
- Get some hands-on on the kind of technology and features being used
- Help you being familiar with the app
- Help you to chalk out some important scenarios
Keep in Mind The Target devices:-
This will be decided by your client or by your manager that which device they will be targeting the app on. It is very important if you can provide your inputs on that as well. For a testing purpose, make sure you have devices of different screen sizes and resolution. Also some device may support orientation and some may not. So this should also be taken in consideration. We will discuss later on about how to choose a right set of devices. The point here what I am making is we should be in condition to provide our inputs in this front as well.
Design Scenarios and Test Cases:-
Once Test Planning is done, it is very important to design some test scenarios and Test Cases. You can design a complete Test Suite which will have various modules feature wise.You may add some tabs dedicated to Performance ,system and interruption test cases as well.Make sure you involve these kind of generic test cases as well. Apart from bulky test suite,you should have a quick checklist which will cover important features in the application. So in case you need a quick round of testing then you can follow this checklist.
Analysis on Need of Tools and Utilities:-
Make sure to put some efforts on the kind of told you can use later which will help you test the mobile app.I am not only talking about the Automation Tools but also some small utilities like log capturing tools,screenshot capturing tools,memory consumption by app checking tools etc. Early planning is very important as you have sufficient time available before actual testing Starts.
Keep performance in Mind:-
Performance is very important aspect for mobile applications. So while testing your application,apart from regular functional testing scenarios, analyze the application for app size, behavior of the application in long run i.e. behavior of app if app being used excessively for long time, application launch time and time to load any screen, behavior of app when app do not have enough space, simultaneously running many apps should be considered.
Application Submission Related Strategy:-
Be sure about the distribution channel for your mobile application.If you are submitting your app to app store then go through the guidelines provided by apple to make sure that you application is getting accepted .Similarly depending on the application store,go through the application and verify that whether your app satisfies the criteria for that store.
Testing Among The Beta Crowd:-
Every one is having their own approach of using the application.Yes the QA will not decide whether to go for beta testing, but the product team can just decide on this.They can submit the app to beta testing services and can see the inputs from the crowd. Also there is another cost effective solution for this as well.The app can be distributed among the trusted employees and after the Use of 1-2 weeks you can see inputs from them. I feel it as very important aspects as everyone is having there own way of using the app and having multiple people reviewing the app can actually help as some bugs can be found in this phase as well. Many times testers test the application in order to complete the testing within time as they have challenge to complete the testing within time. In this case sometimes they miss some scenarios that the normal user can encounter. For example i you are working on you app where user will watch the movie. If movie is of 1-2 hours then will the tester actually see the complete movie ? Mostly no …he will just fast forward it and will verify the rest of the scenarios. But the actual user will be interested more in watching movies and hence if he finds disturbance in this process then he will just throw this application away. Also the testers keeps on changing the build as he keeps on getting new releases from developer however such kind of crowd uses the same build for several days.The probability to see long term impacts of using the application can be dig out more in this kind of testing which is normally not possible.