Alexey lavrinovich

Testing tricks

You can't test an application completely and fix all the bugs. Even if you think that all was tested, that's not true.
Alexey Lavrinovich
QA-specialist
There are some soft spots in an application. Most common are time zones and font size, they're set in your device settings.
1. Font
You can minimize an app, find system settings and change the font size. If you choose a huge text it's possible that an interface in your "completely tested application" will ruin. There are examples below:
Before font changing
After font changing
On screenshots you see that text overlays on text, it's hard to read and looks unattractive.
The screenshot above shows that text is cut and you can't read it (I chose blind mode in special options, maximum font size).
2. Date and time
If there are any timers or other options of time in application, you can change date, time or time zone in system settings, and an application will change it too.
Before reset
After reset
It was 10:55, then we reset time to 5 hours back. The application counters were reset too. It usually works in offline mode in many applications.
Many mobile games, that collect lives for some time, can be tricked if you reset time. Below there is a course of action to work the system:
  1. Open a game
  2. Turn off Internet connection (if offline mode is possible)
  3. Minimize a game
  4. Reset time in system settings (reset to some hours forward)
  5. Expand a game

There are full lives now (or the number that you get by resetting time). But it causes circumstances: in online mode the administration can pay attention to your actions and, probably, they will take measures or you can cause any crush. So it's better to do it offline and go to online mode after some time (when the time you got for reset is over), not instantly, or just not do these actions at all and wait for lives :)
3. Other cases
There can be a failure if you give an access in an application to use something (camera or files, for example) on Android, then minimize an app and turn the access off in application system settings.
If you press different buttons fast or at the same time there is a possibility of an application failing. It needs to block it: add loading indicators, block UI after press, etc. not to cause a fail by the user.
After device rotation an application can work incorrectly or can not clear enough draw interface. In this case, if specification doesn't require landscape mode, you can block this option on phones, at least (because of uncomfortable usage and small screen). Many users often use tablets with landscape mode, so for the tablets you have to do the screen redraw correctly by the orientation changing.
Also don't forget about incorrect data. It needs to avoid incorrect data: do regex or use specific keyboard type. For example, if it requires to enter pages' range, you have to forbid letters' entering (doesn't matter how but it has to work steadily and correctly). It's worth to remember that even an empty line, point or comma in any field can cause incorrect work or failure.
Summing Up
It's hardly ever that users will do this staff but you need to be aware: work on cases when application crashes (closes with "application is failed" - Android, just closes - iOS). Failure or crash (use what you like) is a critical bug. Below there is a dialogue box when it's application crashes (concrete app in inverted commas).
In the released app there has no be such a failure. The user won't like it, rate an application badly and will delete an app. The others will see bad rates and won't install an app. It will cause the loss of users.
It's ̶h̶a̶r̶d̶ impossible to be aware of all the situations, especially when a user changes something in system settings, so you have to be responsible for testing and do not miss crucial moments. The application quality is vital today.
Thanks for reading!