The role of HCI in Software Testing & Engineering

Human Computer Interaction and Software Engineering

In our previous two blogs, we have introduced Software Testing and Checklist for GUI testing.


So moving forward, here we would like explore some more things which are important but those are least noticeable factors in GUI testing.


HCI: HCI stands for Human Computer Interaction, the term is made up of three independent words which already has their own meaning i.e. Human + Computer + Interaction i.e. So Human is a living individual who is interacting to the object which a Computer machine.


Therefore, HCI describes the communication and interaction between user and Computer. That can be done be through several ways like video, audio, graphical etc. HCI is a process of information transfer from user to computer and computer to user. HCI is also called Man-Machine Interaction.


In our daily life, almost every person is interactive through machines and makes use of various devices which comes under HCI and fulfils the HCI Objective:



Physical products, like Computers, Mobile Phones, Laptop etc., while virtual products like software applications installed in a computer or laptop, websites, web application etc.



There can be various types of Human Computer Interaction:
1. GUI /UI Graphical User Interface
2. Command Line Interface
3. Touch sensitive Interface
4. Voice Driven Interface
5. Menu Driven Interface etc..


So with the above it is clear that to interact any software product we need an interface.


Interface: Interface is medium where two independent systems meets, action and communicate. In our perspective this is a point where a user can tells to the computer what to do through physical mediums like keyboard, mouse etc. and then computer output the requested operation through virtual mediums like softwares installed in the computer.


There are two types of Interfaces:
1. Command Line Interface (CUI)
2. Graphical User Interface (GUI)



CUI: Command line interface can be said as technical interface, where a user interacts with a computer machine through commands only. The best example is DOS and Linux / Unix based systems. It is very hard for a normal personal to interact with CUI can be only used by its expert or a technical person, a normal user is cannot interact through CUI.

GUI or UI: GUI stands for Graphical User Interface, it can also be referred as User Interface (UI). This is the most commonly used and adaptable interface for any of the software product. A graphical user interface allows an easy interaction between the user and software product or electronic machine.


A GUI consists of icons, menus, and other visual indicators which facilitate & guides the user.


The role of HCI in Software Testing

Actually the term ‘Software Testing’ should be referred here as ‘Software Engineering’.


As discussed in the article “How the HCI important for a software product?” When it comes upon software usability then Human interaction with any software product is most noticeable factor and the concept of HCI plays the important role. So a developer / designer should make a software as much as usable for user with easy & adaptable user interface so that a novice user can also get familiar in the shortest period of time.


So we realised that when a software product or a web application should be tested, the tester should think like an end user. Although a tester is also a Human being, so he should consider certain HCI parameters too while testing like GUI.


There are lots of benefits of engineering & testing a software product with HCI parameters in Software development Life cycle:


• Elevated user satisfaction
• Decreased training time and costs
• Greater system performance and dependability
• Improved efficiency and effective ability
• Quality performance


Many companies heavily focus their resources and time on just traditional & basic testing factors, but if HCI is considered during testing it can improve software development phases like planning, design & development, management, change control and maintenance.


The main focus of applying HCI practices in the testing phase is to find out how to improve the user satisfaction in terms of usability of a Software Product. As we think user experiences should kept in mind from the inception of any software product, not just after completing the product.


Interestingly, usability evaluation plays an important role in software testing when it has to do with Human-computer interaction. So the interaction between user and software product being tested with functionalities & Graphical user interface, it acts as a meaningful feedback that can be helpful in improving the overall quality of software product.


Hope you enjoyed this informative blog. Stay in touch with our website for more interesting and informative blogs.