一种面向测试的软件质量评估方法及装置与流程

文档序号:21362278发布日期:2020-07-04 04:36阅读:262来源:国知局
一种面向测试的软件质量评估方法及装置与流程

本发明涉及软件质量保证技术领域,尤其涉及一种面向测试的软件质量状态评估方法及装置。



背景技术:

随着计算机、网络、通信、人工智能等技术的飞速发展以及信息化水平的不断提高,各类系统或设备的功能呈现和效能发挥越来越依赖于相关的软件,软件所涉及的业务在广度和深度上持续拓展,软件规模和复杂性不断增长,软件开发成本以及由软件问题而导致的经济损失也随之显著增加,管理者、测试人员、用户等利益相关方更须从各个方面、各个环节掌握软件质量水平,才有可能合理策划和调整相应措施,实现对软件状态的有效管控,软件质量的地位正逐步提高。

软件测试是软件质量保证的重要工程方法,同时也是软件生命周期中的重要环节,其使用人工或自动的手段来运行或测定某个软件系统的过程,目的在于检验被测软件是否满足规定的需求或弄清预期结果与实际结果之间的差别,软件质量保证一般要求软件的相关版本应在测试通过后方可进行发布,因此若能在软件生命周期中的各测试过程中及时开展相应的软件质量评估,不仅能为后续软件质量保证的正式技术评审、程序正确性证明等活动提供最直接的量化评估依据,更重要的是软件质量保证人员可在综合软件质量评估量化结果、软件测试所发现的具体问题的基础上,分析并跟踪软件整体质量状态演变趋势,及时掌握当前版本软件的质量水平,尽可能提前发现并消除潜在的软件质量隐患、降低软件质量风险,增强软件质量保证人员对大规模、高复杂性软件系统的管控能力,所以结合软件测试过程针对性开展面向测试的软件质量评估正变得越来越重要。

当前市场上关于面向测试的软件质量评估没有明确的方法和装置,现有的软件质量评价体系主要面向软件生存周期全过程,涵盖软件产品质量、使用质量等多个模型中的各种质量特性,没有针对测试活动工程实践的专用软件质量评估模型,基本上都须参照推荐的质量模型确定质量需求,建立质量测度并执行质量评价,其实施过程中所涉及的实体属性量化分析、测度元素选取、测量方法设计、测量函数构建等活动系统而繁琐,需要耗费大量的人力、时间资源,由于软件测试在工程实践中呈现出极强的时效性且在进度、时间、人工上普遍紧张,无法承受系统而全面的通用软件质量评价体系的运行成本,从而导致通用软件质量评价体系无法直接应用于软件测试工程实践,亟需一种面向软件测试活动的专用软件质量评估方法和装置,在尽量减少资源消耗的情况下,实现对被测软件质量快速、量化评估。



技术实现要素:

针对上述问题,本发明的一种面向测试的软件质量评估方法的目的是在不影响软件测试工程活动的前提下,基于测试中所产生的软件问题规模、软件问题等级分布等实测数据,实现对被测软件或系统质量状态的快速、自动、多次量化评估,降低软件质量评估成本,为在软件测试过程中开展软件质量评估提供一种可行的工程方案,针对性强。

本发明通过以下技术方案来实现上述目的:

一种面向测试的软件质量评估方法,包括:

流程001根据测试人员输入的软件问题评价集,增加对软件无问题状态的标定,构建综合评价集;

流程002根据测试人员对综合评价集中各分量所设置的评估量值、失效等级评价结语、评价级别等拓展属性,在综合评价集的基础上进一步构建拓展综合评价向量集;

流程003根据测试评价因素层次结构输入,构造与之对应的测试评价因素层次结构存储结构,在测试评价因素层次结构存储结构中对节点按照叶子节点、评估对象区分为不同类型,对不同类型节点信息进行收集、存储,此外测试评价因素层次结构存储结构中还存储各层相关信息、节点之间的链接从属关系;

流程004接收测试人员输入的测试问题规模分布,将其存储至测试评价因素层次结构存储结构中对应的叶子节点中;

流程005遍历所有叶子节点,对全部叶子节点实施单因素实测评价;

流程006按照自底向上的顺序遍历每一层中的每一个评估对象节点,对其实施单评估原子集失效评估,遍历至顶层根节点,即完成对被测系统或软件的质量评估。

