您好, 访客   登录/注册

基于需求追溯矩阵实现快速测试的方法研究

来源:用户上传      作者:

  摘要:本文研究分析了如何建立完整的需求追溯矩阵,以及如何通过需求追溯矩阵来实现快速测试的思想。
  关键词:需求追溯链;快速测试;测试管理工具
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2019)12-0096-02
  0 引言
  软件产品在正式上线前,通常需要经过多个版本的反复迭代,而上线后也需要不断维护管理,这个过程中,测试占有很大比重,尤其当测试用例基数较大的情况下,重复性的执行未经筛选的测试用例集将消耗较多的时间及成本。因此,如何有效快速定位错误、缩小测试范围,减少重复测试的工作量,提高回归测试和维护的效率是各软件开发企业亟待解决的问题。
  1 需求追溯矩阵模型
  1.1 需求追溯关系
  软件需求规格说明书作为最重要的软件过程产品之一,也是对软件系统测试依从性的基线。当测试以可验证、无冗余的软件需求规格说明书作为测试依从性基线,将需求规格说明书提取并条目化为具体的系统需求后,系统需求可与测试过程产品,包括测试需求、测试用例、测试执行包、缺陷等形成关联追溯关系,而系统需求与系统需求之间也因相互影响而形成横向的关联关系,即多个从系统需求之间以及其分别关联至缺陷的追溯链一起组成需求追溯矩阵,如图1所示。
  1.2 需求追溯矩阵模型
  对关联追溯的形式化描述如:(1)定义系统需求集合为S={s1,s2,s3…},测试需求集合为R={r1,r2,r3…},测试用例集合为C={c1,c2,c3…},测试记录集合L={l1,l2,l3…},缺陷集合B={b1,b2,b3…};(2)假设与任意系统需求元素直接关联的测试需求有若干个,且优先级不同,则定义测试需求优先级系数集合为P={ p1,p2,p3…},且p∈[0,1];假设与任意测试需求直接关联的测试用例亦有不同优先级的若干个,则定义测试用例优先级系数集合为Q={ q1,q2,q3…},且q∈[0,1];(3)假设系统需求、测试需求、测试用例之间的关联追溯关系可满足函数关系,则定义s=SR(r),r=RC(c),c=CL(l),l=LB(b),且si= pjSR(rj)=p(j+n)SR(r(j+n))=p(j+m)SR(r(j+m))=…,ri=qjRC(rj)=q(j+n)RC(r(j+n)) = q(j+m)RC(r(j+m))=…;(4)系统需求与系统需求之间具备横向的关联关系,假设该关联关系的紧密程度由横向耦合系数决定,故定义矩阵横向耦合系数集合为K={ k12,k23,k13…},且k∈[0,1],则系统需求集合元素与元素之间的关系为:si=kijsj= kj(j+n)sj+n=…。
  基于上述描述,静态的需求追溯矩阵模型如图2所示。
  2 通过追溯矩阵实现快速测试
  需求追溯矩阵建立后,当软件需求发生变更,或进行了缺陷修复时,即可通过需求追溯矩阵的正向关联及逆向关联快速筛选出回归测试的测试用例。其中缺陷修复是从缺陷逆向追溯至系统需求后,再从系统需求正向追溯至待执行的测试用例。通过追溯矩阵的实现快速测试的方法为:
  (1)由需求追溯矩阵模型可知:ci=qiRC-1(tj)=ci=qiRC-1[pjSR-1 (sn)],即在滿足函数关系时,主要影响因子为qi、pj,抽象用例与系统需求关联关系的公式后可得ci=qipjSC-1(sn),qipj即优先级系数,假设X=f(qipj),X与测试用例的优先级有直接关系,X可决定测试用例的筛选。
  (2)回归测试时,静态选择若干纵向关联的本轮测试待测的最低优先级用例,通过计算获取X的最优值xb,而:
  xb=xi±
  (3)通过贪心算法,筛选出用例集C’={c|所有满足xn≥xb的测试用例},C’即为通过需求追溯矩阵纵向关联约减后的待测试用集。
  (4)因为系统需求集合元素与元素之间的关系为:si=kijsj=kj(j+n)sj+n=…,故结合ci=qipjSC-1(sn)公式,ci=qipjSC-1(sn)= ci=qipjSC-1 [knm (sm)],故可知,筛选横向关联的系统需求对应用例还与k有关,假设Y=f(qipj knm),Y可决定横向关联的其他系统需求对应用例的筛选。
  (5)静态筛选若干关联系统需求对应的最低优先级用例,通过计算获取Y的最优值yb,而:
  yb=yi±
  (6)通过贪心算法,筛选出用例集C’’={c|所有满足yn≥yb的测试用例},C’’即为通过需求追溯矩阵横向关联约减后的待测试用集。
  (7)C’+C’’即为符合本轮回归测试要求的全部待执行测试用例集。
  3 结语
  在已有的研究基础上[1-3],本文阐述了依据需求追溯矩阵实现快速测试的模型,该模型是通过系统需求与测试过程产品之间纵向的关联追溯以及系统需求与系统需求之间的横向关联关系来实现快速测试。本文还通过已实际应用于工作的测试管理平台工具展现出快速筛选用例结合自动化测试的方式带来的测试效率提升。
  参考文献
  [1] 付立伟.软件维护可关联追溯方法的研究与实现[D].西安:西安理工大学,2012.
  [2] 章晓芳,徐宝文,聂长海,等.一种基于测试需求约简的测试用例集优化方法[J].软件学报,2007(4):821-831.
  [3] 陈静,杨美红,王鲁,等.基于关联模式的回归测试用例约简模型[J].计算机工程,2011(2):63-65+68.
  Research on Fast Test Method Based on Requirement Traceability Matrix
  PAN Jing
  (Southern Power Grid Digital Grid Research Institute Co., Ltd., Guangzhou  Guangdong  510623)
  Abstract:This paper studies and analyzes how to establish a complete requirements traceability matrix, and how to achieve rapid testing through the requirements traceability matrix.
  Key words:requirements traceability chain; rapid testing; test management tools
转载注明来源:https://www.xzbu.com/8/view-15141117.htm