基于形式概念分析的软件回归测试方法与设计方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本技术提供一种基于形式概念分析的软件回归测试方法,充分利用形式概念分析技术有效地进行回归测试,能够将测试用例的选择、约减、以及排序等技术有效地结合起来,直接生成一种高质量、高效的软件回归测试用例集。该技术在实际应用中不受程序语言约束,可以应用于各种编程语言程序中,提高了该技术可应用的范围。即测试用例选择、约减以及排序,其所产生的测试用例集结果更加高效,可以直接进行回归测试,使得软件维护变得更加容易。
技术要求
1.一种基于形式概念分析的软件回归测试方法,其特征在于该回归测试方
法具体如下:
步骤1:根据原测试用例集以及修改后的程序元素,收集测试覆盖情况;根
据测试用例覆盖信息构造二维表,表中行表示测试用例运行情况,列表示程序元
素,某个列的程序元素被某一行的测试用例覆盖,我们就对其进行标记,再以该
二维表为输入,利用形式概念分析技术构造概念格;形式概念分析建立在数学基
础之上,对组成概念的对象、属性以及关系等用形式化的语境表述出来,然后根
据语境,利用概念格的生成算法自动构造出概念格;概念格上的节点表示概念,
而一个概念是由外延和内涵组成,分别表示某个节点的测试用例和程序元素;
步骤2:进行修改分析,计算得到修改集CS和影响集IS,这两者的并集为
CI=CS∪IS;然后在概念格上找出概念格节点内涵中包含CI中元素的概念节点,
然后把这些概念节点中包含的测试用例选择出来,假设为T’,即为测试用例选
择过程的结果;
步骤3:进行测试用例的约减,对于测试用例集T’中任意测试用例t1,t2∈
T’,如果在概念格上,t1是t2的下确界,即t1所标记的概念格节点层次低于
t2,则选择t1,将t2从T’中删除,最终得到T’’;另外,如果T’’中有多个测
试用例由同一概念节点标记,由于这些测试用例都具有相同的覆盖特征,因此只
需选择其中一个测试用例就可,这一步结束之后就产生了新的约减后的测试用例
集T’’;
步骤4:对T’’进行测试用例排序,根据测试用例包含的CI元素的个数进行
排序,称这样的排序度量方法为测试用例的包含度Inclusiveness={|e||e∈
Int(t)∧t∈T’’∧e∈CI},其中,Int(t)表示测试用例t所标记的概念格元素的
内涵,计算T’’中的每一个测试用例的包含度Inclusiveness,然后测试用例的
排序就是根据包含度Inclusiveness结果进行排序这一步结束之后就得到排序后
的测试用例集L T’’;
到这里,整个回归测试过程结束,其输出是一个排序后的测试用例集L T’’,
它将测试用例的选择、约减以及排序整合到一起。
说明书
一种基于形式概念分析的软件回归测试方法
技术领域
本技术提出了一种新型的软件回归测试方法,主要是利用形式概念分析技术
来有效地进行回归测试用例的选择、约减、以及排序等,属于软件回归测试领域。背景技术
软件维护活动的核心是进行软件修改,而修改肯定会对软件的其他部分造成
一些潜在影响,从而带来软件的不一致性。因此,在每次修改之后,需要对系统重新进行一系列的测试以确定修改阶段没有引入新的错误,以及按照什么样的测试方法进行测试等等。而在软件维护阶段对修改后软件进行再测试的过程称为回归测试。回归测试是软件维护中最耗费成本的阶段,如何有效地生成回归测试用例是一项重要的研究任务。回归测试是软件演化过程中保证软件演化质量的有效方法之一,它需要从两方面测试软件是否存在故障:(1)软件修改部分与没有修改部分能够保持一致性;(2)没有修改的部分依然没有受到影响,能够与修改前的状态保持一致。到目前为止,出现了许多有效的回归测试技术,如测试用例选择、测试用例约减、以及测试用例排序等。测试用例选择主要用于从已有的测试集里面选择有效的用于测试新版本的测试用例,从而有效地减少测试成本;而测试用例约减技术主要用于有效减少测试成本,减少测试用例的冗余,在不影响测试效果的前提下,希望用更少的测试用例进行回归测试;另外,回归测试用例排序是用于对新的测试用例集进行排序,以更早地发现新版本中存在的故障。
当前研究人员在回归测试领域做了大量的研究,这些研究包含了回归测试用
例的选择、排序、约减等技术。测试用例选择技术用于从原测试用例集中选择一部分测试用例去测试程序中的修改部分以及受这些修改影响的元素,一个简单的测试用例选择策略就是将整个原来测试用例集包含进来,这是一个安全的测试用例选择技术,但是该技术比较低效;另外,还有一些基于程序切片以及基于防火墙的回归测试用例选择技术。测试用例集约减技术旨在用最少的测试用例去测试程序中的修改部分和影响部分,目前这方面主要有启发式的方法进行回归测试用例的约减。测试用例排序技术希望的是更早地发现缺陷或者更多的缺陷,目前这方面主要有基于覆盖的测试用例排序技术、基于搜索的测试用例排序技术,等。尽管每一个回归测试技术都有相关的技术来支撑,但是大部分技术都是单独地进行研究,如单纯地进行测试用例的选择或者单纯地对测试用例集进行排序,或者给定一个测试用例集,研究对这个用例集进行约减。而实际中回归测试用例选择、排序以及约减技术通常是紧密联系的,即在实际应用过程中我们需要使用排序好的测试用例集,然后通过该测试用例集尽快发现新版本程序中存在的故障。这里,我们将采用形式概念分析技术有效地将回归测试用例选择、约减与排序组合在一起进行,从而得到约减后的排序好的测试用例集,以便尽早地发现软件故障。形式概念分析以数学化的概念和概念层次为人们提供了一种应用数学理论来处理现实世界中形式对象与形式属性之间这种二元关系的方法。形式概念分析技术经过几十年的发展,到目前已经比较成熟,目前在软件工程中主要是应用在程序分析和理解方面。这里,我们将其成功地应用在回归测试领域中,有效地支持测试用例的选择、约减以及排序。
技术内容
技术问题:本技术的目的是提供一种基于形式概念分析的软件回归测试方
法,充分利用形式概念分析技术有效地进行回归测试,能够将测试用例的选择、约减、以及排序等技术有效地结合起来,直接生成一种高质量、高效的软件回归测试用例集。该技术在实际应用中不受程序语言约束,可以应用于各种编程语言程序中,提高了该技术可应用的范围。
技术方案:本技术的一种基于形式概念分析的软件回归测试方法具体如下: