用于代码级测试用例集自动生成方法技术

技术编号:23764045 阅读:25 留言:0更新日期:2020-04-11 18:54
本发明专利技术公开了一种用于代码级测试用例集自动生成方法,用于解决现有测试用例自动生成方法测试效率低的技术问题。技术方案是首先遍历源程序、搜索条件语句关键字或逻辑操作符提取参数名、参数数值以及参数名与参数数值之间的比较操作符;采用等价类划分和边界值分析相结合的方式,扩展参数数值,利用自动提取参数代替主观选择。对扩展后的参数数值列表进行笛卡尔乘积计算,形成全覆盖测试用例列表并将列表中每组数值进行两两组合,采用从下向上的方式将每一组两两组合的数值与其他组进行比较,若一组两两组合数值在其他组均找到相同数据,则删除该组,反之,则保留。直至将每组两两组合数值全部遍历后,整理形成测试用例集,提高了测试效率。

Automatic generation method for code level test case set

【技术实现步骤摘要】
用于代码级测试用例集自动生成方法
本专利技术涉及一种测试用例自动生成方法,特别是涉及一种用于代码级测试用例集自动生成方法。
技术介绍
文献“一种基于组合覆盖的黑盒测试用例自动生成方法,飞行器测控学,2008,Vol27(5),p54-56”公开了一种基于组合覆盖的黑盒测试用例自动生成方法。该方法在组合覆盖的基础上,对参数进行取值,将参数数值填入矩阵的每一列,采用矩阵分解的方法,将矩阵展开成最小矩阵,最终提取一组数量较少但是能满足参数组合覆盖要求的测试用例。同时,参数值填入矩阵后,如果参数所在的列有空位的情况,则用该参数的任一取值填充,保证矩阵可分解。文献所述方法生成的测试用例数多,降低测试效率;另外文献所述方法通过主观判断的方式提取参数及参数数值,随机性强,参数及其取值选择的不恰当时,影响测试实施效果。
技术实现思路
为了克服现有测试用例自动生成方法测试效率低的不足,本专利技术提供一种用于代码级测试用例集自动生成方法。该方法首先遍历源程序、搜索条件语句关键字或逻辑操作符的方式,提取参数名、参数数值以及参数名与参数数值之间的比较操作符;依据比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值,利用自动提取参数代替主观选择,降低参数选择的随机性。对扩展后的参数数值列表进行笛卡尔乘积计算,形成全覆盖测试用例列表并将列表中每组数值进行两两组合,采用从下向上的方式将每一组两两组合的数值与其他组进行比较,若一组两两组合数值在其他组均找到相同数据,则删除该组,反之,则保留。直至将每组两两组合数值全部遍历后,整理形成测试用例集,减少了测试用例数,提高了测试效率。本专利技术解决其技术问题所采用的技术方案是:一种用于代码级测试用例集自动生成方法,其特点是包括以下步骤:步骤一、遍历源程序,搜索条件语句关键字,提取判断条件,汇总形成条件列表。若条件包含逻辑操作符,以逻辑操作符为分割点进行截取,重新汇总形成条件列表。步骤二、遍历条件列表,提取参数名、参数数值以及参数名和参数数值之间的比较操作符。步骤三、依据参数名和参数数值之间的比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值。第i个参数对应的参数数值汇总形成一维列表Pi为:Pi=[ai,ai+r,ai-r](1)式中,1<=i<=n,n表示提取的参数总个数,ai表示判断条件中第i个参数数值,r表示非零随机正数,ai+r,ai-r为采用等价类划分和边界值分析方式,扩展形成的参数数值。若比较操作符为大于号、小于号时,删除Pi中第一个元素ai,即Pi=[ai+r,ai-r],若比较操作符为等号、不等号时,删除Pi中第三个元素ai-r,即Pi=[ai,ai+r]。形成扩展后的参数数值列表P={P1,...,Pi,...,Pn}。步骤四、对参数数值列表P进行笛卡尔乘积运算,形成全覆盖测试用例列表D={d1,...,dj,...,dm},m表示列表中元素个数,1<=j<=m,即D=P1*...*Pi*...*Pn。P1*...*Pi*...*Pn={(p1,...,pi,...,pn)|pi∈Pi,i=1,2,...,n}(2)步骤五、全覆盖测试用例列表D按元素进行拆分,形成参数数值子列表dj,即dj=(aj1,aj2,...,ajn),aj1为dj中第一个参数数值,以此类推,ajn为dj中最后一个参数数值。步骤六、对dj中的数值进行两两组合,形成dj对应的组合列表Rj,即Rj={(aj1,aj2),(aj1,aj3),...,(aj1,ajn),...,(aj(n-1),ajn)}。步骤七、由步骤六可知,Rm={(am1,am2),(am1,am3),...,(am1,amn),...,(am(n-1),amn)},将Rm中第一组数(am1,am2)与R1至Rm-1中的每一组数进行比较,若找到相同数据,则将Rm中第二组数(am1,am3)与R1至Rm-1中的每一组数进行比较,依次类推,直至Rm中所有数均在R1至Rm-1中找到相同数据,则将Rm用星号表示,重复上述流程,直至将R1与R2至Rm中的每一组数进行比较后,结束此步骤。步骤八、整理R1至Rm,删除用星号代表的列表,获取剔除冗余用例的组合列表,即为自动生成的测试用例集。本专利技术的有益效果是:该方法首先遍历源程序、搜索条件语句关键字或逻辑操作符的方式,提取参数名、参数数值以及参数名与参数数值之间的比较操作符;依据比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值,利用自动提取参数代替主观选择,降低参数选择的随机性。对扩展后的参数数值列表进行笛卡尔乘积计算,形成全覆盖测试用例列表并将列表中每组数值进行两两组合,采用从下向上的方式将每一组两两组合的数值与其他组进行比较,若一组两两组合数值在其他组均找到相同数据,则删除该组,反之,则保留。直至将每组两两组合数值全部遍历后,整理形成测试用例集,减少了测试用例数,提高了测试效率。具体的,由于采用遍历源程序、搜索条件语句关键字或逻辑操作符的方式,提取参数名、参数数值以及参数名与参数数值之间的比较操作符,并依据等价类划分和边界值分析相结合的方式,扩展参数数值,使得自动提取参数代替主观选择,降低参数选择的随机性,保证测试实施效果;在测试用例的选择阶段,对参数数值进行笛卡尔乘积运算,并将运算结果中数值进行两两组合,采用从下向上两两比较的方式,剔除冗余测试用例,进而减少测试用例数。如5个参数,其中一个参数取3个数值,其余参数取2个数值,
技术介绍
中文献介绍的方法需测试用例数11个,本专利技术需测试用例数8个;4个参数,每个参数取4个数值,
技术介绍
中文献介绍的方法需测试用例数28个,本专利技术需测试用例数19个;5个参数,每个参数取5个数值,
技术介绍
中文献介绍的方法需测试用例数125个,本专利技术需测试用例数36个。下面结合具体实施方式对本专利技术作详细说明。具体实施方式本专利技术用于代码级测试用例集自动生成方法具体步骤如下:步骤一、遍历源程序,搜索条件语句关键字,提取判断条件,汇总形成条件列表。若条件包含逻辑操作符,以逻辑操作符为分割点进行截取,重新汇总形成条件列表。假设遍历源程序提取的条件列表为参数1的数值小于等于6、参数2的数值小于等于3、参数3的数值小于等于9。步骤二、遍历条件列表,提取参数名、参数数值以及参数名和参数数值之间的比较操作符。假设提取的结果为参数1名称、6、小于等于;参数2名称、3、小于等于;参数3名称、9、小于等于。步骤三、依据参数名和参数数值之间的比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值。第i个参数对应的参数数值汇总形成一维列表Pi为:Pi=[ai,ai+r,ai-r](1)式中,1<=i<=n,n表示提取的参数总个数,ai表示判断条件中第i个参数数值,r表示非零随机正数,ai+r,ai-r为采用等价类划分和边界值分析方式,扩展形成的参数数值。若比本文档来自技高网
...

