本发明涉及软件,具体涉及一种航天装备软件逆向分析测试需求建模方法及装置。
背景技术:
1、随着科技技术的不断发展,装备软件系统的规模和复杂程度呈指数级上升,给软件测试人员的测试验证工作带来了巨大的挑战。在测试验证过程中,测试需求分析是至关重要的环节,且往往受制于软件设计人员提供的文档。而以自然语言描述的软件需求具有不确定性、二义性且缺乏对软件需求进行严格检查的有效途径,因此无法确保软件需求的正确性、完善性和合理性,这对开发和测试高可信装备软件带来重要隐患。
2、形式化是一种基于数学的软件开发方法,其主要思想是通过严格的数学逻辑推理方式,对装备软件系统所有可能出现的状态进行验证,具有精确性、无歧义、完整性等特点,是保证软件质量和提高软件生产率的有效方法。
3、目前主流的利用形式化对软件需求展开分析主要是通过软件设计人员提供的文档。形式化描述的优劣、精细程度很大一部分取决于设计文档描述的颗粒度以及测试人员的专业水平。一方面,将装备软件开展软件需求和测试用例需求形式化描述,需要开发人员、测试人员具备良好的数学基础和抽象思维能力并花费大量学习成本学习相关专业知识;另一方面,采用人工的方式进行复杂装备软件形式化需求描述可能会存在描述错误和遗漏分支的情况,无法完全保证软件的可靠性。此外,现有的形式化方式都是针对某一种方式进行展开,导致现有方式的使用面有限,如果想利用其他形式化手段对装备软件展开分析,则需要重新针对该方法展开分析和建模。可见,过高的人力成本和学习成本阻碍了形式化技术在装备软件中的进一步发展和应用。
技术实现思路
1、针对现有技术中存在的缺陷,本发明的目的在于提供一种航天装备软件逆向分析测试需求建模方法及装置,能够提高软件需求分析效率,并保证装备软件的可靠性。
2、为达到以上目的,本发明提供一种航天装备软件逆向分析测试需求建模方法,具体包括以下步骤:
3、创建用于对源代码进行逆向分析的逆向分析测试需求建模工具,并导入待分析源代码至逆向分析测试需求建模工具;
4、基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案;
5、根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示。
6、在上述技术方案的基础上,所述基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案,具体步骤包括:
7、基于逆向分析测试需求建模工具的输入界面,输入待分析源代码的待分析函数名称,以及需要转换的形式化描述方案。
8、在上述技术方案的基础上,所述根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示,具体步骤包括:
9、逆向分析测试需求建模工具对待分析源代码的关键字进行分析,并根据设定逆向分析建模规则自动解析待分析源代码的执行流程;
10、逆向分析测试需求建模工具的显示界面以形式化流程图形式对分析结果进行展示。
11、在上述技术方案的基础上,所述关键字为代码中的条件表达式。
12、在上述技术方案的基础上,在以形式化流程图形式对分析结果进行展示的同时,还包括:逆向分析测试需求建模工具以xml文件形式对形式化流程图进行记录。
13、本发明提供一种航天装备软件逆向分析测试需求建模装置,包括:
14、创建模块,其用于创建用于对源代码进行逆向分析的逆向分析测试需求建模工具,并导入待分析源代码至逆向分析测试需求建模工具;
15、选择模块,其用于基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案;
16、执行模块,其用于根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示。
17、在上述技术方案的基础上,所述基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案,具体过程包括:
18、基于逆向分析测试需求建模工具的输入界面,输入待分析源代码的待分析函数名称,以及需要转换的形式化描述方案。
19、在上述技术方案的基础上,所述根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示,具体过程包括:
20、逆向分析测试需求建模工具对待分析源代码的关键字进行分析,并根据设定逆向分析建模规则自动解析待分析源代码的执行流程;
21、逆向分析测试需求建模工具的显示界面以形式化流程图形式对分析结果进行展示。
22、在上述技术方案的基础上,所述关键字为代码中的条件表达式。
23、在上述技术方案的基础上,在以形式化流程图形式对分析结果进行展示的同时,还包括:逆向分析测试需求建模工具以xml文件形式对形式化流程图进行记录。
24、与现有技术相比,本发明的优点在于:以产品源代码文件作为输入,逆向自动解析代码逻辑并为装备软件生产出所有执行流程分支的形式化描述,彻底解决测试人员从设计文档中耗时提取测试软件需求时可能面临的测试需求提取不充分不完善的局面,也摆脱了利用形式化方法对软件需求开展分析时所需要的专业人工辅助,打破装备软件研制过程中总体、软件开发、软件测试三方专业壁垒,提高软件需求分析效率,从而保证装备软件的可靠性。
1.一种航天装备软件逆向分析测试需求建模方法,其特征在于,具体包括以下步骤:
2.如权利要求1所述的一种航天装备软件逆向分析测试需求建模方法,其特征在于,所述基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案,具体步骤包括:
3.如权利要求1所述的一种航天装备软件逆向分析测试需求建模方法,其特征在于,所述根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示,具体步骤包括:
4.如权利要求3所述的一种航天装备软件逆向分析测试需求建模方法,其特征在于:所述关键字为代码中的条件表达式。
5.如权利要求1所述的一种航天装备软件逆向分析测试需求建模方法,其特征在于,在以形式化流程图形式对分析结果进行展示的同时,还包括:逆向分析测试需求建模工具以xml文件形式对形式化流程图进行记录。
6.一种航天装备软件逆向分析测试需求建模装置,其特征在于,包括:
7.如权利要求6所述的一种航天装备软件逆向分析测试需求建模装置,其特征在于,所述基于导入的待分析源代码,选择确定待分析的函数名称,以及需要转换的形式化描述方案,具体过程包括:
8.如权利要求6所述的一种航天装备软件逆向分析测试需求建模装置,其特征在于,所述根据设定逆向分析建模规则自动解析待分析源代码,并以形式化流程图形式对分析结果进行展示,具体过程包括:
9.如权利要求8所述的一种航天装备软件逆向分析测试需求建模装置,其特征在于:所述关键字为代码中的条件表达式。
10.如权利要求6所述的一种航天装备软件逆向分析测试需求建模装置,其特征在于,在以形式化流程图形式对分析结果进行展示的同时,还包括:逆向分析测试需求建模工具以xml文件形式对形式化流程图进行记录。