Font Size: a A A

Fusing Dynamic And Static Program Analysis For Guiding Mobile Crowdsourced Testing

Posted on:2020-03-20Degree:MasterType:Thesis
Country:ChinaCandidate:X ZhangFull Text:PDF
GTID:2428330575452512Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
Android mobile applications occupy most of the market with the rapid and iter-ative development mode.The fragmentation of Android system and the diversity of application scenarios pose new challenges to the quality of mobile applications.Auto-mated testing and crowdsourced testing are two effective complementary approaches to solve the dilemma of mobile applications' quality.However,the current crowdsourced testing still has some problems,like unsupervised process and uneven professional quality,so it is necessary to introduce guiding technology to further improve efficien-cy.This paper proposes a technology of guiding mobile crowdsourced testing based on fusing dynamic and static program analysis.Automated testing framework from MoocTest is used as dynamic analysis.Based on runtime logs and component traver-sal,application scenarios triggering exceptions are extracted to guide crowd workers to recurrence exceptions on different devices and in various circumstances.GATOR,an Android GUI static analysis tool,is selected to analyze the GUI changes from the aspects of context-dependent control flow path in source code,without running applica-tions.Static analysis gets GUI changes from source code.Window transactions which are uncovered by automated testing can be extracted by comparison to guide worker-s to explore new exceptions.This technology tracks the completion of test tasks,and implements personalized recommendations for test tasks.The recommendation system use different approaches to calculate paths from current window according to different types of test tasks.Paths triggering exceptions are calculated based on pre events,se-quence,while uncovered window transactions use the shortest path calculation.Using information combined with the screenshots and text,workers are guided to execute the sequence of operation events in a single window transaction,quickly completing test tasks.At the same time,the test task recommendation system guides workers to form a collaborative relationship,filtering the test tasks that have been completed for several times and balancing the overall test effect.This paper has carried out experiments on three Android applications,namely"jiandou","jilebu" and "QQ vedio".The experiments include unguided crowdsourced testing,dynamic and static program analysis guided crowdsourced testing,and crowd-sourced testing only with guidance from automated testing.Results show that the crowdsourced testing under the guidance from the dynamic and static program analysis can trigger an average of about 30%more exceptions than the unguided crowdsourced testing,among which the unverified exceptions are reduced by 50%more.The tech-nique proposed in this paper improves code coverage by more than 20%compared to crowdsourced testing only with guidance from automated testing.The results show the necessity of introducing static analysis of Android GUI.A survey of crowd workers shows that 86%of them are satisfied with the recommendation system.
Keywords/Search Tags:Crowdsourced testing, Automated testing, Static analysis, Recommendation system, Test guidance
PDF Full Text Request
Related items