Font Size: a A A

Automated Testing For Android Applications Based On Dynamic Search Strategy

Posted on:2019-09-18Degree:MasterType:Thesis
Country:ChinaCandidate:Z N LiFull Text:PDF
GTID:2428330596460915Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Dynamic exploration techniques,which dynamically explore the user interface state space of an Android application,can be used to build the GUI test model and then generate test cases,hence testing Android applications automatically.However,traditional DFS strategy cannot effectively handle the GUI loop problem,resulting in the loss of some GUIs and incomplete model.Moreover,using data generated randomly or data setted by testers to fill out the forms of Android applications during exploration leads to insufficient form tests.As for problems,this paper proposes a record stack-based depth-first model search strategy,which uses a stack to record the discovered GUIs and identifies the GUI loop problem,avoids the loss of GUI state,and ensures model integrity.In addition,this paper also proposes a constraint-based pairwise combination method to generate test data,which performs constraint analysis on form parameters of android applications,uses equivalence class division methods to determine parameters values,and achieves covering any pairwise combinations of parameters values,prevents the generation of invalid test data,effectively improves the sufficiency of form tests.Based on the above ideas,we have implemented a tool for testing Android applications automatically called FectDroid.And empir ical study is conducted on 30 open source Android applications.The results show that:(1)The record stack-based depth-first model search strategy can improve integrity of the GUI model,covering 85.6% nodes and 77.4% edges in model generated manually,which is much higher than typical DFS model search strategy;(2)The constraint-based pairwise combination method can generate fewer test cases,compared to typical pairwise combination method,the number of test cases is reduced by 15.5%,and cover more node and edge in GUI model generated manually,which has better test effect than other combination methods overall;(3)Compared to state-of-the-art testing tools,the node coverage achieved by FectDroid increased by an average of 55.88%,the edge coverage increased by an average of 48.4%,which mainly attributes to the GUI model built by FectDroid uses the GUI of screen as a node and handling the GUI loop problem effectively,and the code coverage rose by an average of 23.2%,which mostly due to the test data generation method used by FectDroid can effectively cover different parameters values;(4)Compared to state-of-the-art testing tools,the number of errors detected by the FectDroid in a reasonable amount of time is 75,far more than the number of errors detected by other tools,indicating that FectDroid has better error detection capabilities.
Keywords/Search Tags:Android applications testing, search strategy, combinatorial testing, automated testing
PDF Full Text Request
Related items