A Deviate-Based Prioritizing Technique for Regression Testing of Mobile Navigation Service

Journal of Northwestern Polytechnical University / Xibei Gongye Daxue Xuebao, Feb 2018

Mobile navigation service is an important and popular location-based services, which help to recommend routes for mobile users to their destinations. Modern mobile navigation service provides various navigation strategies and considers many complex situations, which make validation and verification of mobile navigation service becomes very difficult. In this paper, we present an approach to prioritize test cases for regression testing of mobile navigation Service. The approach is based on the assumption that there may be a failure if the user's actual route deviates from the navigation recommended route. In this paper, we analyze the mass mobile navigation logs, compare the recommended routes with the user travel routes, identify the deviation of the intersection point, and then priority regression test data by deviation. To evaluate our approach, we conduct a case study on a popular navigation software. By compare proposed prioritizing test approach with random test approach, the approach helps to improve test efficiency.随着现代移动导航服务的智能化发展,导航服务算法日益复杂,对其测试验证更为困难。探索基于偏离度的移动导航服务回归测试优先方法。该方法假设如果用户实际行驶路线偏离导航推荐路线,则可能存在移动导航服务故障。通过分析海量移动导航日志,比较导航服务推荐路径与用户行驶路径,识别导航区域和交叉点的偏离度,然后基于偏离度优先选择回归测试数据,帮助提高测试效率和质量。

A PDF file should load here. If you do not see its contents the file may be temporarily unavailable at the journal website or you do not have a PDF plug-in installed and enabled in your browser.

Alternatively, you can download the file locally and open with any standalone PDF reader:

https://www.jnwpu.org/articles/jnwpu/pdf/2018/01/jnwpu2018361p189.pdf

A Deviate-Based Prioritizing Technique for Regression Testing of Mobile Navigation Service

移动导航服务是一种基本的移动位置服务,能 动导航服务测试结果是其另一个难题。 够为用户推荐两个地理位置点之间的导航路径。 现 3)移动导航服务需要持续、敏捷的测试 代移动导航服务基于移动计算、云计算和大数据等 移动导航市场竞争激烈,移动导航服务商需要 新兴技术,为用户提供实时、智能化的移动导航服 不断完善地理基础数据,更新优化导航算法,以提高 务。 而随着移动导航服务的日益复杂,对其测试验 导航的准确性和用户满意度。 例如,“高德地图”大 证也极为困难和复杂。 面临的主要挑战与困难 约每 7~10 天发布一个新的软件版本。 因此,移动 如下: 导航服务需要持续化、敏捷的测试方法,以适应其版 1)移动导航服务测试工作量巨大 本的快速更新。 移动导航服务是提供两个地理位置点之间的路 目前,学术界开展了移动位置服务测试的研究 径导航,其地理位置区域极其广袤。 即使在有限区 与探索。 Gao 等[1]分析了移动位置服务测试的问题 域内,也存在成百上千的导航位置点和导航路线。 与挑战。 Akutif 等[2]分析了移动位置服务的功能测 因此,如何为移动导航服务生成、选择、优先测试数 试需求,提出了一种基于图模型的位置服务功能测 据,是移动导航服务测试的难点。 试方法。 Zhai 等[3] 提出了一种“兴趣点敏感”的位 2)移动导航服务测试结果难以评估 置服务回归测试用例优先算法。 Morla 等[4]提出了 移动导航服务结果会受到众多因素影响,例如 一种混合的位置服务测试与评估环境。 Nilsson[5]设 道路堵塞、交通事故、交通管制等。 即使相同的测试 计了一种位置服务测试平台。 张涛等[6] 则提出了 数据,在不同时间和场景下,也可能会获得不同的导 一种位置服务测试对象模型,描述了位置服务测试 航结果。 因此,传统的“正确与否”的软件测试结果 对象,以及其相互关系。 白晓颖等[7]应用模拟退火 评估方法不适用于移动导航测试服务,如何评估移 算法和贝叶斯分类器方法,生成位置服务的测试 - 数据。 部分。 在该区域内,包括交叉节点14 个{P1,P2,…, 与上述研究不同,本文针对移动导航服务测试 P14};导航路段 20 个,例如路段:(P1,P5)、(P5,P6) 的问题与挑战,探索基于偏离度的导航服务回归测 和(P6,P7); 导航路线 25 条, 例如: (S,P5,P6,P7, 试优先方法。 该方法基于假设:如果用户实际导航 P8,E),(S,P10,P11,P12,P13,E)。 有较多偏离推荐路径,则导航服务存在故障的概率 较高。 方法通过分析导航服务日志,统计导航偏离 度,优先选择具有较高偏离的回归测试数据。 1  移动导航服务测试模型 首先给出移动导航服务测试模型的相关概念的 基本定义。 定义 1  一个地理位置点 Pi 定义为其在地球表 面的经纬度坐标,即定义为:Pi = (li,ti)。 定义 2  导航区域 D 定义为包括其起点 Pi、终 2  基于偏离度的回归测试 图 1  移动导航区域示意图 点 Pj 和搜索半径 R 的矩形区域,即 D(Pi,Pj,R)。 定义3  在导航区域D(Pi,Pj,R) 内,对于某个 移动导航服务的用户数量庞大,积累了海量的 位置点 Ps,如果至少存在一条到起点 Pi 或者终点 Pj 用户导航服务日志数据。 通过对导航服务日志数据 的路线,则称 Ps 是导航区域 D(Pi,Pj,R) 内的可达 的挖掘分析,能够发现用户的实际运动轨迹与导航 位置点。 推荐路径之间的偏离,即用户实际路径与推荐路径 定义4  由2个位置端点(Pi 和Pj) 确定的线段 的偏离。 路径偏离的原因众多,例如因道路维修或 称为路段,记为 Si(Pi,Pj)。 这里路段是闭合的,即 交通事故等造成的导航路径的不可达、用户错过交 单个路段中没有其他岔路。 叉路口等。 通过对用户路径日志的分析,统计交叉 定义5  如果某个路段Si(Pi,Pj) 的2个端点Pi 路口偏离度,有助于发现可能存在的导航路径推荐 或者 Pj 是导航区域 D(Pi,Pj,R) 的可达位置点,则 错误,优先选择导航服务回归测试数据,提高移动导 称该路段是导航区域的可达路段。 航服务测试效率和质量。 定义 6  如果若干个路段 S1,S2,…,S k 有公共 偏离度包括 2 个度量指标:偏离率和偏离次数。 端点 Px,则称这些路段是交叉路段,其交叉点为 Px, 两者共同描述了移动导航服务出现路线推荐错误的 记为 Px = S1 ∧ S2 ∧ … ∧ Sk。 交叉点 Px 的交叉度 可能性。 其中,偏离率反映了导航路线偏离的概率, CP(Px) 定义为在该交叉点上相互交叉的路段数 即存在导航服务错误的可能概率;偏离次数则反映 量,即 CP(Px) =| {S1,S2,…,Sk} | 。 了存在导航偏离的置信度。 如果某个端点不是交叉点,则其交叉度为 1。 1) 导航点偏离度 定义7  路线Li 定义为由1 组m 个依次相连的 在移动导航服务中,假设某次导航服务推荐路 路段组成,记为Li =(S1,S2,…,Sm)。 线路中所含的 线为 Lj,用户实际通行的路线为 Lk,2 条路线在某个 路段数记为 NS(Li) =| {S1,S2,…,Sm} | 。 由于组成 交叉点 Px 后偏离,则该交叉点 Px 称为导航偏离点, 路线中的路段是相连的,即前一个路段的终点是下 记作:Px = Div(Lj,Lk)。 一个路段的起点,所以路线 Li 还可以记为 Li = (P0, 将某个时间段 T 内,在某个交叉点 Px 上用户路 P1,P2,…,P m,Pm+1)。 这里 P0 是第一个路段 S0 的 线偏离导航推荐路线的次数称为导航偏离次数,记 起点,而 Pm+1 是最后一个路段 Sm 的终点。 作 Ndp(Px)T。 定义8  在导航区域D(Pi,Pj,R) 内,若某条线 在导航过程中,通过统计时间段 T 内在某个交 路 Li 是以 Pi 为起点,以 Pj 为终点,则称该线路为区 叉点 Px 的偏离次数和导航推荐次数,即可按下列公 域内的一条可达路线。 式,计算该交叉点在时间 T 的偏离率: 在图 1 的导航示意图中,导航区域为图中虚线 第 1 期 Pdp(Px)T = NNdrpp((PPxx))TT (1) 户实际行驶数据,西安市区地图数据等,上述导航服 括:用户导航服务请求数据,导航推荐路径数据,用 式中, Nrp(Px)T 是交叉点 Px 在时间段 T 内被推荐的 务数据集共计约 150 万条。 导航次数。 在导航服务数据集中,首先根据用户标识对导 2) 导航路线偏离度 航推荐路径数据与用户实际行驶数据进行匹配,仅 导航路线偏离度描述了在导航推荐路线中,存 保留能与之匹配的导航服务数据。 然后,比较导航 在路径偏离的风险程度。 假设导航推荐路线为 Li = 推荐路径与用户实际路径,确定偏离点,并统计各个 (P1,P2,…,P m)。 其中,P1,P2,…,P m 是导航推荐 偏离点的导航次数、偏离次数和偏离度。 偏离度是 路线上的交叉点。 导航路线在时间段 T 内的偏离次 基于对历史导航数据统计得到,准确性依赖于大量 数 Ndl(Li)T 可由下式计算: 统计数据集。 因此,在实验中需要首先清除偏离次 m 数小而偏离率高的数据。 Ndl(Li)T = ∑j=1 Ndp(Pj)T (2) 城市道路情况更为复杂,本次实验中,选择测试 导航路线在时间段 T 内的偏离率 Pdl(Li)T 为: 城市市区内的导航服务情况。 由于城市道路密集, m 通过分析所提供的测试数据的推荐路径范围,设定 Pdl(Li)T = 1 - ∏j=1 (1 - Pdp(Pj)T) (3) 搜索半径 R 为 2.5 公里,计算测试数据的复杂性。     3) 导航区域偏离度 然后,分别根据导航线路偏离度、导航区域偏离 假设在导航区域 D(Ps,Pe,R) 范围内,包含的 度生成两个测试数据优先队列,计算所生成优先队 交叉点集为{P1,P2,…Pk,…Pm},则导航区域的偏 列的测试效率,并与随机测试数据队列的测试效率 离次数 Ndz(D)T 由下式计算: 进行对比分析研究。 为了分析测试数据集规模对测 m 试结果的影响,实验中测试数据集的大小分别设定 Ndz(D)T = ∑k=1 Ndp(Pk)T (4) 为:128,256,512,1 024。 并且对不同大小的数据 导航区域的偏离率 Pdz(D)T 由下式计算: 集,分别采样和重复实验 10 次。 m 2) 实验评价指标 Pdz(D)T = ∑k=m1 Ndp(Pk)T (5) 常用的测试数据优先评价指标,主要包括:故障 ∑Nrp(Pk)T 发现调和均值 ( harmonic mean of fault detection, k=1 Hmfd)和平均故障发现率(average percentage of fault     上述导航偏离度指标可以用于评估移动导航测 detection,Apfd)。 试数据发现导航服务错误的概率。 通常,偏离度越 Hmfd 是一种与测试数据集大小无关的度量指 高,则测试数据发现故障的几率越高。 标。 这里,假设 T 是一组测试数据集,包含 n 个测试 数据。 F 是由测试数据集 T 所发现的故障集,故障 3  实验验证 数量为 m。 Tfi 是测试数据集 T 中第一个发现故障 i 的测试数据的序号。 于是,Hmfd 的计算公式为: m 本节将以一个测试实例,验证所提出的基于偏 离度的移动导航服务回归测试方法的有效性,判断 Hmfd = T1 + T1 + … + T1 (6) 该方法是否有助于提高移动导航服务回归测试效率 f1 f2 fm 和测试质量,以及所提出的偏离度度量指标,是否具     Hmfd 可以用于评估测试数据优先方法的有效 有相同的效果,或者哪个指标效果更优。 性,其值越低,则测试数据集发现故障的效率越高。 1) 实验方法与过程 Hmfd 同样可以用于评估方法的有效性。 在实验中,通过与某地图导航公司合作,由其提 Apfd 是一种基于算术平均值统计测试数据集的 供该公司在西安市区的导航测试数据集,以及在西 故障发现效率。 Apfd 的计算公式如下: 安据市集区共 计1个包月含的2汽00车0导条航测服试务数数据据,在集其。中导航24测8条试数测 Apfd = 1 - Tf1 + Tnf2 ×+ m… + Tfm + 21n (7) 试数据中,总共发现缺陷 56 项。 导航服务数据集包     显然,平均故障发现率 Apfd受测试数据集大小 和其所包含故障数的影响。 并且其值越大,则表示 集下,所提出优先选择方法的故障发现效率。 测试数据发现故障效率越高。 3) 实验结果分析 例如,假设有一组测试数据集,共包含 10 个测 在随机生成 128、256、512、1 024 规模的测试数 试,总共发现了 3 个故障,并且这 3 个故障分别是在 据集下,分别按照最短路线偏离次数、最短路线偏离 前 3 个测试数据中被发现。 则其 Hmfd和 Apfd分别计 率、导航区域偏离次数、导航区域偏离率进行排序。 算如下: 再分别计算其优先排序后,测试数据队列的故障发 3 现调和均值 Hmfd和平均故障发现率 Apfd。 并与随机 Hmfd = 1 + 1 + 1 = 1.64 (8) 排序方法实验结果进行对比分析。 1 2 3 表 1 则对比了不同数据集下的故障发现调和均 Apfd = 1 - 1 1+0∗2+3 3 + 2∗110 = 0.85 (9) 值 Hmfd。 表 2 则对比了不同数据集下的平均故障发 现率 Apfd。 图 2 和图 3 分别显示了在不同大小测试     在实验中,将分别采用 Hmfd和 Apfd,评估所提出 数据集下,基于偏离度优先指标的故障发现调和均 优先方法的有效性。 并对比在不同规模的测试数据 值 Hmfd和平均故障发现率 Apfd的变化情况。 表 1  故障发现调和均值 Hmfd表 图 2  基于偏离度优先的 Hmfd图     实验结果表明,根据所提出的基于偏离度的优 先指标 排 序 的 测 试 数 据 集, 其 故 障 发 现 调 和 均 值 Hmfd 和平均故障发现率 Apfd 均明显优于随机算法生 成的测试数 据 集, 说 明 上 述 优 先 指 标 均 是 有 效 的。 基于路线偏离度优先的实验结果与基于导航区域偏 离度优先的实验结果相近,表明这 2 种优化指标相 近。 由于在实验中,已经过滤了低支撑度的偏离数 据,基于偏离次数和偏离率优化,其效果相近。 4  结  论 由于现代移动导航服务的智能化、个性化、开放 性、实时性等特征,使得其测试验证尤为困难。 本文 探索基于偏离度的移动导航服务回归测试方法,通 过对导航日志数据的统计,分析导航区域、交叉点的 偏离度,然后基于偏离度优先选择测试数据,提高回 归测试效率,更早发现软件故障。 下一步,将研究如 何从海量导航日志数据中,自动分析识别真实导航 偏离和虚假导航偏离。 参考文献: [1]   Gao Jerry, Bai X, Tsai W T, et al. Mobile Application Testing: A Tutorial[ J] . IEEE Computer, 2014, 47(2) : 26⁃35 [2]   Aktouf O E, Zhang Tao, Ga Jerry, Tadahiro Uehara. Testing Location⁃Based Function Services for Mobile Applications[ C] ∥ Proc of the IEEE Symposium on Sewsces⁃Orented System Engineering, 2015: 564⁃572 [ 3]   Zhai Ke, Jiang Bo, Chan W K. Prioritizing Test Cases for Regression Testing of Location⁃Based Services: Metrics, Techniques, and Case Study[ J] . IEEE Trans on Services Computing, 2014, 7(1) : 54⁃67 [4]   Morla R, Davies N. Evaluating a Location⁃Based Application: a Hybrid Test and Simulation Environment[ J] . IEEE Pervasive Computing, 2004, 3(3) : 48⁃56 [5]   Nilsson J. A Platform for Testing and Evaluating Location Based Services[ D] . Luleå, Sweden Luleå University of Technology, 2005 [ 6]   Zhang Tao, Gao Jerry, et al. Test Model and Coverage Analysis for Location Based Mobile Services[ C] ∥Proc of the 27th Inter⁃ national Conference on Software Engineering and Knowledge Engineering, 2015: 348⁃356 [7]   侯可佳, 黄军, 白晓颖, 等. 一种位置服务测试数据生成技术研究[ J] . 计算机学报, 2016,39(11) :1⁃15 Hou Kejia, Huang Jun, Bai Xiaoying, et al. Geographical Data Generation for Testing Location⁃Based Services [ J] . Chinese Journal of Computers,2016,39(11) :1⁃15 ( in Chinese) Abstract: Mobile navigation service is an important and popular location⁃based services, which help to recommend routes for mobile users to their destinations. Modern mobile navigation service provides various navigation strategies and considers many complex situations, which make validation and verification of mobile navigation service becomes very difficult. In this paper, we present an approach to prioritize test cases for regression testing of mobile navigation Service. The approach is based on the assumption that there may be a failure if the user's actual route deviates from the navigation recommended route. In this paper, we analyze the mass mobile navigation logs, compare the recom⁃ mended routes with the user travel routes, identify the deviation of the intersection point, and then priority regres⁃ sion test data by deviation. To evaluate our approach, we conduct a case study on a popular navigation software. By compare proposed prioritizing test approach with random test approach, the approach helps to improve test efficien⁃ cy. Keywords: mobile testing; mobile navigation service; prioritizing test data; regression testing; design of experi⁃ ments; fault detection


This is a preview of a remote PDF: https://www.jnwpu.org/articles/jnwpu/pdf/2018/01/jnwpu2018361p189.pdf

Jing Cheng, Tao Zhang, Jingbo Zhang, Haipeng Wang, Qin Xu. A Deviate-Based Prioritizing Technique for Regression Testing of Mobile Navigation Service, Journal of Northwestern Polytechnical University / Xibei Gongye Daxue Xuebao, 2018, 189-194, DOI: 10.1051/jnwpu/20183610189