2 research outputs found
Available approaches to heuristic evaluation of smart-phone applications
Abstract. Usability heuristics are a lightweight tool for finding usability problems in a piece of software. These heuristics can be used for any kind of software, from desktop applications to web sites to games and to smart-phone applications. With the rise of smart phones and applications developed for them there has been a need to update the approach of heuristic evaluation to consider the limitations and new possibilities brought by smart-phone applications, when compared to more traditional desk-top applications.
In this bachelor’s thesis different these issues are discussed, and along this several lists of usability heuristics were identified and listed. In addition to listing out the current research on smart-phone application heuristics, these lists were compared against the issues that are specific to smart-phone applications. Research questions in this thesis are as follows:
RQ1: What guidelines / usability heuristics can be found that specifically target mobile device user interfaces?
RQ2: How do these heuristic lists consider the difficulties faced by smart-phone applications
Comparison of GUI testing tools for Android applications
Test automation is an intriguing area of software engineering, especially in Android development. This is since Android applications must be able to run in many different permutations of operating system versions and hardware choices. Comparison of different tools for automated UI testing of Android applications is done in this thesis. In a literature review several different tools available and their popularity is researched and the structure of the most popular tools is looked at. The two tools identified to be the most popular are Appium and Espresso. In an empirical study the two tools along with Robotium, UiAutomator and Tau are compared against each other in test execution speed, maintainability of the test code, reliability of the test tools and in general issues. An empirical study was carried out by selecting three Android applications for which an identical suite of tests was developed with each tool. The test suites were then run and the execution speed and reliability was analysed based on these results. The test code written is also analysed for maintainability by calculating the lines of code and the number of method calls needed to handle asynchrony related to UI updates. The issues faced by the test developer with the different tools are also analysed. This thesis aims to help industry users of these kinds of applications in two ways. First, it could be used as a source on what tools are over all available for UI testing of Android applications. Second, it helps potential users of these kinds of tools to choose a tool that would suit best their needs, depending on if they are most interested on test execution speed or in the easiness of developing a reliable test suite. The results of this study are the first benchmarking of these Android UI testing tools. From this thesis one can see how a few of the tools available fare up against each other in a small-scale study. Tau and Espresso share the first place in maintainability, since Tau requires the least amount of lines of code, but Espresso requires no waiting method calls to ensure synchronization of the UI. While Tau faced least general issues during the test suite development, Espresso is clearly the fastest of the tools and it attains highest level of reliability, so it seems to be the best choice of the tools