软件自动测评工具包属计算机软件开发的监测系统。根据被测软件生命周期中的不同阶段采用相对独立的测评工具,包括软件测试框架实现工具、单元测试工具、集成测试的优化工具和软件可靠性评测工具。单元测试工具是指任意指定路径自动生成测试数据的白盒测试和测试用例集约简技术。集成测试的优化工具是基于组件依赖的测试优化模型。软件可靠性评测工具是采用数据仓库来收集和存储失效数据并基于基因表达式编程来构建软件可靠性预测模型,分析多模型的评测结果,给出完善的定性和定量可靠性分析报告。本发明专利技术解决了目前商用测试工具和本地软件工程需求之间的不完全匹配的矛盾,为研发和测试人员提供有力的工具,保证开发软件的高质量。
【技术实现步骤摘要】
本专利技术涉及一种提高计算机运行质量的方法,属计算机软件开发的监测系统,具体是软件自动测评工具包。
技术介绍
软件自动测评的研发是软件工程领域的一个研究难题,目前国际上只有Microsoft、IBM、MI、Segue等公司有较完善的商用产品,包括捕获/回放工具、Web测试工具、性能测试工具、测试管理工具、源码测试工具等等。这些工具一般由开发公司通过测试定制的方式为客户提供专项服务。并且这些工具主要建立在国外长期软件工程开发积累的基础上,对测试使用人员的专业知识要求较高,而且多数引进的测试工具不能兼顾本地化软件开发,不能很好地融合到国内软件工程中。
技术实现思路
本专利技术的目的是提供一种功能完善,适用国内软件开发市场的软件测评工具,它不要求测试人员必须具有高水平的专业知识。本专利技术的目的是这样达到的一种软件自动测评工具包,其特征在于对被测软件生命周期中的不同阶段,采用相对独立的测评工具,包括软件测试框架实现工具、单元测试工具、集成测试的优化工具和软件可靠性评测工具。所述单元测试工具是指任意指定路径自动生成测试数据的白盒测试和测试用例集约简技术。所述集成测试的优化工具,是基于组件依赖的测试优化模型。所述软件可靠性评测工具是采用数据仓库来收集和存储失效数据,并基于基因表达式编程来构建软件可靠性预测模型,分析多模型的评测结果,给出完善的定性和定量可靠性分析报告。任意指定路径自动生成测试数据的白盒测试是利用Gupta方法建立谓词函数的线性约束系统,在求解该线性系统之前进行相容性判定分析,所述测试用例集约简技术是指采用程序切片,分析程序的I/O关系,然后利用I/O关系对黑盒测试用例集进行约简,最后证明约简后的测试用例集和原来的测试用例集具有相同的错误检测能力。集成测试的优化工具是基于组件依赖的测试优化模型,是指该模型首先分析和描述了组件间复杂的依赖关系,然后借助组件间的依赖关系对组件进行分组,即利用组件的事件驱动传递依赖关系,构建出系统的“基本关键组件集”,赋予最高优先级;借助组件间的程序依赖关系,找出与这些基本关键组件密切相关的其它较关键组件,构建出“相关关键组件集”,赋予次高优先级;余下的组件赋予最低的测试优先级。程序切片是分析程序的I/O关系是对所有的输出变量y 分析其静态后向切片,确定影响该输出变量的所有输入变量,得到各输出变量的I/O关系,所述利用I/O关系对黑盒测试用例集进行约简是指对I/O关系自身进行约简后进行关联性分析,划分成若干个彼此独立的相关组;接着对各相关组分别进行处理仅对每个输出涉及到的输入变量进行组合覆盖,进而利用组内元素的关联性通过公共元素进行水平拼接;最后再把各个相关组的结果进行水平拼接。本专利技术具有以下优点1.能从开发人员和测试人员的需求角度考虑问题,解决目前商用测试工具和本地软件工程需求之间的不完全匹配的矛盾,为研发和测试人员提供有力的工具,保证开发软件的高质量。2.从软件工程整个流程中开发测试并行、自动生成测试用例、集成测试优化、自动收集和处理失效数据到最后依据不同的评判准则和模型给出定性和定量的评测报告,整合了当前时新的测试驱动开发理论、测试用例生成和约简规则、组件依赖以及自动桩生成原理、数据挖掘思想和模型选择依据等。软件评测工具技术含量高,更有生命力,更符合软件工程的发展。3.软件评测工具包将显著提高系统开发效率,缩短了软件的开发周期,降低了开发成本和开发风险,对测试人员的专业要求大大降低,尤其是通过集成测试的优化,将在保证软件质量的同时极大地减轻测试人员的负担。这是目前很多自动化测试工具没有的。4.软件评测工具的界面和语言更符合用户的要求,更能使用户产生满意感。具体实施例方式本专利技术从软件工程角度,针对被测软件生命周期中不同阶段,开发出一系列相对独立的评测工具。包括软件测试框架实现工具,单元测试工具,集成测试的优化工具和软件可靠性评测工具。在单元测试工具中,针对白盒测试过程中确定测试数据的成本较高而且费时,为任意指定路径自动生成测试数据是白盒测试的关键。利用Gupta方法建立谓词函数的线性约束系统,在求解该线性系统之前进行相容性判定分析,即当系统无解的时候分析究竟是由于线性化谓词函数带来的还是真的路径不可行。通过改进了的相容性判定分析算法,然后对相容的线性约束系统引入基因表达式进行求解。测试用例集约简技术就是从大量的输入数据中精心挑选出少数有代表性的测试数据,使得采用这些测试数据能够达到最佳的测试效果,高效地把隐藏的故障揭露出来,是软件测试的关键。首先,利用程序切片,分析程序的I/O关系为了不损失任何信息,对所有的输出变量y分析其静态后向切片,确定影响该输出变量的所有输入变量,得到各输出变量的I/O关系;然后利用I/O关系对黑盒测试用例集进行约简对I/O关系自身进行约简后进行关联性分析,划分成若干个彼此独立的相关组;接着对各相关组分别进行处理仅对每个输出涉及到的输入变量进行组合覆盖,进而利用组内元素的关联性通过公共元素进行水平拼接;最后再把各个相关组的结果进行水平拼接。最后证明约简后的测试用例集和原来的测试用例集具有相同的错误检测能力。在集成测试的优化工具中针对大型复杂软件集成测试中耗时太多、分析复杂等不足,提出了一种基于组件依赖的测试优化模型并开发出相应的优化工具。该模型首先分析和描述了组件间复杂的依赖关系,然后借助组件间的依赖关系对组件进行分组,即利用组件的事件驱动传递依赖关系,构建出系统的“基本关键组件集”,赋予最高优先级;借助组件间的程序依赖关系,找出与这些基本关键组件密切相关的其它较关键组件,构建出“相关关键组件集”,赋予次高优先级;余下的组件赋予最低的测试优先级。通过有级别地选择测试组件集,达到合理分配测试资源的目的。软件可靠性评测工具中通过分析软件开发整个流程,采用数据仓库思想来收集和存储失效数据,并基于基因表达式编程知识来构建软件可靠性预测模型,并分析多模型的评测结果,给出完善的定性和定量可靠性分析报告。在该工具包中,各相应独立的测评工具具有各自独立的特点1.集成测试的优化工具既考虑到了组件与组件之间的复杂的执行关系,同时又考虑了组件内部程序间更小粒度的耦合关系,更精确地刻画了软件的复杂不确定性的执行行为。从测试工程上看,该方法在保证软件质量的同时,减少了测试组件数量,避免了组件的反复测试,提高了测试效率,降低了测试成本。2.软件可靠性评测工具采用基于基因表达式编程知识构建的软件可靠性预测模型,更能仿真被测软件动态不确定性的开发过程,多模型从不同角度来度量,也使最终的可靠性值更完善,给出的详尽的评估报告,从定性和定量角度描述软件的可靠性,能更有说服力,能为管理人员的决策提供更有力的证据。3.单元测试工具包能对任意路径指定路径自动生成测试数据如果该路径不可行,能够马上得出结论;如果该路径可行,即使在指定的路径上存在非线性谓词函数,只需要一次求解线性约束系统,就能为指定路径自动生成测试数据。利用程序切片得到I/O关系进而对测试用例集约简,可以在保持错误检测能力的前提下,可以得到最优化的约简测试用例集。权利要求1.一种软件自动测评工具包,其特征在于对被测软件生命周期中的不同阶段,采用相对独立的测评工具,包括软件测试框架实现工具、单元测试工具、集成测试的优化工本文档来自技高网...
【技术保护点】
一种软件自动测评工具包,其特征在于:对被测软件生命周期中的不同阶段,采用相对独立的测评工具,包括软件测试框架实现工具、单元测试工具、集成测试的优化工具和软件可靠性评测工具,所述单元测试工具是指任意指定路径自动生成测试数据的白盒测试和测试用例集约简技术,所述集成测试的优化工具,是基于组件依赖的测试优化模型,所述软件可靠性评测工具是采用数据仓库来收集和存储失效数据,并基于基因表达式编程来构建软件可靠性预测模型,分析多模型的评测结果,给出完善的定性和定量可靠性分析报告。
【技术特征摘要】
【专利技术属性】
技术研发人员:李志蜀,袁德森,王莉,陈震秋,金虎,孙继荣,殷锋,
申请(专利权)人:四川华智信息技术有限公司,四川大学,
类型:发明
国别省市:90[中国|成都]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。