正交实验法在移动APP测试中的应用

2018-01-04 11:35宋菲刘波
计算机时代 2018年11期
关键词:移动应用测试用例

宋菲 刘波

摘 要: 移动应用已经广泛应用于各个行业和领域,为了适应日益激烈的市场竞争,需要在较短的迭代周期内对移动应用进行充分的测试。由于移动设备种类多,测试需要考虑的影响因素多,使得全面测试的工作量巨大。文章将正交实验设计法运用到移动应用测试中,探索在不影响测试效果的前提下减少测试次数的方法。首先分析待测试移动应用;然后确定正交表;最后构造有代表性的测试用例的集合。实践证明,在可用性测试中使用正交实验设计法,可以有效地减少测试工作量,缩短迭代周期。

关键词: 移动应用; 全面测试; 正交实验设计; 测试用例

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2018)11-49-03

Abstract: Mobile APPs have been widely used in various industries and fields. In order to adapt to the increasingly fierce market competition, mobile applications need to be fully tested in a short iteration cycle. Because of the variety of mobile devices, there are many factors that need to be considered in the APP testing,which makes test the workload of comprehensive testing huge. In this paper, the orthogonal experimental design method is applied to mobile APP testing to explore the method that reduces the number of tests without affecting the test results. The APP under test is analyzed firstly, then chooses an orthogonal table and constructs a typical set of test cases. The practice proved that the use of orthogonal experimental design in usability testing can reduce the test workload and shorten the iteration cycle.

Key words: mobile APP; full test; orthogonal experimental design; test case

0 引言

根据第41次中国互联网络发展状况统计报告,截至2017年底中国手机网民的规模达7.53亿。移动应用服务的用户量大,同质化竞争激烈,要求应用供应商能及时满足用户需求、快速发布版本。然而,移动设备的型号和品牌碎片化非常厉害,OpenSignal最新调查报告显示2015年仅Android手机的型号达到24093种。为了让移动应用能够在这些设备上稳定地运行,需要在发布前对应用程序进行充分的可用性测试。移动应用的可用性测试不可以照搬Web应用的测试方法,这是因为移动应用测试比Web应用测试更依赖设备的像素、屏幕尺寸、操作系统和设备品牌等,而Web应用的测试几乎不用考虑设备品牌这些因素对测试结果的影响[1]。由于目前移动设备的型号和品牌碎片化问题严重[2],在所有设备上进行可用性测试的工作量大,这就给移动应用的快速测试带来不小的挑战。

1 正交实验法的描述

1.1 算法概述

正交实验设计用于处理多因素水平组合的实验,是一种高效经济的實验设计方法。用正交设计表安排实验,实验次数对穷举法的全排列组合来说大大减少了,因为相对于全面实验而言,它需要执行部分的实验。但对其中任意两个因素来说,正交实验法又是具有相同重复次数的全面实验。正交实验设计法的原理是,可以用比全面实验法少得多的实验,取得能基本上反映全面情况的实验结果。对于Ln(tc)正交表而言,L为正交表的代号;n表示正交表有n行,也表示试验的次数;t为水平数;c为因子数,也就是可能安排最多的因素个数。正交表是正交实验设计的基本工具用于安排实验和分析实验结果,它是一种基于数理统计原理,由专家运用组合数学法经实验分析所创制的一套标准化的表格[3]。

正交实验法的特点是“整齐可比性,均衡分散性”[4]。整齐可比性,也就是同一张正交表上,每个因子、每个水平出现的次数相同,这使得测试结果可以用数理统计的方法进行比较;均衡分散性,任意两个列的水平配对是相同的,这保证了测试用例具有代表性。正是因为正交表具有这两个特点,所以可以用正交表来安排测试,可以用部分测试来代替全部测试,通过对部分测试结果的分析来了解全面测试的情况。

1.2 算法举例

对于3个因素A、B、C分别有3个取值的测试案例,全面测试需要测试27次,而用正交法[5]只需要测试9次,正交组合有三组,分别为:A1B1C1、A1B2C2、A1B2C3;A2B1C2、A2B3C1、A2B2C3;A3B1C3、A3B2C1、A3B3C2。从图1不难看出,任何一个面上都有3个点(图1中带叉的黑色圆点),而且任何一条线上都只有一个点,任何一个方向俯视正好覆盖9个点。由此可知,正交测试法设计的测试用例是最具有代表性的,能用最少的测试次数达到基本反映全面测试情况的效果。

2 正交实验法在移动APP测试中的应用实践分析

2.1 组合爆炸问题描述

