公开/公告号CN106445797A
专利类型发明专利
公开/公告日2017-02-22
原文格式PDF
申请/专利权人 阿里巴巴集团控股有限公司;
申请/专利号CN201510471320.X
申请日2015-08-04
分类号G06F11/36;
代理机构北京鸿德海业知识产权代理事务所(普通合伙);
代理人倪志华
地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱
入库时间 2023-06-19 01:36:59
法律状态公告日
法律状态信息
法律状态
2019-09-03
授权
授权
2017-03-22
实质审查的生效 IPC(主分类):G06F11/36 申请日:20150804
实质审查的生效
2017-02-22
公开
公开
【技术领域】
本申请涉及软件技术领域,尤其涉及一种软件可测性评估方法及装置。
【背景技术】
软件可测性是指在一定的时间和成本前提下,进行测试设计、测试执行以此来发现软件的问题,以及发现故障并隔离、定位其故障的能力特性。简单来说,软件可测性就是指软件能够被测试的容易程度。
在对软件质量要求越来越高,测试工作量越来越大,测试工作越来越复杂的情况下,具有良好可测性的软件对节省开发投资,缩短开发周期,降低维护费用等方面都有着重大意义。
现有对软件可测性进行评估的方法,多是通过数学推理的方式进行评估,这种方法过于复杂,缺少对可测性行为的分析,评估质量较差,对软件开发和测试的指导意义不大,对软件质量的改善效果不佳。因此期望提供一种新的软件可测性评估方法。
【发明内容】
本申请的多个方面提供一种软件可测性评估方法及装置,用以简化评估过程,提高评估质量。
本申请的一方面,提供一种软件可测性评估方法,包括:
确定至少一个可以反映待评估软件的可测性的评估参数;
对所述待评估软件在测试过程中的可测性行为数据进行分类,以获得所述至少一个评估参数中每个评估参数对应的可测性行为数据;
对所述每个评估参数对应的可测性行为数据进行度量,以获得所述待评估软件在所述每个评估参数下的可测性度量结果。
本申请的另一方面,提供一种软件可测性评估装置,包括:
确定模块,用于确定至少一个可以反映待评估软件的可测性的评估参数;
分类模块,用于对所述待评估软件在测试过程中的可测性行为数据进行分类,以获得所述至少一个评估参数中每个评估参数对应的可测性行为数据;
评估模块,用于对所述每个评估参数对应的可测性行为数据进行度量,以获得所述待评估软件在所述每个评估参数下的可测性度量结果。
在本申请中,确定可以反映待评估软件的可测性的评估参数,对待评估软件在测试过程中的可测性行为数据进行分类,获得每个评估参数对应的可测性行为数据,对每个评估参数对应的可测性行为数据进行度量,获得待评估软件在每个评估参数下的可测性度量结果,实现对待评估软件的可测性的评估。本申请首先明确进行可测性评估的维度,即评估参数,在每个评估参数下,基于可测性行为数据进行可测性评估,与现有技术相比,其实现相对简单,评估质量较高,对软件开发和测试具有较大的指导意义,有利于改善软件质量。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的软件可测性评估方法的流程示意图;
图2为本申请一实施例提供的第一CRM软件的雷达示意图;
图3为本申请一实施例提供的第二CRM软件的雷达示意图;
图4为本申请一实施例提供的第三CRM软件的雷达示意图;
图5为本申请一实施例提供的软件可测性评估装置的结构示意图;
图6为本申请另一实施例提供的软件可测性评估装置的结构示意图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在现有技术中,对软件可测性进行评估的方法,多是通过数学推理的方式进行评估,这种方法过于复杂,缺少对可测性行为的分析,评估质量较差,对软件开发和测试的指导意义不大,对软件质量的改善效果不佳。针对该问题,本申请提供一种解决方案,主要原理是:明确进行可测性评估的维度,即可以反映待评估软件的可测性的评估参数,在每个评估参数下,基于测试过程中的可测性行为数据进行对待评估软件进行可测性评估。与现有技术方案相比,本申请技术方案不需要复杂的数学推理,实现相对简单,另外,本申请技术方案基于可测性行为数据进行可测性评估,评估质量较好,评估结果对软件开发和测试具有较大的指导意义,有利于改善软件质量。
图1为本申请一实施例提供的软件可测性评估方法的流程示意图。如图1所示,该方法包括:
101、确定至少一个可以反映待评估软件的可测性的评估参数。
102、对待评估软件在测试过程中的可测性行为数据进行分类,以获得至少一个评估参数中每个评估参数对应的可测性行为数据。
103、对每个评估参数对应的可测性行为数据进行度量,以获得待评估软件在每个评估参数下的可测性度量结果。
本实施例提供一种软件可测性评估方法,可由软件可测性评估装置来执行。该软件可测性评估装置可以是任何能够执行本实施例方法流程的设备,例如可以是终端设备、服务器或是专用的可测性评估设备、系统等。
在本实施例中,将需要进行可测性评估的软件称为待评估软件,待评估软件可以是任何应用软件,例如杀毒软件、浏览器软件、各种客户端软件或客户关系管理(Customer Relationship Management,CRM)类软件等。
软件可测性评估装置首先确定至少一个可以反映待评估软件的可测性的评估参数。该评估参数主要限定对待评估软件进行可测性评估时的评估维度或角度,简单来说,是指从哪个或哪些维度或角度来评估待评估软件的可测性,这些维度或角度在一定程序上可以反映待评估软件的可测性。
对评估参数进行举例说明,例如评估参数可以包括以下至少一种:
分层可测性、依赖可测性、接口服务化可测性、数据流结构可测性、安全可测性。
在本实施例中,软件可测性评估装置一改现有可测性评估方法的做法,在确定至少一个评估参数后,不是直接根据所确定的评估参数进行数学推理以对待评估软件进行可测性评估,而是根据所确定的评估参数,对待评估软件在测试过程中的可测性行为数据进行分类,以获得每个评估参数对应的可测性行为数据;简单来说,就是将可测性行为数据分类到不同的评估参数下。
在本实施例中,可测性行为数据是指描述软件的可测性行为的数据;可测性行为是指软件在测试过程中产生或存在的各种与软件测试有关的行为。
例如,可测性行为可以是软件测试过程中思考软件的各业务线是否有统一的领域模型、业务模型、概念模型等的行为。其中,各业务线是否有统一的领域模型、业务模型或概念模型一定程度上会影响软件的可测性,若各业务线具有统一的领域模型、业务模型或概念模型,软件的可测性就好,反之,软件的可测性就差。
又例如,可测性行为可以是软件测试过程中思考系统分层是否符合规范、框架的行为。其中,系统分层是否符合规范、框架一定程度上会影响软件的可测性,若系统分层是符合规范、框架,软件的可测性就好,反之,软件的可测性就差。
又例如,可测性行为可以是软件测试过程中思考软件内部构建依赖是否合理,例如各个业务间的产品代码耦合情况、基础业务层代码改动是否会存在较大的联动影响点等的行为。其中,软件内部构建依赖是否合理一定程度上会影响软件的可测性,若软件内部构建依赖合理,软件的可测性就好,反之,软件的可测性就差。
又例如,可测性行为可以是软件测试过程考虑软件对外依赖性是否存在较强依赖,依赖深度是否可裁剪等行为。
又例如,可测性行为可以是软件测试过程中考虑软件的环境隔离性、环境依赖性的行为。
又例如,可测性行为可以是软件测试过程中考虑软件接口易用性是否较好,例如接口参数是否易获取、接口易读性是否较好等的行为。
值得说明的是,软件可测性评估装置可以预先收集软件测试过程中的可测性行为数据。
在将可测性行为数据分类到每个评估参数下之后,软件可测性评估装置可以对每个评估参数对应的可测性行为数据进行度量,以获得待评估软件在每个评估参数下的可测性度量结果。
考虑到每个评估参数下的可测性行为数据较多,不同可测性行为数据在可测性评估过程中发挥的作用会不同,且不同评估参数对应的度量标准也不相同,因此本实施例可以采用以下方式对每个评估参数对应的可测性行为数据进行度量。
具体的,可以预先设定针对每个评估参数的度量标准,该度量标准作为对待评估软件在评估参数下的可测性进行度量的依据或基准。对每个评估参数,软件可测性评估装置均进行相同处理,具体处理为:将该评估参数对应的可测性行为数据划分为多组;配置每组可测性行为数据的占比,该占比表征每组可测性行为数据对评估待评估软件的可测性所起作用的大小;根据每组可测性行为数据以及每组可测性行为数据的占比,估计待评估软件在该评估参数下的可测性;按照预设的度量标准对待评估软件在该评估参数下的可测性进行度量,以获得待评估软件在该评估参数下的可测性度量结果。在该实施方式中,对每个评估参数下的可测性行为数据进行分组,为每组可测性行为数据配置占比,通过配置的占比来体现不同可测性行为数据对可测性评估的贡献,使得可测性评估更符合实际情况,有利于提高评估质量的真实性和有效性。
在一可选实施方式中,软件可测性评估装置除了获得待评估软件在每个评估参数下的可测性度量结果之外,还可以根据待评估软件在每个评估参数下的可测性度量结果,获得待评估软件的整体可测性。例如,一种简单的评估整体可测性方法是:若待评估软件在每个评估参数下的可测性度量结果都比较理想,则可以确定待评估软件的整体可测性较好;反之,确定待评估软件的整体可测性较差。又例如,一种评估整体可测性的方法是:根据待评估软件在每个评估参数下的可测性度量结果,绘制雷达图,以获得待评估软件的整体可测性。该雷达图可以体现待评估软件的整体可测性。以待评估软件为第一CRM软件、第二CRM软件和第三CRM软件,且确定的评估参数包括分层可测性、依赖可测性、接口服务化可测性、数据流结构可测性和安全可测性为例,则根据第一CRM软件在每个评估参数下的可测性度量结果,绘制的雷达图如图2所示;根据第二CRM软件在每个评估参数下的可测性度量结果,绘制的雷达图如图3所示;根据第三CRM软件在每个评估参数下的可测性度量结果,绘制的雷达图如图4所示。
在一可选实施方式中,软件可测性评估装置除了获得待评估软件在每个评估参数下的可测性度量结果之外,还可以根据待评估软件在每个评估参数下的可测性度量结果,输出改进指导数据,以改进新软件在开发过程和测试过程中的一个或多个过程中的可测性行为。在该实施方式中,软件可测性评估装置通过输出改进指导数据,分别指导开发人员、测试人员如何将可测性度量结果落到具体的开发和测试工作中,进一步指导如何更好的进行软件设计,以便进一步提高新软件的可测性。
值得说明的是,针对不同待评估软件,可测性行为数据会有所不同,并且软件可测性评估装置对软件在测试过程中的可测性行为数据进行分类也会有所不同,以及对每个评估参数对应的可测性行为数据进行分组也会不同。具体可以根据实际应用需求适应性修改或设置。如表1所示,为软件可测性评估装置针对CRM软件设置的评估参数、评估参数下的可测性行为数据以及每组可测性行为数据的占比、以及针对每个评估参数的度量标准、以及最后输出的改进指导数据的示例,但并不限于此。
表1
由上述表1所示的每个评测参数下各组可测性行为数据的占比可知:针对CRM软件,在分层可测性下的可测性行为数据被分为三组,占比分别是30%、40%和30%;在依赖可测性下的可测性行为数据被分为两组,占比分别是50%和50%;在接口服务化可测性下的可测性行为数据被分为三组,占比分别是40%、30%和30%;在数据流结构可测性下的可测性行为数据被分为三组,占比分别是30%、40%和30%;在安全可测性下的可测性行为数据被分为两组,占比分别是50%和50%。可见,不同评估参数下不同分组的可测性行为数据对评估待评估软件的可测性所起作用并不相同,具体可通过占比来体现。
在表1所示示例中,评估参数的设置更符合CRM软件,可以提高对CRM软件的可测性评估的准确度,且更有针对性。另外,本示例中,在评估参数的基础上,提炼对应的可测性行为数据,针对可测性行为数据进行配比设置不同的度量标准,根据预设的度量标准、占比以及可测性行为数据本身对CRM软件进行可测性评估,并将可测性度量结果最终落地到改进指导数据上,以改进开发和测试过程中的可测性行为,进而改善软件质量。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图5为本申请一实施例提供的软件可测性评估装置的结构示意图。如图5所示,该装置包括:确定模块51、分类模块52和评估模块53。
确定模块51,用于确定至少一个可以反映待评估软件的可测性的评估参数。
分类模块52,用于对待评估软件在测试过程中的可测性行为数据进行分类,以获得确定模块51确定出的至少一个评估参数中每个评估参数对应的可测性行为数据。
评估模块53,用于对分类模块52获得的每个评估参数对应的可测性行为数据进行度量,以获得待评估软件在每个评估参数下的可测性度量结果。
在一可选实施方式中,评估模块53还用于:根据待评估软件在每个评估参数下的可测性度量结果,获得待评估软件的整体可测性。
在一可选实施方式中,如图6所示,该软件可测性评估装置还包括:输出模块54。
输出模块54,用于根据评估模块53获得的待评估软件在每个评估参数下的可测性度量结果,输出改进指导数据,以改进新软件在开发过程和测试过程中的一个或多个过程中的可测性行为。
在一可选实施方式中,评估模块53在用于对分类模块52获得的每个评估参数对应的可测性行为数据进行度量,以获得待评估软件在每个评估参数下的可测性度量结果时,具体用于:
对于每个评估参数,将评估参数对应的可测性行为数据划分为多组;
配置每组可测性行为数据的占比;
根据每组可测性行为数据以及每组可测性行为数据的占比,估计待评估软件在评估参数下的可测性;
按照预设的度量标准对待评估软件在评估参数下的可测性进行度量,以获得待评估软件在评估参数下的可测性度量结果。
在一可选实施方式中,评估模块53在用于根据待评估软件在每个评估参数下的可测性度量结果,获得待评估软件的整体可测性时,具体用于:
根据待评估软件在每个评估参数下的可测性度量结果,绘制雷达图,以获得待评估软件的整体可测性。
在一可选实施方式中,上述至少一个评估参数包括以下至少一种:
分层可测性、依赖可测性、接口服务化可测性、数据流结构可测性、安全可测性。
本实施例提供的软件可测性评估装置,确定可以反映待评估软件的可测性的评估参数,对待评估软件在测试过程中的可测性行为数据进行分类,获得每个评估参数对应的可测性行为数据,对每个评估参数对应的可测性行为数据进行度量,获得待评估软件在每个评估参数下的可测性度量结果,实现对待评估软件的可测性的评估。本实施例提供的软件可测性评估装置首先明确进行可测性评估的维度,即评估参数,在每个评估参数下,基于可测性行为数据进行可测性评估,与现有技术相比,其实现相对简单,评估质量较高,对软件开发和测试具有较大的指导意义,有利于改善软件质量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
机译: 软件评估系统,软件评估装置,软件评估方法,记录介质和计算机数据信号
机译: 软件评估装置,软件评估方法和系统评估装置
机译: 软件评估装置,软件评估方法和系统评估装置