Software Quality and Usability
Usability is a quality characteristic that describes how easily software can be understood, learned, and used by its users.
In a Nutshell
Usability means that software is intuitive, efficient, and satisfying to use. Key factors: UX design, accessibility, user testing, feedback loops.
Technical Overview
Usability is a quality characteristic defined in ISO 25010 that describes how easily software can be understood, learned, and used by its users. It encompasses usability itself (effectiveness, efficiency, satisfaction), accessibility, and user experience (UX). Usable software reduces training costs, errors, and dropout rates.
Usability Principles
1. Effectiveness
Can users accomplish their goals?
// Poor: Goal unclear
<button>OK</button>
// Good: Goal clear
<button>Complete Order</button>
2. Efficiency
Can users reach their goals quickly?
// Poor: Too many clicks
Dashboard → Settings → Account → Change Password
// Good: Direct access
Settings → Change Password
3. Satisfaction
Is the experience pleasant?
// Poor: No feedback
await saveData();
// Good: With feedback
await saveData();
showNotification('Data saved!');
Accessibility
WCAG Principles
| Principle | Description | Example |
|---|---|---|
| Perceivable | Content is perceptible | Alt text for images |
| Operable | Users can navigate | Keyboard navigation |
| Understandable | Content is clear | Plain language |
| Robust | Works with assistive tech | Screenreader compatible |
Examples
<!-- Poor: No alt text -->
<img src="chart.png" />
<!-- Good: With alt text -->
<img src="chart.png" alt="Revenue growth 2024: +15%" />
<!-- Poor: No label -->
<input type="text" />
<!-- Good: With label -->
<label for="email">Email</label>
<input type="text" id="email" />
<!-- Poor: No focus management -->
<button onclick="openModal()">Open</button>
<!-- Good: With focus management -->
<button onclick="openModal()" aria-expanded="false">Open</button>
User Testing
Methods
| Method | Description | When |
|---|---|---|
| Usability Testing | Observe users performing tasks | Design phase |
| A/B Testing | Compare variations | Development |
| Heuristic Evaluation | Expert review | Anytime |
| Surveys | User questionnaires | Post-launch |
Example Test
// Usability test: Registration
const testScenarios = [
{
task: 'Create a new account',
steps: [
'Click Register',
'Fill out form',
'Confirm email'
],
successCriteria: 'Completed in < 2 minutes'
}
];
UX Design Principles
Jakob’s Law
Users behave in ways they’re already familiar with from other websites.
// Poor: Unfamiliar pattern
<button>Proceed to next stage</button>
// Good: Familiar pattern
<button>Continue</button>
Fitts’s Law
The time to reach a target depends on its size and distance.
// Poor: Small button far away
<button style="padding: 4px; margin-left: 500px">Submit</button>
// Good: Large button close by
<button style="padding: 16px; margin: 8px">Submit</button>
Hick’s Law
Decision time increases with the number of options.
// Poor: Too many options
<select>
<option>Option 1</option>
<option>Option 2</option>
<!-- 20 more options -->
</select>
// Good: Grouped options
<select>
<optgroup label="Category A">
<option>Option 1</option>
</optgroup>
<optgroup label="Category B">
<option>Option 2</option>
</optgroup>
</select>
Best Practices
- Progressive Disclosure: Reveal information gradually to avoid overwhelming users
- Consistency: Maintain unified design patterns
- Feedback: Provide immediate responses to user actions
- Error Prevention: Prevent errors rather than just reporting them
- Accessibility: Comply with WCAG 2.1 AA standards
Key Takeaways for Review
- Usability according to ISO 25010: effectiveness, efficiency, satisfaction
- WCAG principles: Perceivable, Operable, Understandable, Robust
- UX principles: Jakob’s Law, Fitts’s Law, Hick’s Law
- User testing: Usability testing, A/B testing, heuristic evaluation
- Accessibility: Screenreaders, keyboard navigation, alt text
FAQ
1. What is usability?
2. What does usability mean?
3. What is accessibility?
4. What is WCAG?
5. What is Jakob’s Law?
6. What is Fitts’s Law?
7. What is Hick’s Law?
8. What is user testing?
9. What is A/B testing?
10. What is heuristic evaluation?
11. What about alt text for images?
12. What is keyboard navigation?
13. What is progressive disclosure?
14. What about screenreader compatibility?
15. What’s the difference between UX and usability?
Continuing Your Software Quality Learning Path
All articles in the software quality learning path are now complete. Return to the Software Quality Learning Path Overview.
Sources
- https://iso25000.com/index.php/en/iso-25000-standards/iso-25010.html
- https://www.w3.org/WAI/WCAG21/quickref/
- https://www.nngroup.com/articles/ten-usability-heuristics/
Recommended Books on Software Quality
To deepen your understanding of usability, UX, and software quality, we recommend the following books:
Software Engineering
Books about software quality, clean code, code reviews and software development processes
Clean Code: A Handbook of Agile Software Craftsmanship von Robert C. Martin
Bei Amazon ansehenAffiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.
The Pragmatic Programmer: Your Journey to Mastery von David Thomas, Andrew Hunt
Bei Amazon ansehenAffiliate-Link: Bei einem Kauf erhalten wir möglicherweise eine Provision.




