Usability testing for embedded systems! Have you ever thought about it?
You might wonder why it is required.
Can you control the Air conditioner temperature using the remote without any difficulties? Have you been able to select the intended channel you want in your smart TV using its remote?
Are you able to use Bluetooth in your smartwatch properly? Is it comfortable to use the device?
These questions should have popped into your mind when you were using devices. In this article, I will throw some light on how to perform usability testing for embedded systems software.
What is Usability?
Usability is the ability to perform a particular action using software/hardware simply and understandably; in short, how easy user interfaces are to use. It is defined by five quality components: Learnability, Efficiency, Memorability, Errors and Satisfaction. You can learn more about usability in this link: Introduction to Usability.
What is Usability testing?
Usability testing refers to evaluating software from the end user’s perspective. It is conducted by observing how users use the software when providing some tasks to perform. The tasks are created in consideration with different usability attributes and conducted in sessions.
How is it applied in embedded systems?
Some specific usability testing attributes exist for embedded systems software .
It deals with an understanding effort from users to understand the logical concept and be able to apply it. This emphasizes a simpler understanding of the workflow used for the application used. A great example can be understanding the logic of different buttons used in the remotes of Smart TVs and air conditioners. Users need to know which button helps to tune the temperature in the air conditioner. Also, they need to know which button helps to configure the different modes in audio in the smart Television like cinema mode, movie mode, game mode and standard mode.
It deals with learning efforts from users to learn about the device based on their learning capacity. The best example is learning to use a smartphone. For old age people, it takes time to learn about it and for teenagers and children, it’s like a piece of cake for them.
It deals with operating the device, if it’s easy or difficult. A familiar example can be operating a laptop without a mouse and with a mouse. Some users find it easy to operate with a mouse, and some without a mouse.
It deals with how users can accomplish their tasks within time. A good example is using an automatic washing machine to wash clothes quickly.
It deals with the efficiency of the device under different conditions. It can be like using a smartphone under sunlight and a washing machine with a heavy load.
It deals with the user’s feeling of comfort and happiness on using the device. Smartphones can be a suitable example here. If users are not happy with using a particular smartphone brand, it can be a disaster for the business of that smartphone brand.
It deals with the safety of the device used. This attribute is essential for healthcare and factory-related devices. Medical-related embedded devices such as ECG, X-ray and industrial devices such as PLC, and the robotic arm are the most suitable examples for this case. All of these devices can harm humans and their surroundings if there is any problem with security due to the IOT network and malfunction of devices.
Tasks can be created based on these eight attributes and assigned to different users for performing the tasks. A few UI-related usability heuristics can also be considered, as most devices have their own UI . Also, an extensive checklist of usability factors can be used for assessing the usability testing sessions.
After reading this, I hope you also explore more about usability testing for embedded systems software. Also, I am eager to hear your thoughts and findings to learn more about them.
- Investigation into Usability Attributes for Embedded
- Software Test Attacks to Break Mobile and Embedded Devices (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)
- 10 Usability Heuristics