摘要:Android应用异步消息执行顺序的不确定性是导致其不稳定的主要原因. 现有不稳定测试研究大多通过随机确定异步消息的执行顺序以触发不稳定测试, 其检测效果不佳且效率较低. 本文提出一种基于Happens-Before (HB)关系的Android应用并发不稳定测试检测方法, 通过分析Android应用测试用例执行轨迹中异步消息间的HB关系, 进而确定异步消息的可执行区间; 并设计最大差异化调度策略, 有指导性地确定异步消息执行顺序, 使调度后的测试执行轨迹上异步消息执行序与原测试执行轨迹差异最大化, 进而尝试改变测试执行结果, 检测测试的不稳定性. 为验证本文方法的有效性, 针对40个Android应用程序的50个不稳定测试用例进行实验, 实验结果表明, 本文方法可检测全部不稳定测试用例, 相比当前主流工具检测效果提升6%, 且平均检测时间缩短31.78%.