碎片化导致测试组合爆炸。什么是测试组合爆炸?以美颜相机APP为例,可用性测试涉及品牌、前置摄像头像素、拍照特点、机身内存、APP功能等5个方面的因素,每个因素的选项有4~7个,如表1所示,穷举法的组合数高达6*4*5*4*5=2400个。假设每条测试用例执行时间为4分钟,每天工作8小时,则需要20天的时间才能完成这些组合测试。也就是说花20多天的时间,只完成了5个基本的功能的测试。可知,采用穷举法来解决组合测试的情况不可行,满足不了商业软件测试对速度的要求。因此,需要用新的测试方法来提高测试的效率,缩短测试工作时间。

2.2 正交实验测试用例

通过以上分析得知,在可用性测试中使用正交实验法设计测试用例,可以大大地减少测试用例的数目,减少工作量。下面以美颜相机的基础功能测试用例的设计过程,来演示正交实验法在移动APP测试中的应用。

美颜相机是一款把手机变自拍神器的APP,由美图秀秀团队倾力打造。为爱自拍的女生量身定制了智能美肌、自动上妆和萌拍等功能。對这些功能做可用性测试,需要用正交实验设计法来约简测试用例集,正交试验设计方法设计测试用例时主要包括以下几个步骤。

⑴ 确定因子数和水平数

根据拍照APP特定的测试需求,可用性测试一共考虑品牌、前置摄像头像素、拍照特点、机身内存和APP功能5个因素,因为这5个因素跟拍照功能相关性更大一些,其他因素像电池容量、多卡支持这些因素对拍照功能的影响不大。

⑵ 确定水平数

品牌这个因素要考虑6个取值,前置摄像头像素和机身内存要考虑4个取值,拍照特点和APP功能需要考虑5个取值,水平数在4到6之间不是一个确定的值,这给正交表水平数的确定带来困难。在水平数是6的情况下,6水平5因素的标准正交表不存在,不满足要求;在水平数是5的情况下,运用“正交实验设计助手”软件可以把5因素5水平的正交表转化成7因素3水平的正交表;再来看一看,在水平数是4的情况下,5因素4水平正交表,刚好有符合条件的标准正交表。选择3和4作为水平数都比较合适,但是3覆盖到的取值情况比4少,所以选择4为水平数更好。

⑶ 选择合适的正交表

正交表是正交实验设计的基本工具,它是通过运用数据理论在拉丁方和正交拉丁方的基础上构造而成的规格化的表。上述步骤根据因子数和最大水平数、最小水平数,选择一个测试次数少、覆盖多的最合适的正交表,也就是选定5因素4水平的正交表L16(45),L表示正交表,16是测试次数,4为水平数,5为因子数,如表2所示。

⑷ 利用正交表构造测试用例集

根据正交表,把每一行的各因素水平的组合作为一个测试用例,如表3所示。可以根据需要增加一些正交表中没有却可疑的测试用例。表3中“前置双摄”和“后置双摄”分别代表“前置双摄像头”和“后置双摄像头”。

3 测试效果分析

应用正交实验设计法,借助标准正交表可知需要设计16个测试用例,也就是测试执行16次。全面测试也就是用穷举法来设计测试用例,则需要设计2400个测试用例,进行2400次的测试。采用正交实验法,将工作量减少到原来的0.67%,从执行角度来看正交法已经具备可操作性。而且随着水平数和因子数的增多,正交法的效果会更加的明显。

4 结束语

移动APP产品同质化已经不可避免,产品质量是在市场中保持竞争优势的关键。移动应用测试是保证APP品质的有效的技术手段,测试用例设计又是移动应用测试的重要环节。本文把正交实验法应用到移动应用的测试中,从大量的测试用例中挑选合适的有代表性的条件组合,构造高质量的测试用例集,合理地安排测试。在保证测试效果的前提下,能有效地减少移动应用的测试工作量,节约测试成本。

参考文献(References):

[1] 成静.移动应用测试方法与关键技术研究[D].西北工业大学,2016:34-48

[2] 李楠楠.全对偶算法在移动应用软件测试中的应用研究[J].科技通报,2017.33(8):175-179

[3] 周新宇,吴志健,王明文.基于正交实验设计的人工蜂群算法[J].软件学报,2015.26(9):2167-2190

[4] 章晓勤.正交实验法在兼容性测试中的应用[J].武汉工程大学学报,2013.35(10):81-86

[5] 朱少民.软件测试:基于问题驱动模式[M].高等教育出版社,2017.

猜你喜欢
移动应用测试用例
基于SmartUnit的安全通信系统单元测试用例自动生成
基于MBD模型自动生成测试用例的软件测试方法
基于混合遗传算法的回归测试用例集最小化研究
T学校公共设施便捷报修平台的移动应用研究
云计算环境下的微课移动云平台设计
大数据时代下免费手机软件盈利模式探讨
基于需求模型的航天软件测试用例生成方法
基于APICloud的“校园健身达人”APP设计与实现
智能手机移动应用交互框架研究
移动互联网在防汛工作中的应用