一种测试参数的生成方法及装置制造方法及图纸

技术编号:24755935 阅读:25 留言:0更新日期:2020-07-04 09:07
本发明专利技术公开了一种测试参数的生成方法及装置,其中方法为:获取表征待测各参数之间依赖关系的第一逻辑表达式;将所述第一逻辑表达式转换为第二逻辑表达式,根据所述第二逻辑表达式确定所述待测各参数的取值范围的各等价类,并生成所述各等价类的测试参数。上述方法应用于金融科技(Fintech)时,可以自动准确地生成各等价类的测试参数。

A method and device for generating test parameters

【技术实现步骤摘要】
一种测试参数的生成方法及装置
本专利技术涉及金融科技(Fintech)领域和软件测试领域,尤其涉及一种测试参数的生成方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融科技的相关软件上线之前,为验证软件的可靠性等,通常要对软件做测试,以及时修复软件漏洞。软件中会用到各种各样的参数,各参数之间可能存在依赖关系,即一个参数的合法取值范围可能受到另一个参数取值的影响,举例来说,参数一表示月份,参数二表示一个月的天数,显然,参数一取2时,参数二便不能取30。因此在测试生成各参数的具体值时,需要考虑到各参数之间存在依赖关系。为了尽可能减少生成的测试用例,目前常通过对各参数等价类进行划分后,再生成等价类测试,即将软件中各参数的取值范围划分为等价类,基于等价关系的性质,在每个等价类中选择一个具有代表性的元素生成测试参数,便可测试出整个等价类是否有问题。显然,等价类划分对于软件测试来说有重要意义,但目前需要人为分析排查等价类,这无疑会拖延整个测试过程的进度。因此,现有技术中不能自动通过各参数之间的依赖关系生成各等价类的测试参数,这是一个亟待解决的问题。
技术实现思路
本专利技术提供一种测试参数的生成方法及装置,解决了现有技术中不能自动通过各参数之间的依赖关系生成各等价类的测试参数的问题。第一方面,本专利技术提供一种测试参数的生成方法,包括:获取表征待测各参数之间依赖关系的第一逻辑表达式;所述第一逻辑表达式包括通过蕴含连接词关联的依赖条件和依赖取值,其中,所述依赖条件和所述依赖取值中包括约束各参数的取值范围的各独立命题,或,各独立命题及各独立命题之间的各逻辑连接词;将所述第一逻辑表达式转换为第二逻辑表达式,其中,所述第二逻辑表达式中各蕴含连接词关联的依赖取值仅包含一个独立命题且所述各蕴含连接词的依赖条件中的各独立命题之间符合简单合取式的要求;根据所述第二逻辑表达式确定所述待测各参数的取值范围的各等价类,并生成所述各等价类的测试参数。上述方法中,获取表征待测各参数之间依赖关系的第一逻辑表达式后,对所述第一逻辑表达式中的依赖条件和依赖取值进行转换,得到第二逻辑表达式,第二逻辑表达式中各蕴含连接词关联的依赖取值仅包含一个独立命题且所述各蕴含连接词的依赖条件中的各独立命题之间符合简单合取式的要求,并进一步得到各等价类,生成各等价类的测试参数,从而提出了一种根据特定形式的第一逻辑表达式转换为特定形式的第二逻辑表达式的方法,并可基于特定形式的第二逻辑表达式确定所述待测各参数的取值范围的各等价类,并生成所述各等价类的测试参数。可选地,所述将所述第一逻辑表达式转换为第二逻辑表达式,包括:根据预设的等价转换公式,对所述第一逻辑表达式中的依赖取值进行转换处理,得到所述第一逻辑表达式等价转换后的依赖条件及所述第二逻辑表达式中的各依赖取值;所述第一逻辑表达式中的依赖取值进行转换处理后的各蕴含连接词关联的依赖取值仅包含一个独立命题;根据所述等价转换公式,对所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件,作为所述第二逻辑表达式中的依赖条件。上述方法中,先根据预设的等价转换公式,对所述第一逻辑表达式中的依赖取值进行转换处理,使得变换后的逻辑表达式中的各依赖取值仅包含一个独立命题,再根据所述等价转换公式,对所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件,从而提出了一种按照特定形式先对所述第一逻辑表达式中的依赖取值进行转换处理,再对所述第一逻辑表达式等价转换后的依赖条件的固定方法,得到特定形式的第二逻辑表达式。可选地,所述预设的等价变换公式包括:公式一:p->(q∧r)=>(p->q)∧(p->r);公式二:p->(q∨r)=>(p∨(!r))->q;其中,p、q和r均包括至少一个独立命题,且p、q和r中均不包括蕴含连接词;->表示蕴含连接词;∧表示和连接词;∨表示或连接词;!表示非连接词;=>表示等价变换。上述方法中,公式一给出了第一逻辑表达式中的依赖取值中最外层含或连接词时减少依赖取值中独立命题数目的等价转换方式,公式二给出了第一逻辑表达式中的依赖取值中最外层含与连接词时减少依赖取值中独立命题数目的等价转换方式,从而给出了通过公式一和公式二减少依赖取值中独立命题数目的等价转换方式。可选地,所述根据离散数学的等价转换公式,对所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件,包括:根据所述第一逻辑表达式等价转换后的依赖条件,建立所述第一逻辑表达式等价转换后的依赖条件的表达式树;通过表达式树算法,对所述第一逻辑表达式运用离散数学的等价转换公式,从而将所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件。上述方式下,建立较为直观的所述第一逻辑表达式等价转换后的依赖条件的表达式树,再通过表达式树算法,对所述第一逻辑表达式运用离散数学的等价转换公式,从而提供了一种通过表达式树算法转换得到简单合取式形式的依赖条件的方法。可选地,所述第一逻辑表达式等价转换后的依赖条件的表达式树是通过表达式树栈和符号栈建立的;所述表达式树栈用于存储所述表达式树;所述符号栈用于存储逻辑连接词或括号;所述根据所述第一逻辑表达式等价转换后的依赖条件,建立所述第一逻辑表达式等价转换后的依赖条件的表达式树,包括:从左往右依次扫描所述第一逻辑表达式等价转换后的依赖条件,针对每次扫描到的扫描单元,对所述扫描单元执行第一预设操作;将对所述第一逻辑表达式等价转换后的依赖条件扫描完毕后得到的表达式树,作为所述第一逻辑表达式等价转换后的依赖条件的表达式树;所述第一预设操作为:若所述扫描单元为独立命题,则压入所述表达式树栈;若所述扫描单元为逻辑连接词,且所述符号栈的栈顶元素不为空且所述逻辑连接词的运算优先级低于或等于所述符号栈的栈顶的逻辑连接词优先级,则从所述表达式树栈弹出两棵表达式树,并将根据所述两棵表达式树及所述扫描单元生成的一颗表达式树,压入所述表达式树栈;若所述扫描单元为逻辑连接词,且所述逻辑连接词的运算优先级高于所述符号栈的栈顶的逻辑连接词优先级或所述符号栈的栈顶元素为空,则将所述扫描单元压入所述符号栈;若所述扫描单元为左括号,则将所述扫描单元压入所述符号栈,若所述扫描单元为右括号,则从所述表达式树栈弹出两棵表达式树,并根据所述符号栈的栈顶逻辑连接词与所述两棵表达式树生成一颗表达式树,将所述表达式树压入所述表达式树栈。上述方式下,所述第一逻辑表达式等价转换后的依赖条件的表达式树是通过表达式树栈和符号栈建立的;所述表达式树栈用于存储所述表达式树;所述符号栈用于存储逻辑连接词或括号,在定义好的第一预设操作的基础上,从左往右依次扫描所述第一逻辑表达式等价转换后的依赖条件,并针对每次扫描到的扫描单元执行第一预设操作,扫描完毕便能得到的表达式树,从而提供了一种通过表达式树栈和符号栈自动本文档来自技高网...

