APP下载

基于优化Markov链使用模型的电子商务平台可靠性测试

2018-01-02周晓光杨萌柯

软件 2017年12期
关键词:可用性可靠性概率

李 唤,周晓光,邢 颖,杨萌柯,潘 彦

(北京邮电大学自动化学院 教育部信息网络工程研究中心,北京 100876)

基于优化Markov链使用模型的电子商务平台可靠性测试

李 唤,周晓光,邢 颖,杨萌柯,潘 彦

(北京邮电大学自动化学院 教育部信息网络工程研究中心,北京 100876)

近年来,随着互联网的迅猛发展,国内外消费者习惯发生了翻天覆地的改变,电子商务在消费市场上扮演着越来越重要的角色。电子商务平台作为电子商务的基础设施,支撑电子商务业务中信息流、货物流、资金流的正常流转,其可靠性高低对于电子商务有重要意义。本文,首先利用简化的可用性测试对Markov链使用模型进行优化,然后利用优化后的 Markov链对电子商务平台实例进行建模示范。本文中提出的优化的 Markov链使用模型,融合时下互联网行业的可用性测试,通过可用性测试获得符合实际使用场景的转移概率,建立的可靠性测试使用模型更有现实参考价值。该模型指导的可靠性测试能保证电子商务平台运行稳定,电子商务业务顺利进行,是电子商务发展的重要前提。

电子商务平台;Markov链;使用模型;可用性测试;可靠性测试

0 引言

在计算机技术、互联网迅速发展的大背景下,国内外消费者的个人消费习惯发生改变,电子商务成为市场主力军之一。据eMarketer公司数据显示,2013年,美国有73%、日本78.3%、西欧地区有72.3%的网民已经转化为电子商务用户,亚太地区网购用户与互联网用户之比较低,印尼仅有9.5%、中国为49.3%、墨西哥为20.4%、印度为23.5%,近年来,亚太等新兴地区电子商务增长远远超过其他地区,并在 2012年首次超过西欧地区成为全球第二大市场[1-2]。2015年中国电商的总量已经超过了美国电商总量,占据最大的电商市场位置。我国电子商务崛起,离不开阿里巴巴、京东、苏宁等电商企业。近年来电子商务为我国国民经济增长做出突出贡献,电子商务平台每天的交易额惊人,阿里巴巴旗下天猫平台在2017年11月11日单日交易量1682亿元,连续9年刷新“双11”交易量纪录[3]。电子商务平台作为电子商务的基础设施,协调、整合电子商务的信息流、货物流、资金流,其安全、可靠至关重要,衡量平台是否可靠,需引入可靠性测试。

美国 IEEE协会对于软件可靠性的权威定义有两层含义[4]:

(1)指定运行环境中和指定时间规定下,待测软件不引发整个待测软硬件系统失效的概率[5]。

(2)在满足指定的软件时钟周期和指定运行条件的情况下,待测软件执行完成预期功能的能力。

简而言之就是,待测软件的一次使用过程当中不引起失效的概率。软件可靠性测试是用于验证软件可靠性是否满足软件的可靠性要求、评估软件的可靠性水平的一种软件测试。目前,软件可靠性测试主要有两种测试方法,一种是 J.D Musa提出的基于运行剖面的可靠性测试方法[6],另一种是 Mills[7]和 James A.Whittaker[8]提出的基于使用模型的统计测试方法。两种方法都是基于统计学的基本原理,在统计测试中的一个难点是获取真实的使用模型,而确认使用模型中各模块间的转移概率是难点中的难点,目前主要依靠领域专家经验估计得到一个具体的概率,领域专家的估计会加入自身的主观意识,不够客观,有时会与真实的使用情况有出入。

国内外一些学者对 Markov链使用模型优化做了大量研究,国外学者在模型优化的研究更深入,比如X. Devroey等人提出软件测试中的优先级划分方法[9],J. Smith等人根据同行评审提升测试效果[10],M. Garg则对各种充分性判定方法进行了比较分析[11];近些年,国内学者在 Markov链使用模型优化中也做出了很多努力,如2005年,颜炯基于UML图拓展对Markov模型进行了深入而全面的研究,在实时软件的统计约束等方面都做了很好的描述[12],2009年的马成功等人先后就Markov模型中的缺陷提出了二阶 Markov链的使用模型[13-14],2010年,Lulu等人将软件测试和自学习结合[15],2012年,Yi Jin等人针对测试中软件缺陷的不同程度划分等级,从而给出了新的软件可靠性衡量标准[16],2014年,Gary Yu-Hsin Che针对测试用例的不同测试点,提出了测试用例优先级排序的方法[17]。2015年,Yang Zhao等人提出了三区间参数的Markov模型优化方法[18]。

本文以优化 Markov链使用模型进行软件可靠性测试研究,该研究的核心问题在转移概率的确认,本文将时下互联网行业流行的可用性测试融入可靠性测试,采取细分软件用户类型策略,选择具有代表性的用户进行简化的可用性测试,通过对可用性测试的记录单分析、统计得出转移概率,构造出一种基于可用性测试结果的 Markov链使用模型。最后使用本文方法对一电子商务平台进行 Markov链使用模型建模,指导读者使用该优化模型方法。

1 传统的Markov链使用模型构建

1.1 什么是Markov链使用模型

使用模型是指系统使用中所有可能的情形及其发生的概率。Markov链使用模型是使用马尔可夫过程来描述软件使用过程,依据马尔可夫过程的性质可知,该模型下任何下个状态只依赖于当前状态,与历史状态无关。

Markov链使用模型是由状态、边、转移条件及转移概率组成的。状态表示软件在实际使用过程中的某一具体状态;边表示软件在使用过程中状态间的转移关系即从一个状态转移到另一个状态;转移条件是软件在使用过程中发生状态转移的条件;转移概率是软件在使用过程中转移条件出现后,软件从某一状态转移到另一状态的概率。每一个使用模型都有一个初态和至少一个终态。初态是使用模型的初始状态,是软件一次使用的开始。终态是使用模型的终止状态,是软件一次使用的终止。软件的使用模型就是从初始状态开始,经过若干个中间状态,最终到达某一终止状态的迁移。值得一提的是,每个状态的所有出边的转移概率之和为 1,初态只有出边没有入边,终态只有入边没有出边。

图1是简单的 Markov链使用模型范例。其中Enter为初态,Exit为终态,集合S={S0, S1, S2}为中间状态,集合Condition={a, b, c, d, e, f, g}为转移条件,转移条件后为其转移概率。

图1 简单的Markov链使用模型范例Fig. A example of simple markov chain using model

1.2 Markov链使用模型构建

构建软件 Markov链使用模型依据的是软件的需求说明文档,不需要软件的代码,所以软件的Markov链使用模型的构建工作无需在软件完成后启动,可与软件开发工作并行开展,在一定程度上缩减了工作时间。在 Markov链使用模型的构建过程中要根据需求说明文档中的相关内容确定其实际构成中的各个元素,分别为:状态、边、转移条件和转移概率,需要经历两个环节[19]:

第一步是通过需求说明文档和历史数据确定软件运行中具体执行过程中的状态和各个状态间的关联关系(边)。在第一步中通过需求说明文档对于软件各功能模块的描述可以确定使用模型中的各个状态,通过文档中对于功能模块间的交互描述可确定状态间是否具有关联关系即边。

第二步是确定模型中状态转移条件及转移概率。目前,工程实践中有效确认方案有:

(1)每个状态间的转移概率都假设相同;

(2)由可靠性测试人员与领域专家根据需求说明文档及相关经验估计转移概率;

(3)当可靠性测试人员有软件使用信息时,可通过AHP方法或者轮盘赌算法来确定转移概率。

显然,以上三种确定转移概率的方法都有自身的局限性,方法(1)假设转移概率都相同没有考虑软件间功能使用频次的差异,误差大;方法(2)可靠性测试人员根据需求文档及经验进行估计,个人的主观看法不一定能代表用户的实际使用情况,可能存在较大误差;方法(3)需要软件使用信息即表示该软件是开发完成可进行使用的状态,意味着使用模型构建需与软件开发工作串行开展,不利于节省人工。基于以上三个方法的局限性,本文提出优化Markov链使用模型的方法。

2 优化Markov链使用模型构建方法

本文将优化Markov链使用模型的重点聚焦在确认使用模型的转移概率上,借鉴可用性测试利用典型用户进行测试的想法,结合可用性测试的实际情况对 Markov链使用模型的构建过程进行了优化。

2.1 可用性测试介绍

国际标准化组织(ISO)在 IOS FDIS 9241-11标准中认为,可用性是指当用户在特定的环境中使用产品完成具体任务时,交互过程的有效性、交互效率和用户满意度[20]。可见,可用性主要针对的是软件的有用性和有效性。

可用性测试是对软件可用性进行评估的一种方法,它由测试者邀请用户使用产品原型或产品完成操作任务,通过观察、记录和分析用户行为和相关数据对软件可用性进行评估。可用性测试适用于产品界面和界面原型的评估,通常需要在一个装有摄像和监视装置的专门实验室内进行。由于在使用模型构建过程中关注的并不是产品界面,本文在后文中借鉴可用性测试方法的部分会对其测试侧重点及部分测试过程进行适当的修改。

图2 可用性测试步骤Fig.2 Usability testing steps

图2是可用性测试步骤[21]。其中,“准备测试对象”、“准备测试环境”和“招募用户”可以同时进行且必须在“确定测试目标”之后,确认测试目标是一切的前提。当准备好测试对象、系统以及用户后开始进行测试。可用性测试结束后分析测试人员在测试过程中收集的用户行为反应数据并撰写报告。

2.2 简化的可用性测试

本文利用可用性测试为构建 Markov链使用模型提供转移概率,关注的是软件各系统模块(状态)之间的转移频次,不是软件的界面,针对此实际情况,结合互联网公司的可用性测试经验[22],在此对本文用到的简化的可用性测试步骤进行定义及说明。

简化的可用性测试共分为五大阶段,与图2的可用性测试步骤对比说明如下:

简化的可用性测试是服务于构建使用模型的,因此它的测试目标十分明确即确定软件各功能模块之间的转移频次,我们默认该测试目标是运用简化的可用性测试的条件,因此在简化的可用性测试步骤中不涉及“确认测试目标”。

图3 简化的可用性测试步骤Fig.3 Simplified usability testing steps

1. 在“准备测试对象”阶段被测对象可以是产品原型也可以是开发完全的产品,这为构建软件使用模型与软件开发并行开展提供了条件。

2. 在“准备测试环境”阶段,由于我们使用此简化的可用性测试是为获得最符合软件真实使用情景的转移概率,因此测试环境最好是在用户真实使用软件的场所,只需对用户操作软件原型或软件的屏幕进行录制用于后期分析即可。

3. 相对于图2中的“招募用户”阶段,简化的可用性测试要进行细分,更名为“确定测试用户”,包括四个子阶段,分别是:(1)“确定目标用户”,通过软件需求文档及公司战略目标确定软件的目标用户;(2)“确定目标用户重要度”,确定软件各功能模块是为哪些类目标用户设计,目标用户每多一个主要供其使用的功能模块就将其重要程度加 1,目标用户的重要程度初值都设为 1(目标用户都是软件投入使用可能涉及到用户,都应纳入选择测试用户的范畴,但不同的功能模块对不同类的目标用户支持程度不同,使用中涉及到越多功能的用户,占参与测试的用户比例应越大,特引入重要程度这一变量);(3)“确定目标用户比率”,根据各类目标用户重要程度值的大小确定该类用户在招募用户中的占比;(4)“招募用户”,发布招募信息招募参与测试的用户。

