Test Usability (Activity)
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:
|Learning Objectives||After successfully completing this activity, the learner should be able to:
|Process Skills Practiced|
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?
| ACM Body of Knowledge
Area & Unit(s)
|Environment / Materials|
Stewart Weiss, Marco Gerosa, Lin Deng
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Suggestions for Open Source Community
Suggestions for an open source community member who is working in conjunction with the instructor.