探索性方法在面向故障软件测试中的应用

发表于:2013-6-05 13:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:谢经纬 吴昊    来源:51Testing软件测试网采编

分享:

  4、探索性方法的建模和量化:

  Andy Tinkham和Cem Kaner, J.D., Ph.D.分析了影响探测型测试人员测试效率的因素,包括过去的经验,个人的技能,知识构架,思维方式,和对待测软件系统的了解程度等。这些因素都会或多或少地影响测试人员的执行测试的质量。

  本文构建基于探索型测试的模型,首先定义效用值V,然后把影响因素数量化之后映射到V,用V来描述一个检查点出现故障的可能性,这个值是测试人员从自身的经验技能及对系统的理解程度出发做出的判断,是一个主观上的效用值,用来决策一个检查点是否应当经行测试。即:V=F(E,P,K);

  V: Value of testing necessary; E: experience ; P: personnel situation ; K: knowledge of the SUT

  (注:检查点:具体确定待测故障后,依据故障检查规则自动或手动找出的可能出现此类故障的地方。)

  模型中E表示过去经验,P表示个人的一些情况,涵盖了个人的思维技能知识等方面因素,K表示他对系统的了解程度。在一个测试人员即将开始一次探索性测试时,他的经验和个人情况是相对既定的,之所以把两者独立起来,因为在诸多因素中,经验所占的比重是最大的。但是,对系统的理解程度,是随着学习和测试的不断深入而变化的,这样使得每个检查点的效用值在测试过程中不断变化。各个因素具体的数量化方法,随着所采用的函数F而不同;而F的选择应当在面向具体故障时给予确定。

  由于采用遗传算法进行测试,需要给出编码规则和适应度函数。(1)编码是先进行代码解析,根据给定规则,找出可能出错的检查点,各位取值0或1,0表示出错可能性较小不许测试,1则相反,是最后的测试点。由于对软件质量要求不同,所给出的规则可能有不同的严格程度。把所有的检查点放在一起,就得到了一个n位的串,作为染色体串。我们的目标就是对这个串优化,寻找出有限测试成本内的检查点组合。(2)适应度函数:,  是编码串中的位值,取值为0或1;Vi是各位的测试必要值。

  在模型中,采用遗传算法行进探索性测试。在寻找最佳组合时,设I是给定测每轮计划测试次数,即测试成本,我们的目标是

  这样该问题就退化为0-1背包问题,可以有多种方法给出近似或确定解,但是为了更好的模拟人类思维进行探索型测试,遗传算法的定向性和随即性是最佳选择。

  5、测试流程:

32/3<123>
价值398元的测试课程免费赠送,填问卷领取吧!

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号