4.“测试”阶段,分两种情况,一是若测试使用的是开发完成的可用软件则可在测试开始前由开发人员为软件各个功能模块的进入与跳出埋点进行记录,二是人工观察记录各功能间的转移情况及次数。

5.“分析结果、获取数据”阶段,依据获得的数据计算使用模型各边的转移概率。

图3为本文简化的可用性测试步骤。

简化的可用性测试,是用于辅助优化 Markov链使用模型的确认转移概率的方案,相较于 1.2中提到的三种转换概率确认方案,该方案有三点优势:(1)依托于可用性测试使用真实用户进行测试,根据极限的性质可知当参与简化可用性测试的用户无限多时统计得到的转移概率就无限接近于真实值,转移概率确认更准确;(2)在简化的可用性测试中选取用户时选取目标用户并对不同类型目标用户依重要程度选取不同的比例,用户选取依据具体软件,更有针对性,在参与测试的用户数量不能达到无限多的理想状态时,因用户类型高度匹配被测软件的目标用户群而大大提高了转移概率的精度;(3)在测试阶段统计数据的方式多样,埋点可解放人工、精确获取我们想要的数据,人工观察记录可节省开发资源,同时在软件开发完成之前即可进行,由于可用性测试中用户操作速度可控人工观察记录也能保证收集的数据的精确度。

3 实验

一由本实验室自主开发的图书电子商务平台,有两个业务主角:用户与管理员,在该平台,用户可以浏览商品、查询商品、注册、登录、查看购物车、修改购物车、生成订单、订单查询、修改个人信息及留言评论操作,管理员可以登录,对商品、用户、订单、公告信息、留言评论及管理员进行管理。

为其构建本文中优化的 Markov链使用模型,第一步通过需求说明文档确定该图书电子商务平台运行中具体执行过程中的状态和各个状态间的关联关系,如图4、5、6所示。

图4 某电子商务平台运行过程Fig.4 The operation of an e-commerce platform

第二步确定模型中各边的转移概率,此处利用本文简化的可用性测试确定。具体步骤如下:

1.“准备测试对象”,本实验室自主开发的图书电子商务平台已经完成开发,故使用该真实系统作为测试对象。

2.“准备测试环境”,本实验室自主开发的图书电子商务平台基于B/S架构,用户可通过本地浏览器进行使用,为在可用性测试中高度还原用户实际使用场景,测试环境确定为被测用户家,在进行简化的可用性测试时利用摄像机对用户的使用过程进行录制。

3.“确定测试用户”,(1)“确定目标用户”,由需求文档可知,该电子商务平台中有管理员、用户两个用户,由于平台的战略定位为“编程路上,有我相伴”,目前平台投放的市场为大学校园,因此平台用户主要为正在学习编程的在校大学生,所以本次简化的可用性测试中需要进行测试的目标用户为管理员及在校大学生;(2)“确定目标用户重要度”,首先管理员与在校大学生的重要程度初值为 1,根据需求文档可知,该电子商务平台共16个功能,其中注册、登录、浏览商品、查询商品、查看购物车、修改购物车、生成订单、订单查询、修改个人信息、留言评论共10个功能为针对用户设置,登录、管理商品、管理用户、管理管理员、管理订单、管理公告、管理留言共7个功能针对管理员设置,所以在校大学生的重要程度为11,管理员重要程度为8;(3)“确定目标用户比率”,由于管理员与在校大学生的重要程度分别为 8、11,因此管理员与在校大学生在招募被测用户中的占比为 8:11;4)“招募用户”,可利用社交网络发布招募信息招募参与测试的用户,本次实验利用学校BBS招募参与测试的在校大学生,参与测试的管理员则由该电子商务网站的管理员来担任。

图5 某电子商务平台User moduleFig.5 User module of an e-commerce platform

图6 某电子商务平台Administrator moduleFig.6 Administrator module of an e-commerce platform

本次简化的可用性测试选取10名管理员和 14名在校大学生作为参与测试的用户。

