Masterarbeit / Bachelorarbeit
Measuring UI complexity through analysis of UI Tests
Research Area
Advisers
Dr.-Ing. Sebastian Heil
Description
Determining User Interface (UI) complexity is an important building block for engineering good frontends. It enables a systematic approach of iteratively building, evaluating, and improving user interfaces to optimize them towards a cognitive load suitable for the intended users. Automatic computation of complexity, reducing the need for expensive and time-consuming empirical evaluations with human users, is the key enabler for a high results quality and efficiency of this process, as it allows for high evaluation frequency and therefore for smaller increments being created more often. Existing approaches focus on analysis of the visual aspects of UIs or their representation in source code or the DOM. However, complexity lies not only in the static aspects of users perception of a UI, but also in the user interaction. Tracking user interactions on live versions of the user interface requires test users or an established production system in use. Modeling the interactions externally using approaches like GOMS or KLM, allows user-less analysis, but requires additional effort for the creation of the interaction models. Thus, an automatic approach for measuring UI complexity that is based on available artifacts only, but takes interaction into account is required.
This thesis investigates analyzing UI tests for measuering UI complexity. Other available artifacts can be taken into account, but the main source of information should be the UI tests by applying suitable analysis methods. Different aspects need to be considered both in isolation and combined, such as amount of tests, their length, the size of fixtures, content of the tests, potential mappings onto GOMS/KLM, and their execution time and log outputs when the UI tests are run automatically on the user interfaces by a test runner. The prediction quality has to be compared to existing approaches and ground truth data from test subjects through experimentation with UIs of different degrees of complexity.
The objective of this thesis is the creation of a solution or the combination of existing techniques to solve the problem of measuring UI complexity through analysis of UI Tests as described above. This comprises the analysis of the state of the art of UI complexity analysis as well as the demonstration of the solution by prototypical implemetation and a suitable evaluation based on experimentation as outlined above.
Description (German)
Die Bestimmung der Komplexität von Benutzeroberflächen (UIs) ist ein wichtiger Baustein für die Entwicklung guter Frontends. Sie ermöglicht einen systematischen Ansatz zur iterativen Erstellung, Bewertung und Verbesserung von Benutzeroberflächen, um sie im Hinblick auf eine für die vorgesehenen Benutzer geeignete kognitive Belastung zu optimieren. Die automatische Berechnung der Komplexität, die teure und zeitaufwändige empirische Evaluierungen mit menschlichen Nutzern überflüssig macht, ist der Schlüssel zu einer hohen Ergebnisqualität und Effizienz dieses Prozesses, da sie eine hohe Evaluierungsfrequenz und somit die Erstellung kleinerer Inkremente in kürzeren Abständen ermöglicht. Bestehende Ansätze konzentrieren sich auf die Analyse der visuellen Aspekte von UIs oder deren Darstellung im Quellcode bzw. im DOM. Die Komplexität liegt jedoch nicht nur in den statischen Aspekten der Wahrnehmung einer Benutzeroberfläche, sondern auch in der Benutzerinteraktion. Die Aufzeichnung und Analyse von Benutzerinteraktionen auf Live-Versionen der Benutzeroberfläche erfordert Testbenutzer oder ein bereits etabliertes Produktivsystem im Einsatz. Die externe Modellierung der Interaktionen mit Ansätzen wie GOMS oder KLM ermöglicht eine nutzerunabhängige Analyse, erfordert aber zusätzlichen Aufwand für die Erstellung der Interaktionsmodelle. Daher wird ein automatischer Ansatz zur Messung der UI-Komplexität benötigt, der nur auf verfügbaren Artefakten basiert, aber die Interaktionsdimension dennoch berücksichtigt.
Diese Arbeit untersucht die Analyse von UI-Tests zur Messung der UI-Komplexität. Andere verfügbare Artefakte können berücksichtigt werden, aber die Hauptinformationsquelle sollten die UI-Tests sein, indem geeignete Analysemethoden angewendet werden. Verschiedene Aspekte müssen sowohl isoliert als auch in Kombination betrachtet werden, wie z.B. die Anzahl der Tests, ihre Länge, die Größe der Fixtures, der Inhalt der Tests, potentielle Mappings auf GOMS/KLM, und ihre Ausführungszeit und Logausgaben, wenn die UI Tests automatisch auf den Benutzeroberflächen durch einen Test-Runner ausgeführt werden. Die Vorhersagequalität soll mit bestehenden Ansätzen und Ground-Truth-Daten von Testpersonen durch Experimente mit UIs verschiedener Komplexitätsgrade verglichen werden.
Das Ziel dieser Arbeit ist die Entwicklung einer Lösung bzw. die Kombination bestehender Techniken, um das Problem der Messung von UI-Komplexität durch die Analyse von UI-Tests wie oben beschrieben zu lösen. Dies umfasst sowohl die Analyse des Standes der Technik bezüglich der UI-Komplexitätsanalyse als auch die Demonstration der Lösung durch prototypische Umsetzung und eine geeignete Evaluierung auf der Basis von Experimenten wie oben skizziert.