摘要:在软件测试过程中,人因可靠性是影响测试结果的重要因素。该文建立了基于贝叶斯网络的人因可靠性评估模型,论证了利用该模型进行评估的基本步骤,建立了其评估指标体系,并通过实例对软件测试中人因可靠性进行了评估。仿真结果证明了该模型的正确性和有效性。
关键词:软件测试;人因可靠性;贝叶斯网络
中图分类号:TP311文献标志码:A 文章编号:1009-3044(2011)30-7437-02
软件测试[1]是软件生存期中的一个重要阶段,是软件质量保证的关键步骤。测试工作主要由人来完成的,所以人的可靠性会直接影响测试效果。因此,对软件测试中人因可靠性进行评估是十分必要的。
影响人因可靠性的因素很多,要进行精确的人因可靠性[2]评估,不能用简单的逻辑判断,需要对观察到的特征进行综合。考虑到贝叶斯网络的特点,本文在确定人因可靠性影响因素的基础上,建立了基于贝叶斯网络的人因可靠性评估模型。
1 贝叶斯网络模型
贝叶斯网络[3]是根据各变量间的概率关系建立起来的图论模型,可用
2 人因可靠性评估模型
2.1 影响因素的确定
从人的失误的观点出发,影响人因可靠性的因素很多,且影响程度差别较大。总体来看,主要包括人的自身因素、环境因素以及组织管理因素,其中人的自身因素又可以分为生理因素和心理因素。
2.2 模型的建立
针对软件测试人因可靠性的3层贝叶斯网络如图1所示。
图1中V1、V3、V4、V5是根节点。对于Vi(i=1,3,4,5),假设Vi的优劣程度为p(Vi),p(Vi)∈[0,1]。那么, p(Vi)=0表示各因素处于非常差的状态,此种状态下测试人员可靠度极低;p(Vi)=1表示各因素处于非常好的状态,此种状态下测试人员可靠度无限接近于1。假设理想条件下飞行员可靠度定义为p(V6)=1,实际软件测试时测试人员可靠度为R,根据贝叶斯网络理论有:
R= p(V6)·F(V6| V1) ·F(V6| V2| V4,V5) ·F(V6| V3)(1)
F(V6| V1)、F(V6| V3)分别表示组织管理因素以及环境因素对测试人员可靠度的影响,F(V6| V2| V4,V5)表示影响条件的叠加,即 V4,V5同时影响了V2,进而V2影响了V6。模型建立以后,需要量化诸如F(V6| V1) 的条件影响函数。
1) 组织管理因素
组织管理满意度越高, 对测试人员可靠度的条件影响因子越大;反之越小。此处假设条件影响函数为指数函数F(V6| V1)=e-a1.v1+b1。根据经验:V1=1时,F(V6| V1)=1;V1=0时,F(V6| V1)=0.7。由此求得:F(V6| V1)=e0.2624V1-0.3。
2) 人的自身因素
假设人的自身因素对可靠度的条件影响函数为二次函数F(V6| V2)=a2.V22+b2.V2+c2。根据经验:V2=1时,F(V6| V2)=1;V2=0时,F(V6| V2)=0;V2=0.8时,F(V6| V2)=0.9。由此求得:F(V6| V2)=-0.625V22+1.625V2。
假设生理因素对人的自身因素影响函数为指数函数F(V2| V4)=e-a4.V4+b4。根据经验:V4=1时,F(V2| V4)=1;V4=0时,F(V2| V4)=0.4。由此求得:F(V2| V4)=e0.47V1-0.6。
假设心理因素对人的自身因素影响函数为指数函数F(V2| V5)=e-a5.V5+b5。根据经验:V5=1时,F(V2| V5)=1;V5=0时,F(V2| V5)=0.5。由此求得:F(V2| V5)=e0.4055V1-0.5。
3) 环境因素
环境因素越好, 对测试人员可靠度的条件影响因子越大;反之越小。此处假设条件影响函数为一次函数F(V6| V3)=a3·V3+b3。根据经验:V3=1时,F(V6| V3)=1;V3=0时,F(V6| V3)=0.6。由此求得:F(V6| V3)=0.4V3+0.6。
3 实例分析
针对软件测试活动,选取了对该领域比较熟悉的五位专家对V1、V3、V4、V5四个根节点进行了评分,并分别计算了均值,如表1所示。
将表1中V4、V5的值带入相应的影响函数得到:F(V2| V4)=0.9925,F(V2| V5)=0.9819。假设在理想状态下测试人员自身因素p(V2)=1,将V1、V3以及F(V2| V4)、 F(V2| V5)的值带入相应的条件影响函数。进一步得到:F(V6| V1)=0.9697,F(V6| V2| V4,V5)= 0.9745,F(V6| V3)=0.944。从而,根据式(1)可以得到实际软件测试中测试人员可靠度为:R=1×0.9697×0.9745×0.944=0.892。
综上所述,专家对测试人员可靠度的评估值为0.892,可靠度比较高,可以胜任该项测试工作。
4 结论
本文在建立软件测试中测试人员可靠度指标的基础上,运用贝叶斯网络理论对测试人员可靠度进行了评价。经过仿真实例,得到了比较好的效果,为评判测试人员水平提供重要参考和依据;同时,基于贝叶斯网络的人因可靠性评估模型具有很好的移植性,可以适用于多个领域。但是,由于条件影响函数的选取存在主观上的片面性,所以结果的真实程度还需要进一步探究,这也是该模型存在的不足。
参考文献:
[1] 薛冲冲等.软件测试研究[J].计算机系统应用,2010,20(1):15-19.
[2] 张晶晶等.人的可靠性分析[J].中国安全生产科学技术,2011,7(1):76-81.
[3] 刘莉等.基于贝叶斯网络的飞行安全人因可靠性评估模型[J].空军工程大学学报,2009,10(3):5-9.