作为进一步的优化,所述的软件问题评价集为基于软件测试过程中所采用的软件问题严重性等级划分,构成的针对软件问题的评判等级论域,设v表示软件问题评价集,则有v={v1,v2,...,vj,...,vm},软件问题评价集亦简称为评价集。

作为进一步的优化,所述的综合评价集是在软件问题评价集的基础上,引入对“无问题(0问题)”状态的标定,构成系统失效评估所需评价分量的完整集,其一方面仍可用于标定软件问题严重等级,另一方面亦适用于对系统失效程度、质量状态实施评判,设vs为基于通用软件问题严重性等级评价集v所构建的综合评价集,v∞为标定“无问题(0问题)”状态的评价分量(称为0项增量),则将vs表示为vs=v∪{v∞}={v1,v2,...,vj,...,vm,|v∞}。

作为进一步的优化,所述的拓展综合评价向量集为将综合评价集中任意评价分量由单一语义表述向评价等级、量化评估等多个维度拓展,构建成的向量集合,实现对被测系统的失效度以及质量状态的定量评价和多视角描述,设拓展vs后所得的拓展综合评价集向量为其可表示为中任意分量定义为

作为进一步的优化,所述的测试评价因素层次结构为测试人员基于对被测系统或软件的理解与分析,从软件测试角度对被测系统或软件功能、性能、接口等各项指标或特性,以及安全性、恢复性、边界、强度等软件测试需求进行逐层分解,抽取评价因素,建立与之对应的树状结构模型。

作为进一步的优化,所述的测试评价因素层次结构输入为测试人员输入至装置的原始测试评价因素层次结构信息,但还未经结构化处理并存储至装置中。

作为进一步的优化,所述的测试评价因素层次结构存储结构为装置将测试评价因素层次结构输入进行结构化等处理后,以数据库、表、数组、文件等任意方式存储至计算机系统的测试评价因素层次结构的对应形态。

作为进一步的优化,所述的叶子节点为测试评价因素层次结构中某一路径的最底层节点,该节点无任何子节点。

作为进一步的优化,所述的评估对象为对其实施失效评估的具体对象(可以是实体,也可以是属性、特性等抽象概念),评估对象的概念具有相对性,在测试评价因素层次结构中,除叶子节点(某一路径的最底层节点,该节点无任何子节点)外的各层中的各节点均可视为其下层子节点的评估对象,系统失效评估最终的评估对象为根节点即被测软件或系统。

作为进一步的优化,所述的失效评估是基于评估对象运行过程中出现的各类缺陷或错误的严重等级、规模的分布特性,对评估对象运行失效性进行定量的分析和评价,并实现对评估对象质量状态的间接评估。

作为进一步的优化,所述的单因素实测评价是基于实测过程中所发现的问题规模,对测试评价因素层次结构中单一节点所实施的模糊评价,设有给定的综合评价集vs=v∪{v∞},u为任意评价因素集,令ui为u中的任一评价因素,基于采集ui在实际测试中所发现的各类问题的规模构建的模糊子集即为对ui的单因素实测评价。

作为进一步的优化,所述的评价因素集为影响和制约某一评估对象的所有评价因素的全集构成评价因素集,评价因素集u中所包含的评价因素的数量称为该评价因素集的度,表示为deu(u),称u为deu(u)度评价因素集,设u表示包含n个评价因素的评价因素集,则u={u1,u2,...,ui,...,un}。

作为进一步的优化,所述的单评估原子集失效评估含义为,对任一评估原子集es=<et,u>,deu(u)=n,给定m+1度综合评价集vs=v∪{v∞},对评估原子集es的失效评估是参考一级模糊综合评价,采用加权综合es所辖评价因素集u下所有评价因素的单因素模糊评价结果等方法,针对评估对象et求取论域为综合评价集vs=v∪{v∞}的模糊子集实现对et多因素模糊综合评估,形式为的分量函数形式为其中是针对评价集v实施模糊评价所得模糊向量的分量函数。

