Thanks To The Internet, there is no barrier or boundary for any web/mobile app. End user of the application can be anybody from anywhere regardless of their religion, social culture, geographical position, time zone, physical or monetary status. Basically we dont exactly know who is going to be end-user of our app. When any application is being developed, as a production house, usually our focus remains on "What we want to develop?" instead of "what end-user is looking for" or "what end-user would like to have?".
User Testing comes handy to cover this aspect. Basically we try to read end-users mind during the development in order to help ourselves identify/decide the right direction. By adopting this approach, we come to know in the middle of development if we are going good rather than testing the app after full application development and come to know negative feedback or modifications requirement.
When? to do testing:
During app development as soon as a substantial independent module/component/unit is ready.
How many times?:
1. As many times as possible.
2. After each integration of modules.
3. Whenever we feel the need.
Who? will test:
1. A tester
2. A developer
3. An anonymous user who has least knowledge about product/theme
4. Group of completely new user who would be using the product very first time
5. Group of first 3 points
Try a different combination every time
Where? to test:
1. In office
2. In public (using public environment)
What? to cover in test:
We will get answer of this when we think like user. User testing is not mere covering documented features/functionality. It is more about:
1. User experience
2. Ease of use
3. Impression (if user feels that look and feel of app is impressive?). Remember, First Impression is Last Impression.
4. Longevity of product in memory
How? To do:
The rule is that there should be "No Rules". Just give the product to user and capture data/logs/feedback.
Findings? of testing:
We will come to know if product is going in right direction. After this we should have answer of "Are we creating right product?"
How? to record users suggestion/likes/dislikes:
In order to know what is going in user's mind, we must capture data/logs related to user's actions performed over application. (e.g. Frequency of the each ui part the users have interacted, frequency of features they walked through etc.)
The data can be collected by writing app logs through script OR by providing questionnaire and feedback just after user testing, which can be arranged as usability metrics.