Have you ever wondered what the testing methods for data input to date are? Computer mouse, keyboards, touch screen, unloading, downloading, camera, etc. All of these are types of input.
Input is an important part of most web products today. Since, a keyboard is considered as a component of a device (for example, tablet or smartphone), or even as a separate product. A user probably won’t check it during testing using such an application tool.
Sometimes, it is necessary to test the on-screen keyboard as an inherent part of the whole project. And it doesn’t matter how such a process is called: integration testing or something else.
The most important thing is that clients can pay their attention to imperfect keyboard performance on developed software. Hence, all the negative system’s behaviors can influence the client’s decision to use such a product or no.
Most problems described in this article were discovered on a typical on-screen keyboard while using a mobile version of a particular web product. In other words, features of any other available physical keyboard (for example, tab navigation) weren’t analyzed at all. The article is focused on the peculiarities of an on-screen keyboard (for example, customization).
Let’s proceed with a group of the most common bugs on a virtual keyboard that can significantly harm the perception of a web product.
An Issue With the Displaying of Password Manager Option
The name of a bug speaks for itself. The option to use a password manager isn’t always available on the signup/log in page in an application.
Password managers become popular not only because of their security features but also because of their usability. If a client application does not always allow using the password manager, then it will be uneasily and kind of hard for users to benefit from its services.
A Password Manager Cannot Fill in the Text Field for Email
It is a common situation when the password manager is not always available on the login or sign up screen. At times when it was available, it could complete only the password field. It simply didn’t have the needed access to fill the email and nickname fields. It means that users have to enter the email manually. And this is inconvenient and impractical.
Also, it is possible to test the performance of the email domain, namely, how this function can affect the operation of the entire password manager and whether the domain will not appear twice (for example, in a text field or a drop-down menu list). Often the problem can be the encoding of the mail field so that it is displayed by the system as a login or mail field, which means that the password manager will not be able to get technical access to them.
Displaying the Wrong Keyboard
It also happens that on the device used for tests, custom keyboards are used along with system ones, and corresponding password managers. If such a custom keyboard was installed by default, the software will operate it only when a user changes the corresponding settings. In all other situations, only the system keyboard will be displayed.
Some testers face the fact that the program insists on using only the system keyboard. This is very often annoying for users and extremely restricts the possibilities and ease of entering information.
But the symbiosis of custom and system keyboard is something new. Users, of course, set and configure custom keyboards for a reason. It means that the application should give them free access to using such keyboards whenever and wherever they want.
You can run tests to find a password manager in system settings, but only if a custom keyboard is displayed. It also happens that even if the system keyboard is turned on, a custom one is still displayed. These are two different bugs and QA engineers must report them to programmers.
Use of a Dark Theme Only
Sometimes it can happen that fixing the bugs with choosing the on-screen keyboard type switching on a system level can change the color of a theme from light do dark.
This is an extremely interesting example of a classical regression – when changes of one thing have caused the modification of another one. This situation has a good example of how it is important for the tester to know about relevant methods of implementation of a product.
When QA engineers know what and how could be implemented in software, they will better understand how to test this functionality operating the details of technical implementation. In other words, don’t hesitate to ask programmers always when they greatly changed a product. Hence, you can easily navigate in its transformations and system modifications during the testing process.
It Is Hard to Hide a Keyboard
It is a common situation when a keyboard is always displayed and it is hard to hide it. There is little space where it can nonvisual (without unintentionally clicking on something).
Such things can annoy end users. Also, it significantly increases the risk to make other mistakes. Let’s imagine that we are annoyed users who click on the wrong place by mistake trying to hide an on-screen keyboard and look at the content that is under it.
Alternatively, you can fix this bug so that when you hide the keyboard, when scrolling, it will fade out smoothly and not annoy the user with its constant presence.
Also, on projects during software testing, such questions and situations may arise which, in fact, are not hard defects. Nevertheless, the situation can and should be improved so that end users can easily interact with a web product.
Text on the Enter Virtual Key
When checking the registration or authorization page, you can notice that the text on the Enter key may not be very useful or not fully display the function which this virtual button is responsible for. For example, it may have the text “finish” or “done” in it. But there are programs when such a context on the buttons is not fully disclosed.
When you press this button, the virtual cursor automatically moves to the password input field. In such a situation it is best to use the title “Next”. When you press Enter in the password entry field, the system action is completely similar to the “Enter” key. You can also indicate the Enter button in this way.
Such a thing doesn’t mean anything, but the text that correctly displays the actions associated with buttons is extremely important, especially in a situation where such system actions cannot be undone. This practice allows you to completely prevent bugs and avoid the constant annoyance of the user.
Demonstration of a Keypad for Numeric Fields
There are some fields for entering only numbers. Sometimes it happens that you can easily enter letters, as well as a group of special characters in these fields. Or even clicking on the panel of numbers can change the content of the field (when you click on letters and special characters, there are no changes).
As a solution to this problem, you can implement displaying the numeric keyboard layout instead of constantly showing the full keyboard where about 90% of the characters are not necessary at all. Besides, this change will additionally notify the user that it is possible to enter only numerical values in this field.
Also, during exhaustive testing of the on-screen keyboard capabilities, QA may come across a large list of interesting things, namely:
- Positive and negative aspects of using the classic keyboard library – creating a customized keyboard from scratch.
- The influence of the user’s location and the selected language on the current keyboard layout and the use of the group of available characters.
- Hiding or blocking unused characters – displaying a text message about a field filling error.
- Testing the inadmissibility of using a specific group of characters on the on-screen keyboard.
In conclusion, we’d like to say that even the minimally noticeable and insignificant features of the software can contain a variety of defects, bugs, and opportunities for further improving product quality. This suggests that one should never get complacent! It is better to think about what else can be checked and what else in the system can go wrong. In real life, even a simple keyboard can be a sad reason to no longer use a certain software product.