作为进一步的优化,所述的评估原子集定义了实施失效评估的最小分析范围(分析对象),包括评估对象及该其对应的评价因素集,令es为评估原子集,则es可表示为序偶形式es=<et,u>,其中为et评估对象,集合u为et对应的评价因素集,在测试评价因素层次结构中,任意评估原子集表示某一非叶子节点et(评价对象)以及其下一层所有子节点集合u(评价因素集)所构成的有序偶。

作为进一步的优化,所述的模糊子集含义为,设经测试et所发现的软件问题规模为set,则其中n=deu(u),1≤i≤n,su为u的实测问题规模,对给定的综合评价集vs=v∪{v∞},定义为其中模糊子集为针对u中每一评价因素所构建的动态权重集,运算符ο表示综合评判所采用的合成算子,模糊矩阵为针对评估对象et所构建的模糊评价矩阵。

作为进一步的优化,所述的动态权重集为,当软件问题规模set≠0时,综合各评价因素实测问题规模以及各类问题严重性(危害程度)等因素,通过量化各评价因素的失效程度,构建出基于实测的权重分布即为动态权重集。

作为进一步的优化,所述的模糊评价矩阵含义为,评价因素集u中全部评价因素的单因素模糊评价结果为n个模糊子集,

其中全体模糊集构建出模糊评价矩阵

本发明的另一方面提供了一种面向测试的软件质量评估装置,包括:

评价要素构建模块,根据用户输入的被测系统或软件的层次结构,构建测试评价因素层次结构;

实测评估模块,实现对所有叶子节点的实测评估;

评价集构建模块,根据用户输入,构建综合评价集以及拓展综合评价向量集;

层次评估模块,实现对某一层次中所有元素的评估;

评估调度模块,调度实测评估模块、评价集构建模块、层次评估模块,实现评估;

评估结果展示模块,展示系统、各层节点评估结果。

作为进一步的优化,所述拓展综合评价向量集中的各向量的分量可调整,进而实现对评估模型的调节。

本发明的有益效果在于:

本发明的一种面向测试的软件质量评估方法及装置,主要用于在软件测试过程中对被测软件或系统质量状态的快速、自动、多次量化评估,在软件测试过程中使用该方法及装置,仅以软件问题规模等测试数据即可驱动评估模型自动运作,可以降低在软件测试过程中开展软件质量评估活动的成本,提高软件质量评估的效率和可行性,其中用到的拓展综合评价集向量可由用户定制、调节,确保了评估模型的灵活性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种面向测试的软件质量评估方法的整体流程示意图。

图2为本发明的一种实现方式示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

如图2所示,本发明的一种实现方式示意图,包括:

装置根据测试人员输入的软件问题评价集v,增加对软件无问题状态的标定构成综合评价集vs。

装置根据测试人员对综合评价集中各分量所设置的评估量值、失效等级评价结语、评价级别等拓展属性,在综合评价集的基础上进一步构建拓展综合评价向量集

测试人员基于对被测系统或软件的理解与分析,从软件测试角度对被测系统或软件功能、性能、接口等各项指标或特性,以及安全性、恢复性、边界、强度等软件测试需求进行逐层分解,抽取评价因素,建立与之对应的树状结构模型,形成的测试评价因素层次结构。

装置根据测试人员输入的测试评价因素层次结构的整体结构,构造层次结构框架存储结构structure,层次结构框架存储结构structure中除存储测试评价因素层次结构中各层的相关信息外,还须存储虚拟层的相关信息,虚拟层为由所有叶子节点所组成的抽象层次,层次结构框架存储结构structure中存储的各层次信息包括层序号、层类型、输入数据链接、输出结果链接、节点数、层描述等信息。

装置根据测试人员输入的测试评价因素层次结构中各叶子节点分布情况,构建与虚拟层对应的叶子节点原始数据存储结构layer0_in_leaforiginal,叶子节点原始数据存储结构layer0_in_leaforiginal中存储各叶子节点相关信息以及该叶子节点在测试中所发现的测试问题规模在软件问题评价集中的分布。

装置根据测试人员输入的测试评价因素层次结构中节点之间的连接关系,构建评估对象节点信息存储结构the_nodes_of_ets,评估对象节点信息存储结构the_nodes_of_ets中按层次存储各层中每一评估对象节点之下直接所辖的所有子节点信息。

