- 15
- 0
- 约5.95千字
- 约 3页
- 2017-08-19 发布于安徽
- 举报
基于马尔可夫决策过程用交叉熵方法优化软件测试的研究
张德平1,2+聂长海1徐宝文1
1(东南大学计算机科学与工程学院,江苏南京,210096)
2(南京航空航天大学理学院,江苏南京,210016)
摘要:软件测试是一种检测软件缺陷,提高可靠性水平的重要手段。证明、检测和预防是软
件测试追求的目标,人们可以从不同角度设计软件测试来实现测试目标。软件测试策略主要包
括如何选择测试用例及确定最佳停止测试时间来达到测试目的。软件测试的优化就是优化软件
测试策略,关心如何设计软件测试,使得测试中每个行动都是达到测试目的的最优行动.一个
最优测试剖面是指在适当时刻选择合适的测试用例(或测试技术或行为),实现测试目标的最优
测试策略。因此,软件测试优化过程也可以看成是最优测试剖面的获取过程。
对于待测软件系统,假定软件最初具有M个软件缺陷,我们的目标是检测并排除所有的
软件缺陷。在整个软件测试过程中,如果将每个时间点(决策时刻)t(t=0,1,2,…)上软件剩余
将每个时间点,按着某种测试策略选取一个测试用例作为一次决策行动(Action),各个时刻按
不同测试策略选取测试用例的行动全体组成整个行动空间A=口f,f≥O)=f1,2,…,K},并且
每个时间点t(t=0,1,2,…)上的状态S,和所采用的行动q都会影响下一时间点f+1的状态
3,+l,因此整个测试过程形成一个马尔可夫决策过程,可定义义为一个五元组F,S,彳,P,C},
空间,P为转移概率矩阵,其元素满足马尔可夫性:
P(sfi SO,-I,%q)=P(sff q-1), (1)
St-I
表示在时刻t—l采取行动q-l时,从状态s,q转移到状态S,的概率,其中记号S0彳一1表示
80,而,…,S,,记号S-1表示在起始时刻之前的状态,记为空集≯.C中的元素q一。(at—1)表示
在状态St-1采取行动口,-1时的测试费用.则从起始时刻0到时刻t为止,整个测试过程可由此
马尔可夫过程的一个历史来描述:
爿r2{So,ao,s1,aI,…,St-1,at-l,s,, (2)
记刀={P(at1只);f=O,1,2,…)为在历史只的条件下采取行动at,t=0,1,2,…的概率集,
称为一个测试策略。记彳为从系统状态So=M首次到达状态0时所采取测试行动的最小次数,
即f=min{t:St=0},则从时刻0到时刻f的选取的行动构成了一个测试用例序列
NationalNaturalScienceFoundationunderGrant
基金资助:the ofChina
TalentFoundationOn andResearchofSoutheast
家自然科学基金),Excellent Teaching University(东南大学优秀青年教师教学科研
FoundationofState ofSoftware inWuhan
资助),andOpen KeyLaboratory EngineeringUniversity(武汉大学软件工程重点实验室开
fundofeducationunderGrant
放基金),Doctorsubject ministry No.20060286020(教育部博士点基金)
作者简介:张德平,1973年生,讲师,博士生。主要从事软件测试技术、软件可靠性、数理统计与随机过程等方面的教
事软件测试技术、模糊信息处理、神经网络等方面的教学与科研工作.Email:changhainie@seu.edu.∞
本文已推荐在‘软件学报》发表,本论文集仅收录摘要
830 第15部分软件工程
X=(ao,q,…,af-1)。我们的问题是找到一个最优测试策略使得期望测试费用最小,即确定最
优测试用例序列,使得
原创力文档

文档评论(0)