4.“测试”,录制参与测试的用户在自己家使用一次从登录到退出电子商务平台的全过程。

5.“分析结果、获取数据”,通过观看参与测试的用户的使用全过程,整理得出各状态间转移统计表如下:

将利用简化的可用性测试得出的转移概率带入该电子商务状态转移图得出该电子商务网站的Markov链使用模型如图7、8、9。

本实验通过简化的可用性测试对真实用户的真实行为进行统计,使该电子商务平台的 Markov链使用模型中的转移概率更符合其真实使用情况,更为精确,当实验中参与测试的用户无限多时该Markov链使用模型可完全描绘该电子商务平台的实际使用情况。

4 总结

在经济、技术高速发展的今天,电子商务商业模式成为时下热门,电子商务平台作为电子商务业务的载体需要对电子商务的信息、货物及资金进行管理和维护,因此电子商务平台的可靠性至关重要。本文利用简化的可用性测试对 Markov链使用模型进行优化,反映用户真实使用场景的特性,建立的可靠性测试使用模型更有现实参考价值,该Markov链使用模型可指导完成对电子商务平台的可靠性测试,保证电子商务平台在真实业务场景中正常运行,从而助力电子商务业务的顺利开展。

表1 某电子商务网站各状态间转移统计Tab.1 The transfer statistics between various states of an e-commerce website

图7 某电子商务平台Markov使用模型(总)Fig.7 The Markov chain usage model of an e-commerce platform (overall)

图8 某电子商务平台Markov使用模型(User module)Fig.8 The Markov chain usage model of an e-commerce platform (User module)

图9 某电子商务平台Markov使用模型(Administrator module)Fig.9 The Markov chain usage model of an e-commerce platform (Administrator module)

[1] eMarketer. Ecommerce Sales Topped $1 Trillion for First Time in 2012[EB /OL]. 2013-2-5[2014-3-24].

[2] eMarkete. B2C Ecommerce Climbs Worldwide, as Emerging Markets Drive Sales Higher[EB /OL]. 2013-6-27[2014-3-24].

[3] 杨长坡. 1秒32. 5万笔交易1天卖了1682亿 天猫再次刷新纪录[EB/OL]. http://henan. 163.com/nanyang/17/1113/07/D33S628004398DOR.html, 2017-11-13.

[4] Whittaker J A, ACM Trans. Software Engineering and Methodology [M], 1993, 2(2): 93-103.

[5] Lyu MichaelR. 软件可靠性工程手册[M], 刘喜成等译. 北京: 电子工业出版社, 1996. 110-112.

[6] John D. Musa. Operational profiles in software-reliability engineering [J]. IEEE Software, 1993, 10(2): 14-32.

[7] H D. Mills, M Dyer, R C. Linger. Cleanroom Software Engineering [J]. IEEE Software, 1987(9): 19-24.

[8] J A. Whittaker, J. H. Poore. Statistical testing for Cleanroom Software Engineering [C]//Hawaii International Conference on System Sciences, 1992.

[9] Devroey X, Perrouin G, Cordy M, et al. Towards statistical prioritization for software product lines testing[C].Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems. ACM,2014: 10.

[10] Smith J, Tessler J, Kramer E, et al. Using peer review to teach software testing[C]. Proceedings of the ninth annual international conference on International computing education research. ACM, 2012: 93-98.

[11] Garg M, Lai R, Huang S J. When to stop testing: a study from the perspective of software reliability models[J]. IET software, 2011, 5(3): 263-273.

[12] 颜炯. 基于 UML 的软件统计测试研究[D]. 国防科学技术大学, 2005.

[13] 马成功. 基于马尔可夫链模型的软件可靠性测试方法的研究[D]. 电子科技大学, 2009.

[14] 陈丽敏. 基于马尔可夫链模型的软件可靠性测试方法研究[D]. 电子科技大学, 2010.

[15] Lulu H Y. Optimal Software Testing Case Design Based on Self-Learning Control Algorithm[C]. Parallel and Distributed Processing with Applications (ISPA), 2010 International Symposium on. IEEE, 2010: 478-482.