【技术保护点】
1.一种测试参数的生成方法,其特征在于,包括:/n获取表征待测各参数之间依赖关系的第一逻辑表达式;所述第一逻辑表达式包括通过蕴含连接词关联的依赖条件和依赖取值,其中,所述依赖条件和所述依赖取值中包括约束各参数的取值范围的各独立命题,及各独立命题之间的各逻辑连接词;/n将所述第一逻辑表达式转换为第二逻辑表达式,其中,所述第二逻辑表达式中各蕴含连接词关联的依赖取值仅包含一个独立命题且所述各蕴含连接词的依赖条件中的各独立命题之间符合简单合取式的要求;/n根据所述第二逻辑表达式确定所述待测各参数的取值范围的各等价类,并生成所述各等价类的测试参数。/n

【技术特征摘要】
1.一种测试参数的生成方法,其特征在于,包括:
获取表征待测各参数之间依赖关系的第一逻辑表达式;所述第一逻辑表达式包括通过蕴含连接词关联的依赖条件和依赖取值,其中,所述依赖条件和所述依赖取值中包括约束各参数的取值范围的各独立命题,及各独立命题之间的各逻辑连接词;
将所述第一逻辑表达式转换为第二逻辑表达式,其中,所述第二逻辑表达式中各蕴含连接词关联的依赖取值仅包含一个独立命题且所述各蕴含连接词的依赖条件中的各独立命题之间符合简单合取式的要求;
根据所述第二逻辑表达式确定所述待测各参数的取值范围的各等价类,并生成所述各等价类的测试参数。


