Font Size: a A A

Design And Implementation Of Android UI Error Automatic Detection System

Posted on:2020-11-21Degree:MasterType:Thesis
Country:ChinaCandidate:M C JiFull Text:PDF
GTID:2428330623963777Subject:Software engineering
Abstract/Summary:PDF Full Text Request
In recent years,with the rapid development of the mobile internet,more and more applications have appeared in the application market.Android has attracted more developers because of its open source.However,due to the uneven level of developers,there are more and more inferior apps in the application market.In order to improve user experience and user adhesion,the App development team is particularly concerned with software testing,and Android automated testing is widely used to improve test efficiency and accuracy.Nowadays,because the main program logic of mobile app is mainly focused on UI display,the ratio of error generated in UI part is increasing,so Android UI automated testing technology is widely studied in industry and academia.At present,the automated UI test input generation technology is one of the research hotspots.Through this technology,testers can simulate user operations and generate test screenshots.In order to verify the correctness of the screenshots,manual review is required.Due to the large number of screenshots generated during the testing,the tester will inevitably experience fatigue and negligence during the reviewing process,resulting in inefficient testing.In order to save the labor and time cost of the tester reviewing the screenshots,and allow the tester identify the UI errors in the screenshot effectively,this paper designs and implements the UIChecker,an Android UI error automatic detection system based on machine learning.UIChecker utilizes two testing tools Maxim and UIAutomator2 from open source community to capture a large number of screenshots of the Android application at runtime and their layout files through automated and manual methods,and then extract the text and image features of the widgets to further construct error classification models for text-related and image-related widgets,in order to detect errors of these widgets.This paper gives the definition of text-intensive App and image-intensive App.UIChecker will build an adaptive error classification model for different types of App to improve the accuracy of detecting errors.This paper gives the definition of the symbiotic and the interdependence relationship between the widgets.UIChecker extracts the widget-pairs with parent-child relationship and sibling relationship in the screenshot,and uses the Wilson Score sorting algorithm to further extract the relative positional relationship,the symbiotic relationship and the interdependence relationship to generate the assertion tables,by analyzing the relationship between the widgets to detect more UI errors.In this paper,firstly,we selected five closed source Apps and five open source Apps,and manually injected some errors into these Apps.The experiment collected 31278text-related widgets and 15834 image-related widgets,and collected 255929 widgetpairs with parent-child relationships and 443980 widget-pairs with sibling relationships.The predictive accuracy on the test set of UIChecker for text and image components respectively reached at 97.85% and 96.46% on average.Secondly,a real-world App in the third-party application market was selected.UIChecker tested the screenshots of this App generated by the stress testing tool.For the UI errors discovered by humans,UIChecker performed well with an accuracy rate of 94.51%.This paper also evaluates the time performance of UIChecker.By using UIChecker,testers can greatly reduce the labor and time cost of manually reviewing the screenshots.
Keywords/Search Tags:automated UI testing, automated testing tool, UI error detection, machine learning, assertions
PDF Full Text Request
Related items