【技术保护点】
1.一种用于代码级测试用例集自动生成方法,其特征在于包括以下步骤:/n步骤一、遍历源程序,搜索条件语句关键字,提取判断条件,汇总形成条件列表;若条件包含逻辑操作符,以逻辑操作符为分割点进行截取,重新汇总形成条件列表;/n步骤二、遍历条件列表,提取参数名、参数数值以及参数名和参数数值之间的比较操作符;/n步骤三、依据参数名和参数数值之间的比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值;第i个参数对应的参数数值汇总形成一维列表P

【技术特征摘要】
1.一种用于代码级测试用例集自动生成方法,其特征在于包括以下步骤:
步骤一、遍历源程序,搜索条件语句关键字,提取判断条件,汇总形成条件列表;若条件包含逻辑操作符,以逻辑操作符为分割点进行截取,重新汇总形成条件列表;
步骤二、遍历条件列表,提取参数名、参数数值以及参数名和参数数值之间的比较操作符;
步骤三、依据参数名和参数数值之间的比较操作符,采用等价类划分和边界值分析相结合的方式,扩展参数数值;第i个参数对应的参数数值汇总形成一维列表Pi为:
Pi=[ai,ai+r,ai-r](1)
式中,1<=i<=n,n表示提取的参数总个数,ai表示判断条件中第i个参数数值,r表示非零随机正数,ai+r,ai-r为采用等价类划分和边界值分析方式,扩展形成的参数数值;若比较操作符为大于号、小于号时,删除Pi中第一个元素ai,即Pi=[ai+r,ai-r],若比较操作符为等号、不等号时,删除Pi中第三个元素ai-r,即Pi=[ai,ai+r];
形成扩展后的参数数值列表P={P1,...,Pi,...,Pn};
步骤四、对参数数值列表P进行笛卡尔乘积运算,形成全覆盖测试用例列表D={d1,...,dj,...,dm},m表示列表中元素个数,1<=j<...

【专利技术属性】
技术研发人员:赵倩胡凯强田雪涛吕慧刘慧霞刘少华
申请(专利权)人:西安爱生技术集团公司西北工业大学
类型:发明
国别省市:陕西;61

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

1