Test Ideas — Input Methods

  • keyboard — that’s sort of obvious :) although I’d take it a bit further and test using only a keyboard. It can then become interesting since some elements might, for example, not become reachable with only a keyboard. How about different keyboards? E.g. where’s no single Del key on a Mac device (at least on some of them), so if your app reacts on Del somehow, Mac users will have to press Command + Backspace, that’s already a different experience.
  • mouse — again, sort of obvious, people use it a lot, testers as well. But how about using only a mouse? It then probably means using some sort of virtual keyboard, which might already be a bit problematic. How about copy and paste using a mouse? Still no bugs?
  • virtual keyboard — just mentioned it above :)
  • fingers — if a mobile or tablet (sometimes even a laptop) is used, people use their fingers. Fingers have at least one disadvantage, their are much bigger than a pointer of a mouse, so if some elements are too small or too close to each other, clicking them might become problematic.
  • voice — voice could be used to interact with a computer, it might sometimes perhaps speed things up, or it might be used as an assistive technology.
  • assistive technology — there’re way too many of them, but to list just a few: trackball mouse, adaptive keyboard, eye-tracking device, head wand, mouth stick, … There is a nice article on WebAim about assistive technologies for people with motor disabilities.
  • shortcuts — this is not really a device like many of the ones mentioned above, but shortcuts could be used to interact with an app. How do they work? Do we want them to work? Shortcuts can also interfere with other software and the operating system. That’s another risk to investigate.
  • Screen reader — a screen reader can sit between a browser and a user (a user’s input device like a keyboard and mouse), which can create additional problems — some elements might not be correctly announced by the screen reader, app shortcuts can interfere with the screen reader’s shortcuts, etc.
  • different languages — again, not really a device, but if I stretch it a bit, I can say that I might use a keyboard designed for a different language and perhaps that keyboard is missing some keys.
  • copy&paste — copy and paste might sometimes work differently than just typing in some text using a keyboard. How about copy and paste when working with pictures?
  • drag&drop — some apps allow for drag&drop, that typically happens in places like picture or document upload.
  • swiping — an integral part of mobile and tablet devices.
  • a different person — how about if you are busy and you ask a friend, your parent, your kid to use the app instead of you? Would they understand the app? Would they succeed without further training? It’s easy to know what to do when you’re already used to something, but novices might struggle quite a bit sometimes.
  • API — perhaps there’s not only a GUI, but also some API that could be used to input things. How does that work? How would a new programmer work with it? Is there a good enough documentation?

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Shared Table Multi-Tenant DB Architecture in MYSQL

A 15-year web development walk-through

Easy Speedup Wins With Numba

Automatically configure native image reflection configuration

READ/DOWNLOAD$) Starting Out with C++ from Control Structures to Objects (9th Edition) FULL BOOK…

Flutter is trending — 5 reasons Why

Tips for a developer/engineer in 2017

How to Make Your Needs Crystal Clear to Custom Software Vendors

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Pavel Saman

Pavel Saman

Tester

More from Medium

Complex Testing Solutions

Improve your testing methodologies by avoiding these 3 anti-methods

How to avoid lack of tests maintenance?

It’s time to fix test automation for good