Techniques from the HCI (Human-Computer Interaction) field have been used for the development of usable software products for a long time, but their use is often not integrated with software engineering practices The role of usability evaluation as it relates to Human-computer interaction cannot be underestimated, the Software development process consists of an interconnected set of essential ingredients such as the analysis, requirement specification, design, implementation, testing, and maintenance phases. Interestingly, usability evaluation plays a vital role in software testing. However, when it has to do with Human-computer interaction, the interaction between users of the software being tested and the functionalities of the software's Graphical user interface will help provide meaningful feedback that can be instrumental at improving the overall quality of such software. The main task of usability and human computer interaction testing is to evaluate how easy it is for end users to learn and to use the software. In general, it may involve testing the software functions that supports user tasks, documentation that aids users, and the ability of the system to recover from user errors, the first evaluation method is heuristic which is a usability inspection method for computer software that helps to identify problems in the user interface design, its consider to be cheaper to implement, second method is the cognitive walkthroughs used to identify usability issues in a piece of software or on a website, the method is prized for its ability to generate results quickly with low cost compared to usability testing Usability testing is the process by which the human-computer interaction characteristics of a system are measured and weaknesses are identified for correction. Several approaches lead to better system for example observational methods