[16] Jin Y, Xun L, Ping L, et al. Markov Reliability Model Based on Error Classification[C]. Parallel Architectures, Algorithms and Programming (PAAP), 2012 Fifth International Symposium on. IEEE, 2012: 224-231.

[17] Chen G Y H, Wang P Q. Test Case Prioritization in a Specification-based Testing Environment[J]. Journal of Software,2014, 9(8): 2056-2064.

[18] Zhao Y. The optimization method of Markov chain usage model based on three-parameter interval number[C]. Grey Systems and Intelligent Services (GSIS), 2015 IEEE International Conference on. IEEE, 2015: 528-530.

[19] 桂明明. 基于扩展UML的软件可靠性测试模型构建方法研究[D]. 杭州电子科技大学, 2016.

[20] ISO/DIS 9241-11, Guidance on usability[S], 1997 .

[21] 刘颖. 人机交互界面的可用性评估及方法[J]. 人类工效学,2002, 8(2): 35-38. DOI: 10. 3969/j. issn. 1006-8309. 2002.02. 009.

[22] Steven Krug. 《点石成金 访客至上的Web和移动可用性设计秘笈》, 2016.

E-commerce Platform Reliability Testing Based on Optimized Markov Chain Usage Model

LI Huan, ZHOU Xiao-guang, XING Ying, YANG Meng-ke, PAN Yan
(School of Automation, Beijing University of Posts and Telecommunications, Beijing 100876, China)

In recent years, with the rapid development of the Internet, consumer habits at home and abroad have undergone tremendous changes. E-commerce has played an increasingly important role in the consumer market. As the infrastructure of e-commerce, e-commerce platform supports the normal flow of information flow, goods flow and capital flow in e-commerce business. Its reliability is of great significance to e-commerce. In this paper, firstly optimize the Markov chain using a simplified usability test model, and then use the optimized Markov chain to model e-commerce platform examples. This paper proposes an optimized Markov chain usage model, which integrates usability tests of the Internet industry at present, and obtains the transition probabilities that meet the actual usage scenarios through usability tests. The established reliability test usage model is more realistic reference value.The reliability testing guided by this model can ensure the stable operation of e-commerce platform and the smooth progress of e-commerce business, which is an important prerequisite for the development of e-commerce.

E-commerce platform; Markov chain; Use model; Usability testing; Reliability testing

C931.6

A

10.3969/j.issn.1003-6970.2017.12.008

本文著录格式:李唤,周晓光,邢颖,等. 基于优化Markov链使用模型的电子商务平台可靠性测试[J]. 软件,2017,38(12):42-48

中央高校基本科研业务费专项资金资助(编号:2017RC27);国家自然科学基金项目(编号:61702044), 课题名称:面向测试用例自动生成的回溯机制研究;基于自适应约束构建与复杂程序结构约束求解的软件缺陷自动确认研究

李唤(1992-),女,硕士研究生,主要研究方向:物流系统信息化及网络化,软件测试;邢颖(1978-),女,讲师、硕导,主要研究方向:软件测试、人工智能;杨萌柯(1987-),女,讲师,主要研究方向:智慧物流与电子商务,信息技术应用与管理;潘彦(1978-),男,硕士研究生,主要研究方向:物流信息化,自动化编程。

周晓光(1957-),男,教授、博导,主要研究方向:自动化物流系统,物联网技术及其应用。

猜你喜欢

可用性可靠性概率
基于文献计量学的界面设计可用性中外对比研究
概率与统计(一)
概率与统计(二)
基于辐射传输模型的GOCI晨昏时段数据的可用性分析
可靠性管理体系创建与实践
5G通信中数据传输的可靠性分析
基于可靠性跟踪的薄弱环节辨识方法在省级电网可靠性改善中的应用研究
空客A320模拟机FD1+2可用性的讨论
可靠性比一次采购成本更重要
黔西南州烤烟化学成分可用性评价