CN111444106A - 一种对软件可测试需求的分析方法及系统 - Google Patents

一种对软件可测试需求的分析方法及系统 Download PDF

Info

Publication number
CN111444106A
CN111444106A CN202010272025.2A CN202010272025A CN111444106A CN 111444106 A CN111444106 A CN 111444106A CN 202010272025 A CN202010272025 A CN 202010272025A CN 111444106 A CN111444106 A CN 111444106A
Authority
CN
China
Prior art keywords
requirements
test
requirement
software
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010272025.2A
Other languages
English (en)
Other versions
CN111444106B (zh
Inventor
徐成涛
陈涛
刘俊先
罗爱民
舒振
张晓雪
张萌萌
蔡飞
陈洪辉
罗雪山
韩剑
易侃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010272025.2A priority Critical patent/CN111444106B/zh
Publication of CN111444106A publication Critical patent/CN111444106A/zh
Application granted granted Critical
Publication of CN111444106B publication Critical patent/CN111444106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明属于软件工程技术领域,公开了一种对软件可测试需求的分析方法及系统,所述对软件可测试需求的分析系统包括:采集模块、测试需求整理模块、测试需求分析模块、测试需求确认模块、需求补录模块、任务划分模块、需求反馈模块、测试需求更新模块。本发明通过采集模块用于基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;测试需求整理模块用于对采集到的测试需求划分为两大类十小类;测试需求分析模块用于基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表。本发明能够获取软件功能性测试需求和非功能性测试需求;同时能够及时修正与更新软件需求。

Description

一种对软件可测试需求的分析方法及系统
技术领域
本发明属于软件工程技术领域,尤其涉及一种对软件可测试需求的分析方法及系统。
背景技术
目前,软件测试需求分析是软件测试策划阶段的关键任务,目的是定义测试对象和测试范围。测试需求确定以后,才能在测试需求基础上制定测试策略,并对测试任务、时间、资源、成本和风险等进行估算或评估,所以,软件测试需求分析是整个软件测试活动的基础,在软件测试周期中起着导向作用。软件测试需求分析的主要依据是软件需求。在实际工程项目中,由于需求分析工作不够完善和对系统缺乏全面认识等原因,软件需求规格说明往往不能完整、正确和具体的反映用户需求,尤其是对性能、可靠性、安全性和系统约束等内容描述甚少,因此,基于这种软件需求规格说明来对软件进行测试是不充分的、不可信的,测试人员必须在有限的软件需求规格说明内容的基础上做进一步的测试需求开发,充分挖掘隐含的软件需求和遗失的软件需求,并在此基础上开展测试工作,才能保证测试内容全面;而且,随着激烈的市场竞争,传统瀑布型研发模式已逐渐转变为敏捷研发模式,许多开创性的软件需求在项目开始无论是用户还是开发人员都不能完整准确地对其描述,随着项目的不断进展才能逐渐清晰地确定下来,而由于开发周期的缩紧,软件开发和软件测试不可能等软件需求完全固化后开展,导致敏捷等研发模式下的软件需求会处于边研制边完善的状态,软件测试需求也存在着更新频繁的风险。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有技术中对软件可测试需求的分析方法不全面,降低了结果的可靠度。
(2)现有技术中对软件可测试需求的分析过程中,无法及时更新或修改,降低了数据的更新的时效性。
发明内容
针对现有技术存在的问题,本发明提供了一种对软件可测试需求的分析方法及系统。
本发明是这样实现的,一种对软件可测试需求的分析方法,所述对软件可测试需求的分析方法包括:
步骤一,通过采集模块基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;
步骤二,根据采集的数据信息,测试需求整理模块将采集到的测试需求进行划分整理,核对测试需求是否完整;通过测试需求分析模块基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;
步骤三,通过测试需求确认模块基于生成的测试需求列表进行完整性以及准确性审查;通过需求补录模块基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
步骤四,通过任务划分模块基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;通过需求反馈模块基于测试任务划分结果反馈软件可测试需求是否准确、全面;
步骤五,在整个软件测试过程中,通过测试需求更新模块当需求变更时进行需求的更新;
所述步骤一中,采集模块对基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息进行分类的方法,包括:
基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;
提取采集数据信息数据特征,建立相应的分类对象;建立相对应的分类对象距离模型;
将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;
将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类。
进一步,所述步骤二中,对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表包括:
首先,基于测试需求划分结果,根据被测软件特征、重要性程度,进行被测软件状态、接口、数据结构、设计约束基础分析;同时还包括选取测试类型,确定相应测试内容和要求;
其次,通过审阅开发文档,当开发文档没有明确描述软件对边界值和异常值的处理方式时,特别关注边界值和异常值处理,挖掘遗失需求;并利用组织资产库,使用组织常用的需求分析模型或经过积累的需求分析检查单的方式,进行隐含需求挖掘;
最后,基于分析、隐含需求挖掘结果结合采集到的相关需求生成测试需求列表。
进一步,所述步骤二中,测试需求整理模块包括:
所述测试需求整理模块按照两大类十小类对采集到的测试需求进行需求划分;
所述两大类为功能测试需求与非功能测试需求;
所述十小类为:业务需求、业务规范、约束、外部接口需求、特性、功能需求、非功能需求、质量属性、系统需求、用户需求。
进一步,所述步骤二中,测试需求分析模块挖掘隐含需求过程为:
在基于测试需求划分结果对采集到的相关需求进行测试需求的分析过程中,对所分析的软件可测试需求的数据进行数据预处理,数据清理,数据集成,数据归约,数据变换或者数据离散化;
根据数据变换完成的数据,选择合适最佳模型;利用最佳模型对变换完成的数据进行结果分析和改进,实现隐含需求数据的挖掘。
进一步,所述对所分析的软件可测试需求的数据进行数据清理的过程为:
根据所分析的软件可测试需求的数据,确定相应的变量和因变量,建立相应的变量关系;
根据变量关系,对缺失数据进行预测,并且利用利用蒙特卡洛方法生成多个完整的数据集;
在对这些数据集进行数据分析,最后对分析结果进行汇总处理,实现对数据的填充和清理。
进一步,所述对数据清理完成的软件可测试需求的数据进行数据归约的方法,包括:
首先,对数据清理完成的软件可测试需求的数据进行数据标准化,并计算相关矩阵;
根据得出的相关矩阵,计算相关矩阵的特征值、特征向量及相应的贡献率;
根据累计贡献率,选择上述数据中两个或者三个主成分,并解释主成分。
进一步,所述对数据清理完成的软件可测试需求的数据进行数据离散化方法,包括:
首先,数据清理完成的软件可测试需求的数据建立相应的训练数据,从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法;
根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长,形成决策树;
利用决策树对数据清理完成的软件可测试需求的数据进行离散化处理。
进一步,所述步骤五中,对软件可测试需求的分析方法还包括当需求变更时需进行需求更新。
进一步,所述需求更新方法包括:
(1)建立需求追踪矩阵,进行软件需求、测试设计的追踪;
(2)当软件需求发生变更时,同步更新测试需求;
(3)分析测试需求变更带来的影响,进行回归测试。
本发明的另一目的在于提供一种实施所述的对软件可测试需求的分析方法的对软件可测试需求分析系统,其特征在于,所述软件可测试需求分析系统包括:
采集模块,与中央处理模块连接,用于基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;采集模块对基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息进行分类的方法为,基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;提取采集数据信息数据特征,建立相应的分类对象;建立相对应的分类对象距离模型;将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类;
测试需求整理模块,与中央处理模块连接,用于对采集到的测试需求划分为两大类十小类;所述测试需求整理模块按照两大类十小类对采集到的测试需求进行需求划分;所述两大类为功能测试需求与非功能测试需求;所述十小类为:业务需求、业务规范、约束、外部接口需求、特性、功能需求、非功能需求、质量属性、系统需求、用户需求;
测试需求分析模块,与中央处理模块连接,用于基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;首先,基于测试需求划分结果,根据被测软件特征、重要性程度,进行被测软件状态、接口、数据结构、设计约束基础分析;同时还包括选取测试类型,确定相应测试内容和要求;其次,通过审阅开发文档,当开发文档没有明确描述软件对边界值和异常值的处理方式时,特别关注边界值和异常值处理,挖掘遗失需求;并利用组织资产库,使用组织常用的需求分析模型或经过积累的需求分析检查单的方式,进行隐含需求挖掘;最后,基于分析、隐含需求挖掘结果结合采集到的相关需求生成测试需求列表;
测试需求确认模块,与中央处理模块连接,用于基于生成的测试需求列表进行完整性以及准确性审查;
需求补录模块,与中央处理模块连接,用于基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
任务划分模块,与中央处理模块连接,用于基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;
需求反馈模块,与中央处理模块连接,用于基于测试任务划分结果反馈软件可测试需求是否准确、全面;
测试需求更新模块,与中央处理模块连接,用于当需求变更时进行需求的更新;对软件可测试需求的分析方法还包括当需求变更时需进行需求更新;所述需求更新方法包括:建立需求追踪矩阵,进行软件需求、测试设计的追踪;当软件需求发生变更时,同步更新测试需求;分析测试需求变更带来的影响,进行回归测试。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
(1)本发明通过采集模块用于基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;测试需求整理模块用于对采集到的测试需求划分为两大类十小类;测试需求分析模块用于基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;测试需求确认模块用于基于生成的测试需求列表进行完整性以及准确性审查;需求补录模块用于基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;任务划分模块用于基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;需求反馈模块用于基于测试任务划分结果反馈软件可测试需求是否准确、全面;测试需求更新模块用于当需求变更时进行需求的更新。本发明能够获取软件功能性测试需求和非功能性测试需求,同时能够充分挖掘隐含需求和遗失需求;同时能够及时修正与更新软件需求,使软件测试全过程中测试需求的变更始终处于受控状态。
(2)本发明可提高软件测试需求分析的充分性,并减少和避免测试需求变更给测试工作带来的困难和损失,为后续工作指引方向,带来便利。本发明的分析方法分析得到的软件需求清晰,完整,且能够更改,可靠性强。
(3)本发明对数据清理完成的软件可测试需求的数据进行数据归约的方法,可以不需要预先制定聚类数,同时易确定相应层次关系。
(4)本发明对数据清理完成的软件可测试需求的数据进行数据离散化方法,有效克服数据中隐藏的缺陷,利于对数据进行诊断和描述。
(5)本发明对软件可测试需求更新方法,当软件需求发生变更时,同步更新测试需求,提高数据的时效性。
附图说明
图1是本发明实施例提供的对软件可测试需求的分析系统结构示意图。
图2是本发明实施例提供的对软件可测试需求的分析方法流程图。
图3是本发明实施例提供的采集模块需求信息进行分类的方法流程图。
图4是本发明实施例提供的对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表方法流程图。
图5是本发明实施例提供的需求更新方法流程图。
图中:1、采集模块;2、测试需求整理模块;3、测试需求分析模块;4、测试需求确认模块;5、需求补录模块;6、任务划分模块;7、需求反馈模块;8、测试需求更新模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种对软件可测试需求的分析方法及系统,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的对软件可测试需求分析系统包括:
采集模块1,与中央处理模块9连接,用于基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求。
测试需求整理模块2,与中央处理模块9连接,用于对采集到的测试需求划分为两大类十小类。
测试需求分析模块3,与中央处理模块9连接,用于基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表。
测试需求确认模块4,与中央处理模块9连接,用于基于生成的测试需求列表进行完整性以及准确性审查。
需求补录模块5,与中央处理模块9连接,用于基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表。
任务划分模块6,与中央处理模块9连接,用于基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分。
需求反馈模块7,与中央处理模块9连接,用于基于测试任务划分结果反馈软件可测试需求是否准确、全面。
测试需求更新模块8,与中央处理模块9连接,用于当需求变更时进行需求的更新。
如图2所示,本发明实施例提供的对软件可测试需求的分析方法包括:
S101:通过采集模块基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求。
S102:根据采集的数据信息,测试需求整理模块将采集到的测试需求进行划分整理,核对测试需求是否完整;通过测试需求分析模块基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表。
S103:通过测试需求确认模块基于生成的测试需求列表进行完整性以及准确性审查;通过需求补录模块基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表。
S104:通过任务划分模块基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;通过需求反馈模块基于测试任务划分结果反馈软件可测试需求是否准确、全面。
S105:在整个软件测试过程中,通过测试需求更新模块当需求变更时进行需求的更新。
本发明实施例提供的S101中,采集模块1对基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息进行分类的方法,包括:
S201:基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合。
S202:提取采集数据信息数据特征,建立相应的分类对象;建立相对应的分类对象距离模型。
S203:将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离。
S204:将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类。
本发明实施例提供的S102中,对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表方法包括:
S301:基于测试需求划分结果,根据被测软件特征、重要性程度,进行被测软件状态、接口、数据结构、设计约束基础分析;同时还包括选取测试类型,确定相应测试内容和要求。
S302:通过审阅开发文档,当开发文档没有明确描述软件对边界值和异常值的处理方式时,特别关注边界值和异常值处理,挖掘遗失需求;并利用组织资产库,使用组织常用的需求分析模型或经过积累的需求分析检查单的方式,进行隐含需求挖掘。
S303:基于分析、隐含需求挖掘结果结合采集到的相关需求生成测试需求列表。
本发明实施例提供的S102中,测试需求整理模块2包括:
所述测试需求整理模块2按照两大类十小类对采集到的测试需求进行需求划分。
所述两大类为功能测试需求与非功能测试需求。
所述十小类为:业务需求、业务规范、约束、外部接口需求、特性、功能需求、非功能需求、质量属性、系统需求、用户需求。
本发明实施例提供的S102中,测试需求分析模块3挖掘隐含需求过程为:
在基于测试需求划分结果对采集到的相关需求进行测试需求的分析过程中,对所分析的软件可测试需求的数据进行数据预处理,数据清理,数据集成,数据归约,数据变换或者数据离散化;
根据数据变换完成的数据,选择合适最佳模型;利用最佳模型对变换完成的数据进行结果分析和改进,实现隐含需求数据的挖掘。
所述对所分析的软件可测试需求的数据进行数据清理的过程为:
根据所分析的软件可测试需求的数据,确定相应的变量和因变量,建立相应的变量关系;
根据变量关系,对缺失数据进行预测,并且利用利用蒙特卡洛方法生成多个完整的数据集;
在对这些数据集进行数据分析,最后对分析结果进行汇总处理,实现对数据的填充和清理。
所述对数据清理完成的软件可测试需求的数据进行数据归约的方法,包括:
首先,对数据清理完成的软件可测试需求的数据进行数据标准化,并计算相关矩阵;
根据得出的相关矩阵,计算相关矩阵的特征值、特征向量及相应的贡献率;
根据累计贡献率,选择上述数据中两个或者三个主成分,并解释主成分。
所述对数据清理完成的软件可测试需求的数据进行数据离散化方法,包括:
首先,数据清理完成的软件可测试需求的数据建立相应的训练数据,从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法;
根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长,形成决策树。
利用决策树对数据清理完成的软件可测试需求的数据进行离散化处理。
本发明实施例提供的S105中对软件可测试需求的分析方法还包括当需求变更时需进行需求更新;
所述需求更新方法包括:
S401:建立需求追踪矩阵,进行软件需求、测试设计的追踪。
S402:当软件需求发生变更时,同步更新测试需求。
S403:分析测试需求变更带来的影响,进行回归测试。
本发明工作时,首先通过采集模块1基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;其次通过测试需求整理模块2将采集到的测试需求进行划分整理,核对测试需求是否完整;通过测试需求分析模块3基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;然后,通过测试需求确认模块4基于生成的测试需求列表进行完整性以及准确性审查;通过需求补录模块5基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;再者,通过任务划分模块6基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;通过需求反馈模块7基于测试任务划分结果反馈软件可测试需求是否准确、全面。最后,在整个软件测试过程中,通过测试需求更新模块8当需求变更时进行需求的更新。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种对软件可测试需求的分析方法,其特征在于,所述对软件可测试需求的分析方法包括:
步骤一,通过采集模块基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;
步骤二,根据采集的数据信息,测试需求整理模块将采集到的测试需求进行划分整理,核对测试需求是否完整;通过测试需求分析模块基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;
步骤三,通过测试需求确认模块基于生成的测试需求列表进行完整性以及准确性审查;通过需求补录模块基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
步骤四,通过任务划分模块基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;通过需求反馈模块基于测试任务划分结果反馈软件可测试需求是否准确、全面;
步骤五,在整个软件测试过程中,通过测试需求更新模块当需求变更时进行需求的更新;
所述步骤一中,采集模块对基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息进行分类的方法,包括:
基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;
提取采集数据信息数据特征,建立相应的分类对象;建立相对应的分类对象距离模型;
将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;
将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类。
2.如权利要求1所述的对软件可测试需求的分析方法,其特征在于,所述步骤二中,对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表包括:
首先,基于测试需求划分结果,根据被测软件特征、重要性程度,进行被测软件状态、接口、数据结构、设计约束基础分析;同时还包括选取测试类型,确定相应测试内容和要求;
其次,通过审阅开发文档,当开发文档没有明确描述软件对边界值和异常值的处理方式时,特别关注边界值和异常值处理,挖掘遗失需求;并利用组织资产库,使用组织常用的需求分析模型或经过积累的需求分析检查单的方式,进行隐含需求挖掘;
最后,基于分析、隐含需求挖掘结果结合采集到的相关需求生成测试需求列表。
3.如权利要求1所述的对软件可测试需求的分析方法,其特征在于,所述步骤二中,测试需求整理模块包括:
所述测试需求整理模块按照两大类十小类对采集到的测试需求进行需求划分;
所述两大类为功能测试需求与非功能测试需求;
所述十小类为:业务需求、业务规范、约束、外部接口需求、特性、功能需求、非功能需求、质量属性、系统需求、用户需求。
4.如权利要求1所述的对软件可测试需求的分析方法,其特征在于,所述步骤二中,测试需求分析模块挖掘隐含需求过程为:
在基于测试需求划分结果对采集到的相关需求进行测试需求的分析过程中,对所分析的软件可测试需求的数据进行数据预处理,数据清理,数据集成,数据归约,数据变换或者数据离散化;
根据数据变换完成的数据,选择合适最佳模型;利用最佳模型对变换完成的数据进行结果分析和改进,实现隐含需求数据的挖掘。
5.如权利要求4所述的对软件可测试需求的分析方法,其特征在于,所述对所分析的软件可测试需求的数据进行数据清理的过程为:
根据所分析的软件可测试需求的数据,确定相应的变量和因变量,建立相应的变量关系;
根据变量关系,对缺失数据进行预测,并且利用利用蒙特卡洛方法生成多个完整的数据集;
在对这些数据集进行数据分析,最后对分析结果进行汇总处理,实现对数据的填充和清理。
6.如权利要求4所述的对软件可测试需求的分析方法,其特征在于,所述对数据清理完成的软件可测试需求的数据进行数据归约的方法,包括:
首先,对数据清理完成的软件可测试需求的数据进行数据标准化,并计算相关矩阵;
根据得出的相关矩阵,计算相关矩阵的特征值、特征向量及相应的贡献率;
根据累计贡献率,选择上述数据中两个或者三个主成分,并解释主成分。
7.如权利要求4所述的对软件可测试需求的分析方法,其特征在于,所述对数据清理完成的软件可测试需求的数据进行数据离散化方法,包括:
首先,数据清理完成的软件可测试需求的数据建立相应的训练数据,从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选择特征有着很多不同量化评估标准标准,从而衍生出不同的决策树算法;
根据选择的特征评估标准,从上至下递归地生成子节点,直到数据集不可分则停止决策树停止生长,形成决策树;
利用决策树对数据清理完成的软件可测试需求的数据进行离散化处理。
8.如权利要求1所述的对软件可测试需求的分析方法,其特征在于,所述步骤五中,对软件可测试需求的分析方法还包括当需求变更时需进行需求更新。
9.如权利要求8所述的对软件可测试需求的分析方法,其特征在于,所述需求更新方法包括:
(1)建立需求追踪矩阵,进行软件需求、测试设计的追踪;
(2)当软件需求发生变更时,同步更新测试需求;
(3)分析测试需求变更带来的影响,进行回归测试。
10.一种实施如权利要求1-9所述的对软件可测试需求的分析方法的对软件可测试需求分析系统,其特征在于,所述软件可测试需求分析系统包括:
采集模块,与中央处理模块连接,用于基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求;采集模块对基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息进行分类的方法为,基于待测软件相关的各种文档、背景、培训资料或通过运行被测系统及其他方式采集测试需求信息建立相应的数据集合;提取采集数据信息数据特征,建立相应的分类对象;建立相对应的分类对象距离模型;将需要分类的对象和分类对象带入建立的距离模型中,计算两者的距离;将距离小的需要分类对象与分类对象划分为一类,重复上述过程,直到对所有需要分类的对象进行分类;
测试需求整理模块,与中央处理模块连接,用于对采集到的测试需求划分为两大类十小类;所述测试需求整理模块按照两大类十小类对采集到的测试需求进行需求划分;所述两大类为功能测试需求与非功能测试需求;所述十小类为:业务需求、业务规范、约束、外部接口需求、特性、功能需求、非功能需求、质量属性、系统需求、用户需求;
测试需求分析模块,与中央处理模块连接,用于基于测试需求划分结果对采集到的相关需求进行测试需求的分析,挖掘隐含需求并修订生成测试需求列表;首先,基于测试需求划分结果,根据被测软件特征、重要性程度,进行被测软件状态、接口、数据结构、设计约束基础分析;同时还包括选取测试类型,确定相应测试内容和要求;其次,通过审阅开发文档,当开发文档没有明确描述软件对边界值和异常值的处理方式时,特别关注边界值和异常值处理,挖掘遗失需求;并利用组织资产库,使用组织常用的需求分析模型或经过积累的需求分析检查单的方式,进行隐含需求挖掘;最后,基于分析、隐含需求挖掘结果结合采集到的相关需求生成测试需求列表;
测试需求确认模块,与中央处理模块连接,用于基于生成的测试需求列表进行完整性以及准确性审查;
需求补录模块,与中央处理模块连接,用于基于测试需求的完整性及准确性审查结果进行软件可测试需求的更改、补充及修订,得到完整准确的软件可测试需求列表;
任务划分模块,与中央处理模块连接,用于基于得到的完整准确的软件可测试需求列表按照实际需要、优先级以及可测试时间进行测试任务的划分;
需求反馈模块,与中央处理模块连接,用于基于测试任务划分结果反馈软件可测试需求是否准确、全面;
测试需求更新模块,与中央处理模块连接,用于当需求变更时进行需求的更新;对软件可测试需求的分析方法还包括当需求变更时需进行需求更新;所述需求更新方法包括:建立需求追踪矩阵,进行软件需求、测试设计的追踪;当软件需求发生变更时,同步更新测试需求;分析测试需求变更带来的影响,进行回归测试。
CN202010272025.2A 2020-04-09 2020-04-09 一种对软件可测试需求的分析方法及系统 Active CN111444106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010272025.2A CN111444106B (zh) 2020-04-09 2020-04-09 一种对软件可测试需求的分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010272025.2A CN111444106B (zh) 2020-04-09 2020-04-09 一种对软件可测试需求的分析方法及系统

Publications (2)

Publication Number Publication Date
CN111444106A true CN111444106A (zh) 2020-07-24
CN111444106B CN111444106B (zh) 2023-09-01

Family

ID=71651266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010272025.2A Active CN111444106B (zh) 2020-04-09 2020-04-09 一种对软件可测试需求的分析方法及系统

Country Status (1)

Country Link
CN (1) CN111444106B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181365A (zh) * 2020-09-02 2021-01-05 广州威尔森信息科技有限公司 一种结构化的软件需求分析方法及装置
CN114742412A (zh) * 2022-04-13 2022-07-12 尚班(北京)网络科技有限公司 一种软件技术服务系统及方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1478193A2 (en) * 2003-05-13 2004-11-17 Samsung Electronics Co., Ltd. Generation of test streams for testing digital TV software
CN101187959A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 基于决策树的游戏作弊检测方法
CN101556553A (zh) * 2009-03-27 2009-10-14 中国科学院软件研究所 基于需求变更的缺陷预测方法和系统
CN102346763A (zh) * 2010-07-30 2012-02-08 埃森哲环球服务有限公司 用于分析需求的系统和方法
CN104731953A (zh) * 2015-03-31 2015-06-24 河海大学 一种基于r的数据预处理系统的构建方法
WO2016053183A1 (en) * 2014-09-30 2016-04-07 Mentorica Technology Pte Ltd Systems and methods for automated data analysis and customer relationship management
US20160117732A1 (en) * 2014-10-23 2016-04-28 Jian Zou User Need Estimation On Mobile Device And Its Applications
US20160371167A1 (en) * 2015-06-17 2016-12-22 General Electric Company Scalable methods for analyzing formalized requirements and localizing errors
US20190129701A1 (en) * 2017-10-27 2019-05-02 Intuit Inc. Methods, systems, and computer program products for automating releases and deployment of a softawre application along the pipeline in continuous release and deployment of software application delivery models
US20190213407A1 (en) * 2018-01-11 2019-07-11 Teqmine Analytics Oy Automated Analysis System and Method for Analyzing at Least One of Scientific, Technological and Business Information
CN110347580A (zh) * 2019-04-28 2019-10-18 北京航空航天大学 一种构建非嵌入式软件可靠性测试过程模型的方法
KR102042413B1 (ko) * 2019-01-29 2019-11-08 한국과학기술정보연구원 대중교통 네트워크 최적화 시스템 및 대중교통 네트워크 최적화 방법
CN110569197A (zh) * 2019-09-12 2019-12-13 中国工程物理研究院计算机应用研究所 一种用于软件可信性评估的可信证据分析与度量方法
CN110795073A (zh) * 2019-10-28 2020-02-14 浙江天空信息科技有限公司 一种计算机软件开发方法
CN110955592A (zh) * 2019-10-21 2020-04-03 北京航空航天大学 一种飞行训练模拟器软件的测试方法及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1478193A2 (en) * 2003-05-13 2004-11-17 Samsung Electronics Co., Ltd. Generation of test streams for testing digital TV software
CN101187959A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 基于决策树的游戏作弊检测方法
CN101556553A (zh) * 2009-03-27 2009-10-14 中国科学院软件研究所 基于需求变更的缺陷预测方法和系统
CN102346763A (zh) * 2010-07-30 2012-02-08 埃森哲环球服务有限公司 用于分析需求的系统和方法
WO2016053183A1 (en) * 2014-09-30 2016-04-07 Mentorica Technology Pte Ltd Systems and methods for automated data analysis and customer relationship management
US20160117732A1 (en) * 2014-10-23 2016-04-28 Jian Zou User Need Estimation On Mobile Device And Its Applications
CN104731953A (zh) * 2015-03-31 2015-06-24 河海大学 一种基于r的数据预处理系统的构建方法
US20160371167A1 (en) * 2015-06-17 2016-12-22 General Electric Company Scalable methods for analyzing formalized requirements and localizing errors
US20190129701A1 (en) * 2017-10-27 2019-05-02 Intuit Inc. Methods, systems, and computer program products for automating releases and deployment of a softawre application along the pipeline in continuous release and deployment of software application delivery models
US20190213407A1 (en) * 2018-01-11 2019-07-11 Teqmine Analytics Oy Automated Analysis System and Method for Analyzing at Least One of Scientific, Technological and Business Information
KR102042413B1 (ko) * 2019-01-29 2019-11-08 한국과학기술정보연구원 대중교통 네트워크 최적화 시스템 및 대중교통 네트워크 최적화 방법
CN110347580A (zh) * 2019-04-28 2019-10-18 北京航空航天大学 一种构建非嵌入式软件可靠性测试过程模型的方法
CN110569197A (zh) * 2019-09-12 2019-12-13 中国工程物理研究院计算机应用研究所 一种用于软件可信性评估的可信证据分析与度量方法
CN110955592A (zh) * 2019-10-21 2020-04-03 北京航空航天大学 一种飞行训练模拟器软件的测试方法及装置
CN110795073A (zh) * 2019-10-28 2020-02-14 浙江天空信息科技有限公司 一种计算机软件开发方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
2020从放弃到开始: "软件测试需求分析" *
CHENGTAO XU: "Designing and Research of a PWM DC Speed-Regulating System" *
LILY_我是一个小钢豆: "数据预处理—-(数据探索、数据清理、数据集成、数据规约、数据变换)" *
兔兔西: "【编程素质】软件质量" *
张素芬: "软件测试需求分析方法和过程研究" *
智慧蓉城: "什么是需求分析呢?" *
李丹;: "软件测试需求的开发与管理", 电子产品可靠性与环境试验, no. 05 *
陈涛: "大规模网络存储系统的数据布局算法研究" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181365A (zh) * 2020-09-02 2021-01-05 广州威尔森信息科技有限公司 一种结构化的软件需求分析方法及装置
CN114742412A (zh) * 2022-04-13 2022-07-12 尚班(北京)网络科技有限公司 一种软件技术服务系统及方法

Also Published As

Publication number Publication date
CN111444106B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN101866317B (zh) 一种基于聚类分析的回归测试用例选择方法
CN107844424B (zh) 基于模型的测试系统及方法
CN112817865A (zh) 一种基于组件化分布式系统的覆盖精准测试方法及其系统
CN106708738B (zh) 一种软件测试缺陷预测方法及系统
CN111782460A (zh) 大规模日志数据的异常检测方法、装置和存储介质
Li et al. Classification of software defect detected by black-box testing: An empirical study
CN111444106A (zh) 一种对软件可测试需求的分析方法及系统
CN115964273A (zh) 基于深度学习的航天器测试脚本自动生成方法
CN104598375B (zh) 一种用于软件开发的缺陷预测方法
KR102411291B1 (ko) 스마트공장 데이터 품질평가 방법
CN117519656A (zh) 一种基于智能制造的软件开发系统
CN105138612A (zh) 数据一致性差异原因的分析和定位的方法及系统
CN110377493B (zh) 一种面向代码可读性的单元测试用例优化方法
CN109582562B (zh) 基于生成对抗网络的智能化软件测试及云平台构建方法
CN109165155B (zh) 一种基于聚类分析的软件缺陷修复模板提取方法
CN113485940B (zh) 一种基于参数抽象建模的组合测试用例生成方法
Zhang et al. Condition-guided adversarial generative testing for deep learning systems
CN116149992A (zh) 航空机载软件安全性分析规则的关联推送方法及其系统
Zhang et al. A restricted natural language based use case modeling methodology for real-time systems
Miller et al. Reasoning: Installation process step instructions as an automated assembly time estimation tool
CN109976802B (zh) 一种面向模式的软件架构重构方法
Nikfard et al. Functional testing on web applications
CN117609100B (zh) 一种自动化代码合并及部署方法
CN112527682B (zh) 一种产品功能性与用户协调性融合的模型开发方法
CN113011484B (zh) 基于分类树和判定树的图形化的需求分析及测试用例生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant