Test Usability (Activity)

From TeachingOpenSource


An HFOSS Learning Module for a CS2 Course or a Software Engineering Course


Students will learn HFOSS concepts and principles, as well as the principles of usability design and evaluation. Then, students will perform and document usability tests of the OpenMRS user interface, or other HFOSS user interface.


Students should be familiar with:

  • Principles of usability testing.
  • Techniques or methods of usability testing.
After successfully completing this activity, the learner should be able to:
  • Contribute to open source communities.
  • Do usability tests for a given HFOSS.
  • Understand the relationship between user interfaces and underlying objects.
Process Skills

Critical Thinking, Communication, Teamwork


Is there background reading material?

Because we assume students know nothing about HFOSS, we will provide a sequence of readings to give them background knowledge. The background reading will start with articles describing: Background of HFOSS

  • what open source is
  • the concept of community
  • the various ways in which one can contribute
  • the concepts of issues, bugs, and tickets
  • (maybe other things we will discover as we work this out)

Background of Software Usability and Usability Evaluation

  • Eight golden rules of UI design
  • Principles, rules, and methods of UI evaluation

Are there other activities the student should have done first?

Students will not have to do any activities prior to the assigned ones.

What is the rationale for this activity?

Students in a typical CS2 course have little or no knowledge of FOSS or HFOSS and only elementary coding and software design ability, and do not necessarily know the programming languages in which various (H)FOSS projects are written, but we would like to give them a sufficiently interesting and productive experience in HFOSS so that they will be motivated to become more active in HFOSS projects as they progress in their careers. We believe that introducing HFOSS in a CS2 course is beneficial because they will then be prepared and hopefully motivated in more advanced courses to contribute in more advanced ways.

(Update for Software Engineering course)
Usability testing and evaluation is a very important step in software development lifecycle (SDLC). Giving students an opportunity to apply the principles, rules, and methods of UI design and evaluation to actually testing the UI of a project is a very promising in-class or after class activity in Software Engineering course.


What should the student do?

1. Rank the three crucial usability criteria below, and justify.

  • Time to learn
  • Speed of performance
  • Avoiding user errors


What will the student hand in?


  • How will the activity be graded?
  • How will learning will be measured?
  • Include sample assessment questions/rubrics.
Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
The purpose of the project
Why the project is open source


  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?
Area & Unit(s)
Estimated Time
to Complete
Environment /

Stewart Weiss, Marco Gerosa, Lin Deng


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC BY SA.png

Suggestions for Open Source Community

Suggestions for an open source community member who is working in conjunction with the instructor.