装置根据测试人员输入的测试评价因素层次结构,逐层构建节点信息存储结构layerx_in_nodesinfo,各层节点信息存储结构layerx_in_nodesinfo中存储该层所包含的每一节点的节点信息,任一节点信息存储该节点信息包括节点类型nodetype、子节点列表childs、层次序列号layerindex等信息,装置逐层按顺序遍历检测每一个节点,若节点类型为叶子节点,则将该节点子的节点列表childs设置为空,若节点类型为评估对象,则装置读取评估对象节点信息存储结构the_nodes_of_ets中该节点所辖子节点信息,并将其设置为该节点的子节点列表childs。

装置逐个遍历叶子节点,对其实施实测评估:装置从层次结构框架存储结构structure中获取虚拟层的输入数据链接信息,从叶子节点原始数据存储结构laycr0_in_leaforiginal中加载所有叶子节点实测原始数据,对全部叶子节点拓展∞向量,遍历所有叶子节点对每一叶子节点构建论域为综合评价集vs的模糊子集,实现基于实测问题规模的单因素模糊评价,装置将叶子节点实测评估结果存储至实测评估存储结构layer0_realtestvaluation。

装置加载拓展综合评价向量集

装置根据层次结构框架存储结构structure中存储的测试评价因素层次结构信息,构建除虚拟层之外的各层的评估结果存储结构layerx_valuation,各层评估结果存储结构layerx_valuation中存储该层所辖全部节点的节点评估结果输出架构,节点评估结果输出架构中包含该节点评估相关的问题规模set、动态权重集模糊评价矩阵评估结果valuation等信息。

按照自底向上的顺序,遍历分析层次结构框架存储结构structure中除虚拟层之外的各层中的每一节点,实现对各层次每一节点乃至全系统的评估:装置读取层次结构框架存储结构structure,除虚拟层之外自底向上逐层读入当前层信息、前一层信息,在每一层中逐个节点进行评估;

若装置检测到当前分析的节点类型为叶子节点,取存储在实测评估存储结构layer0_realtestvaluation中该叶子节点的实测评估结果作为其最终评估结果保存至节点评估结果输出架构的评估结果valuation中;

若装置检测到当前分析的节点类型为评估对象,装置累加该节点前一层中所有子节点问题规模得到当前节点问题规模,并将其保存至当前节点的节点评估结果输出架构的问题规模set中,装置读取当前节点前一层中所有子节点评估结果valuation构建出当前节点的模糊评价矩阵,并将其存储至当前节点的节点评估结果输出架构的模糊评价矩阵中,装置检测当前节点问题规模set,若当前节点问题规模set为0,则当前节点评估结果的“0项增量”置1其余分量置为0,若问题规模set不为0,则利用拓展综合评价向量集各向量的评估量值与对应问题规模乘积之和求取当前节点的失效度根据失效度求取动态权重集动态权重集与模糊评价矩阵合成得到当前节点的评估结果,将当前节点的评估结果保存至当前节点的节点评估结果输出架构的评估结果valuation中。

本发明的另一方面提供了一种面向测试的软件质量评估装置,包括:

评价要素构建模块,根据用户输入的被测系统或软件的层次结构,构建测试评价因素层次结构;

实测评估模块,实现对所有叶子节点的实测评估;

评价集构建模块,根据用户输入,构建综合评价集以及拓展综合评价向量集;

层次评估模块,实现对某一层次中所有元素的评估;

评估调度模块,调度实测评估模块、评价集构建模块、层次评估模块,实现评估;

评估结果展示模块,展示系统、各层节点评估结果。

所述拓展综合评价向量集中的各向量的分量可调整,进而实现对评估模型的调节。

本申请的方法在软件测试过程中以软件问题规模等测试数据为输入以实现对被测软件或系统质量状态的快速、自动、多次量化评估,其可以降低在软件测试过程中开展软件质量评估活动的成本,提高软件质量评估的效率和可行性,其中用到的拓展综合评价集向量可由用户定制、调节,确保了评估模型的灵活性。

综上所述,为本发明的具体实施方式,从事本技术领域的技术人员在实施本发明时,可轻易想到变化或替换。因此,在具体实施方式中所描述的各个具体技术特征,可以通过各种合适的方式进行组合,此外,本发明的各种不同的实施方式之间也可以进行任意组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1