Page 123 - 《软件学报》2025年第5期
P. 123

郝蕊 等: 基于事件标记的多粒度结合安卓测试序列约减                                                      2023


                 于其环路很深, 嵌套了      5  层环路, 环路内进行了     7  次搜索才完成约减过程.
                    上述结果表明      TREC  算法的环路间约减重点作用于扁平结构环路, 去除大部分冗余事件, 而环路内约减则进
                 一步降低环路深度, 缩短最终序列, 二者相互配合, 对测试序列的有效约减均起到必要作用.

                 5   总 结
                    测试序列约减工作对于辅助自动化测试回放以及缺陷理解、修复具有重要意义, 但目前安卓测试序列约减工
                 作仅仅关注应用界面状态变化, 并且在单一粒度上对程序执行状态进行抽象, 造成其约减结果序列过长或约减效
                 率低下. 本文提出了基于事件标记的多粒度结合的安卓测试序列约减方法, 对测试序列中触发程序崩溃的关键事
                 件进行标记, 缩小搜索空间, 并实现了低粒度粗筛选、高粒度细约减的约减策略. 本文工作仅支持确定性崩溃缺
                 陷, 并且仅支持原测试序列约减, 不支持自主生成更短测试路径以满足不确定性崩溃缺陷复现要求, 此外, 本文工
                 作虽然涉及不同应用切换、应用内输入等复杂操作与场景, 但支持范围有限, 仍缺乏与系统设置、网络环境改变
                 有关的崩溃错误的支持, 我们将在未来工作中对其进行探索.

                 References:
                  [1]  Ceci L. Google Play: Number of available APPs as of Q3 2022. 2023. https://www.statista.com/statistics/289418/number-of-available-
                     apps-in-the-google-play-store-quarter/
                  [2]  Ceci  L.  Number  of  iOS  and  Google  Play  APP  downloads  as  of  Q1  2023.  2023.  https://www.statista.com/statistics/695094/quarterly-
                     number-of-mobile-app-downloads-store/
                  [3]  Khalid H, Shihab E, Nagappan M, Hassan AE. What do mobile APP users complain about? IEEE Software, 2015, 32(3): 70–77. [doi:
                     10.1109/MS.2014.50]
                  [4]  Su T, Fan LL, Chen S, Liu Y, Xu LH, Pu GG, Su ZD. Why my APP crashes? Understanding and benchmarking framework-specific
                     exceptions of Android APPs. IEEE Trans. on Software Engineering, 2022, 48(4): 1115–1137. [doi: 10.1109/TSE.2020.3013438]
                  [5]  Wei LL, Liu YP, Cheung SC. Taming Android fragmentation: Characterizing and detecting compatibility issues for Android APPs. In:
                     Proc. of the 31st IEEE/ACM Int’l Conf. on Automated Software Engineering. Singapore: ACM, 2016. 226–237. [doi: 10.1145/2970276.
                     2970312]
                  [6]  Android Developers. UI/application exerciser monkey. 2023. https://developer.android.com/studio/test/monkey
                  [7]  Amalfitano  D,  Fasolino  AR,  Tramontana  P,  De  Carmine  S,  Memon  AM.  Using  GUI  ripping  for  automated  testing  of  Android
                     applications. In: Proc. of the 27th IEEE/ACM Int'l Conf. on Automated Software Engineering. Essen: ACM, 2012. 258–261. [doi: 10.
                     1145/2351676.2351717]
                  [8]  Machiry A, Tahiliani R, Naik M. DynoDroid: An input generation system for Android APPs. In: Proc. of the 9th ACM Joint Meeting on
                     Foundations of Software Engineering. Saint Petersburg: ACM, 2013. 224–234. [doi: 10.1145/2491411.2491450]
                  [9]  Choi  W,  Necula  G,  Sen  K.  Guided  GUI  testing  of  Android  APPs  with  minimal  restart  and  approximate  learning.  ACM  SIGPLAN
                     Notices, 2013, 48(10): 623–640. [doi: 10.1145/2544173.2509552]
                 [10]  Mao K, Harman M, Jia Y. Sapienz: Multi-objective automated testing for Android applications. In: Proc. of the 25th Int’l Symp. on
                     Software Testing and Analysis. Saarbrücken: ACM, 2016. 94–105. [doi: 10.1145/2931037.2931054]
                 [11]  Su T, Meng GZ, Chen YT, Wu K, Yang WM, Yao Y, Pu GG, Liu Y, Su ZD. Guided, stochastic model-based GUI testing of Android
                     APPs. In: Proc. of the 11th ACM Joint Meeting on Foundations of Software Engineering. Paderborn: ACM, 2017. 245–256. [doi: 10.1145/
                     3106237.3106298]
                 [12]  Choudhary SR, Gorla A, Orso A. Automated test input generation for Android: Are we there yet? In: Proc. of the 30th IEEE/ACM Int’l
                     Conf. on Automated Software Engineering. Lincoln: IEEE, 2015. 429–440. [doi: 10.1109/ASE.2015.89]
                 [13]  Li C, Jiang YY, Xu C. GUI event-based record and replay technologies for Android APPs: A survey. Ruan Jian Xue Bao/Journal of
                     Software, 2022, 33(5): 1612–1634 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/6551.htm [doi: 10.13328/j.cnki.
                     jos.006551]
                 [14]  Zhong Y, Shi MY, Fang CR, Zhao ZH, Chen ZY. Towards comprehensive evaluation for Android automated testing tools. Ruan Jian Xue
                     Bao/Journal of Software, 2023, 34(4): 1630–1649 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/6701.htm [doi: 10.
                     13328/j.cnki.jos.006701]
                 [15]  Zeller A, Hildebrandt R. Simplifying and isolating failure-inducing input. IEEE Trans. on Software Engineering, 2002, 28(2): 183–200.
   118   119   120   121   122   123   124   125   126   127   128