2.如权利要求1所述的方法,其特征在于,所述将所述第一逻辑表达式转换为第二逻辑表达式,包括:
根据预设的等价转换公式,对所述第一逻辑表达式中的依赖取值进行转换处理,得到所述第一逻辑表达式等价转换后的依赖条件及所述第二逻辑表达式中的各依赖取值;所述第一逻辑表达式中的依赖取值进行转换处理后的各蕴含连接词关联的依赖取值仅包含一个独立命题;
根据所述等价转换公式,对所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件,作为所述第二逻辑表达式中的依赖条件。


3.如权利要求2所述的方法,其特征在于,所述预设的等价变换公式包括:
公式一:p->(q∧r)=>(p->q)∧(p->r);
公式二:p->(q∨r)=>(p∨(!r))->q;
其中,p、q和r均包括至少一个独立命题,且p、q和r中均不包括蕴含连接词;->表示蕴含连接词;∧表示和连接词;∨表示或连接词;!表示非连接词;=>表示等价变换。


4.如权利要求2所述的方法,其特征在于,所述根据离散数学的等价转换公式,对所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件,包括:
根据所述第一逻辑表达式等价转换后的依赖条件,建立所述第一逻辑表达式等价转换后的依赖条件的表达式树;
通过表达式树算法,对所述第一逻辑表达式运用离散数学的等价转换公式,从而将所述第一逻辑表达式等价转换后的依赖条件转换为简单合取式形式的依赖条件。


5.如权利要求4所述的方法,其特征在于,所述第一逻辑表达式等价转换后的依赖条件的表达式树是通过表达式树栈和符号栈建立的;所述表达式树栈用于存储所述表达式树;所述符号栈用于存储逻辑连接词或括号;所述根据所述第一逻辑表达式等价转换后的依赖条件,建立所述第一逻辑表达式等价转换后的依赖条件的表达式树,包括:
从左往右依次扫描所述第一逻辑表达式等价转换后的依赖条件,针对每次扫描到的扫描单元,对所述扫描单元执行第一预设操作;将对所述第一逻辑表达式等价转换后的依赖条件扫描完毕后得到的表达式树,作为所述第一逻辑表达式等价转换后的依赖条件的表达式树;
所述第一预设操作为:若所述扫描单元为独立命题,则压入所述表达式树栈;若所述扫描单元为逻辑连接词,且所述符号栈的栈顶元素不为空且所述逻辑连接词的运算优先级低于或等于所述符号栈的栈顶的逻辑连接词优先级,则从所述表达式树栈弹出两棵表达式树,并将根据所述两棵表达式树及所述扫描单元生成的一颗表达式树,压入所述表达式树栈;若所述扫描单元为逻辑连接词,且所述逻辑连接词的运算优先级高于所述符号栈的栈顶的逻辑连接词优先级或所述符号...

【专利技术属性】
技术研发人员:白晓颖季智成王惠惠曾波谭慧琳曾庆熙李成博
申请(专利权)人:深圳前海微众银行股份有限公司清华大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1