基于概率统计的软件测试方法研究.doc
《基于概率统计的软件测试方法研究.doc》由会员分享,可在线阅读,更多相关《基于概率统计的软件测试方法研究.doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于概率统计的软件测试方法研究周珺周珺(1963-),男,甘肃靖远人,兰州交通大学数理学院副教授,研究方向为数理统计,软件测试。(兰州交通大学数理学院,兰州,甘肃,730070)摘要: 为了缩短软件测试周期,本文把马尔可夫链模型运用于软件可靠性测试中,提出了这一技术进行软件可靠性测试的方法。在测试过程中使用了新的评判准则分析测试结果,通过实例证明了该评判准则的实用性和有效性。关键词:软件可靠性,软件测试方法,测试用例,马尔可夫链,马尔可夫链模型中图分类号:TP311 文献标示码:ASoftware Testing Method Research Based on Probability Sta
2、tisticsZhou Jun(School of Mathematics and Physics, Lanzhou Jiaotong University, Lanzhou 730070, China)Abstract: In this paper,in order to shorten the period of software testing ,Markov Chain Model is used in software reliability testing .It is introduced the basic method of this technology in testin
3、g software reliability. In the testing process ,it is used that new judge standard to analyze the testing result. The judge standard are the practicability, efficiency through examples。Keyword: Software Reliability,Software Testing Technology,Test Case,Markov Chain ,Markov Chain Model1 引言软件测试是软件工程领域
4、必不可少的过程,在软件生存周期中占有非常重要的位置。据统计,软件开发总成本中,用在测试上的开销要占30%到50%,特殊情况下,对可靠性要求很高的软件,其测试费用甚至高达所有其他软件工程阶段费用总和的3-5倍1。在对传统测试用例的生成方法学习的基础上,探索出了一种实用性强的方法,该方法在马尔可夫链模型的基础上,提出了一种软件可靠性测试模型,并通过实例证明了这种模型的实用性和正确性。2 马尔可夫链的基本概念2-4 2.1 .状态和状态转换基于马尔可夫链的软件使用模型是由软件的状态和边组成。状态表示软件在使用过程中的内部环境。状态转换是指当软件在某一状态经输入激励,从该状态转换到另一个状态。.马尔可
5、夫链是满足下面两个假设的一种随机过程:t+1时刻系统状态的概率分布只与t时刻的状态有关,与t时刻以前的状态无关;从t时刻到t+1时刻的状态转移与t的值无关。一个马尔可夫链模型可表示为M=(S,P,Q),其中各元的含义如下:(1)S是系统所有可能的状态所组成的非空的状态集,有时也称之为系统的状态空间,它可以是有限的、可列的集合或任意非空集。本文中假定S是可数集(即有限或可列)。用小写字母i,j (或S,S )等来表示状态。(2)是系统的状态转移概率矩阵,其中表示系统在时刻t处于状态i,在下一时刻t+1处于状态j的概率,N是系统所有可能的状态的个数。对于任意iS,有。 (3)Q=q1,q2,qn是
6、系统的初始概率分布,qi是系统在初始时刻处于状态i的概率,满足。2.2 输入激励与状态转换概率 软件处于某一稳定的内部状态,外界环境有相应的输入激励,激励可以是不同的输入变量或者相同的输入变量取不同的值。不同的输入激励将导致软件不同的状态转换。当软件在稳定的使用环境下,不同的输入激励的出现是遵循一定的统计分布的,因而导致软件状态转换间也存在相应的概率分布,这个概率就称为状态转换概率。如果遵循软件的状态转换概率分布抽样产生测试输入序列,则体现了统计意义上的软件使用方式。2.3 .软件的使用链软件的使用链是用马尔可夫链描述的软件载誉期使用环境中的状态转换模型,用U表示。定义为:U=S,ARC,其中
7、S代表软件的状态集,有S=s1,s2,,sn。;而ARC表示软件状态之间转换关系,有 ARC=arc11,arc12,arc1n,arc21,arc22,arc2n, arcn1,arcn2,arcnn (2.1)而其中的每个状态转换关系又是一个二维向量。用D表示引起软件状态转换的输入激励域,p表示软件状态转换率,则有 arcij=(dij,pij)( dijD;i=l,2,n;j=l,2,n) (2.2)U=S,ARC中,Si表示时刻t,ARC表示测试用例集D发生的概率P,应用2中的结果分析准则,要使使用链的状态转换概率为1,必须满足2中的、,即使用链在时刻t的测试用例集D应满足完全覆盖。3
8、 基于马尔可夫链的软件测试方法3.1结果分析准则马尔可夫链使用模型(Markov Chain Usage Model)也是一种很好的软件使用方式的方法4-5。在软件测试过程中,对于被测软件,基于逻辑覆盖和基本路径测试方法生成的测试用例,覆盖了程序的所有测试,保证了在测试中程序的每个可执行语句至少执行一次6,由此可知:这些测试用例构成了一个完整的测试实验样本空间;生成的每个测试用例一定发生并且发生的概率相同。因此,可以把测试用例的生成及其发生概率和2中的马尔可夫链模型联系起来。把一个完全正确的逻辑结构或模块对应的状态集看成在时刻t处于的状态集,则状态集中的每一个状态对应一个测试用例,从而构成一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 概率 统计 软件 测试 方法 研究
限制150内