Scheller, T. (2014). An automated measurement method for the usability of APIs : and its application in the area of middleware [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2014.26421
Usability ist ein wichtiger Qualitätsaspekt für jede Art von Software. Software, die einfach zu verwenden ist, erhöht die Produktivität, verringert Kosten und vermeidet Fehler. Schwierig zu verwendende Software führt zu Frustration und Ablehnung. Um User Interfaces auf Ihre Benutzbarkeit hin zu überprüfen, werden Usability Tests daher immer mehr zum integralen Bestandteil eines jeden Softwareentwicklungsprozesses. Für eine spezielle Art von User Interface ist dies jedoch leider noch kaum der Fall: Application Programming Interfaces (APIs). APIs werden von SoftwareentwicklerInnen verwendet, um auf die Funktionalität von externen Softwarebibliotheken zuzugreifen, welche sie verwenden, um Ihre eigene Software zu bauen. Eine immer größer werdende Anzahl solcher APIs ist für verschiedenste Aufgaben verfügbar, wie z.B. Logging, Datenbankzugriff oder Unit Testing. Viele EntwicklerInnen verwenden täglich solche APIs, was deren Usability zu einem wichtigen Aspekt macht. Während bereits viele verschiedene Methoden zur Messung von Usability existieren, wie zum Beispiel Heuristic Evaluation und Thinking Aloud, sind die meisten dieser Methoden leider nicht einfach zu verwenden: Sie erfordern Usability-Experten für die Evaluierung, und oft auch ein bereits voll funktionsfähiges Produkt, sowie ein gut ausgestattetes Usability Test Labor. All dies macht Tests sowohl Kosten-, als auch Zeit-aufwändig. Ziel der vorliegenden Arbeit die Behandlung dieser Probleme durch die Definition einer automatisierten und objektiven Usability Messmethode für APIs. Sie erlaubt es, dem/der EntwicklerIn schnell und früh Rückmeldung über die Usability ihrer/seiner APIs zu geben, und hilft dadurch, teure Anpassungen in späteren Entwicklungsphasen zu vermeiden. Durch die Berechnung vergleichbarer Usability-Werte ist es weiters möglich, verschiedene APIs objektiv zu vergleichen. Da keine Experten für die Auswertung notwendig sind, kann die Methode auch von Entwicklern angewendet werden, die keine Erfahrung in diesem Bereich besitzen, oder sich keine aufwändigen Tests leisten können. %All dies macht die Methode zu einer sinnvollen und nützlichen Ergänzung zu vorhandenen Usability Messmethoden. In der vorliegenden Arbeit zeigen wir mit einer ausführlichen Literaturrecherche, dass eine solche Methode noch nicht existiert. Darauffolgend führen wir zwei Usability Studien durch, um Faktoren zu finden, die die Usability von APIs beeinflussen. Wir untersuchen außerdem existierende Studien, Richtlinien und Berichte über API Usability. Aus den Ergebnissen extrahieren wir messbare Konzepte und Eigenschaften, welche wir mittels statistischer Auswertungsmethoden evaluieren. Basierend darauf erstellen wir eine automatisierte Usability Messmethode. Abschließend verwenden wir die neu entwickelte Methode, um APIs im Bereich Kommunikations-Middleware zu bewerten, und präsentieren eine Middleware mit optimierter Usability. Wir zeigen, dass die Methode nützlich ist, um die Usability von APIs zu bewerten, zu vergleichen und zu verbessern.
de
Usability is an important quality factor for every kind of software product. Usable software increases productivity and reduces cost and errors, while software that is difficult to use causes worry and frustration, and discourages further use. Because of that, usability tests have become an integral part in the development of software products that provide any kind of user interface. For the special area of application programming interfaces (APIs), this is unfortunately not yet the case. APIs are used by developers to access the functionality of external software libraries, which they want to utilize when writing their own software. A large and rapidly growing number of such APIs is available for a variety of tasks, e.g. for logging, database access or unit testing. So, many developers are using APIs on a daily basis, which makes their usability an important attribute. While many methods have already been introduced for measuring usability, like Heuristic Evaluation and Thinking Aloud, most of these methods are themselves not easy to use: They require experienced evaluators, and the results also strongly depend on their opinions. Many methods require an already fully functional product, and a usability lab with sufficient equipment is needed for running user tests. This makes tests cost- and time-expensive. %Evaluating the usability of an API would also be useful for getting a decision factor when to use one of multiple available external APIs. But existing tests require too much effort to make a comparison, and also the results are mainly suggestions for where improvements could be made, but are hard to quantify. The goal of this thesis is to treat these problems, by creating an automated and objective API usability measurement method. It is based on evaluating the API structure as well as API usage examples. By providing an API developer with fast initial response to the designs of his/her APIs, it can help to avoid costly changes in late development stages. Further, by calculating comparable usability values it allows to objectively compare the usability of different APIs. Because no experienced evaluators are needed, the method can also be used by developers that are inexperienced in this area, or cannot afford costly usability tests. All this makes the method a useful addition to existing usability measurement methods. In this thesis, we conduct a comprehensive literature review of existing usability evaluation methods as well as automated software metrics, to show that such a method does not yet exist. We then conduct two usability studies to find factors influencing usability that can be measured automatically. We also review existing studies, guidelines and reports about API usability problems to find potential usability factors. From the resulting data, we extract measurable concepts and properties, using statistical evaluation methods. We then construct an automated usability measurement method based on these properties, called the ``API Concepts Framework''. Finally, we apply the framework to APIs in the area of communication middleware, and present a middleware that is optimized for usability. We show that the results provided by the framework are valid and provide useful information for rating, comparing and improving and API's usability.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in dt. Sprache