CN108509332A - 一种计算机辅助制造软件功能测试方法 - Google Patents

一种计算机辅助制造软件功能测试方法 Download PDF

Info

Publication number
CN108509332A
CN108509332A CN201710111492.5A CN201710111492A CN108509332A CN 108509332 A CN108509332 A CN 108509332A CN 201710111492 A CN201710111492 A CN 201710111492A CN 108509332 A CN108509332 A CN 108509332A
Authority
CN
China
Prior art keywords
software
software function
function
algorithm
test
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.)
Pending
Application number
CN201710111492.5A
Other languages
English (en)
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.)
Guangzhou Game Testing Service Co Ltd
Original Assignee
Guangzhou Game Testing Service Co Ltd
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 Guangzhou Game Testing Service Co Ltd filed Critical Guangzhou Game Testing Service Co Ltd
Priority to CN201710111492.5A priority Critical patent/CN108509332A/zh
Publication of CN108509332A publication Critical patent/CN108509332A/zh
Pending legal-status Critical Current

Links

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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于计算机辅助制造软件技术领域,涉及一种计算机辅助制造软件功能测试方法,包括以下步骤:1)软件功能析取,2)软件功能聚集,3)软件功能测试,本发明给出了软件总体架构设计,明确了进行软件测试要进行软件功能析取、软件功能聚类和软件功能测试三个层次。并对这三个层次进行了有效的描述和分析,给出了软件析取算法、软件功能聚类算法和软件测试算法。在软件中应用了形式化定义技术,提高了软件算法的可操作性。

Description

一种计算机辅助制造软件功能测试方法
技术领域
本发明属于计算机辅助制造软件技术领域,具体涉及一种计算机辅助制造软件功能测试方法。
背景技术
随着时代的进步,社会的发展,计算机应用遍布我们生活的方方面面。计算机辅助制造软件作为计算机科技的典型应用之一,近年来发展迅速,为实现传统制造业的信息化改造,提升制造业的设计水平提供了基础条件。如AUTO CAD软件,通过Auto cad软件可以实现对物体的三维建模,能够对物体三维形状中的每一个细节进行推敲。这样在进行实际产品的生产前,实现了对产品设计各个环节的计算机辅助设计。提高了产品的设计水平,保证了产品的设计质量,对社会生产具有较大的积极作用。还如目前较为流行的3D打印。通过设计计算机3D打印程序软件和打印平台,实现了对3D产品生产制造的信息化水平,便利了人们的生活。计算机辅助制造软件还有很多,这里就不一一列举了。计算机辅助制造软件带给我们较多的便利,为我们的社会进步贡献了力量。
在我们应用计算机辅助制造软件进行生产和设计时,一方面得益于软件提供的智能设计工具为设计提供的便利;另一方面也对计算机辅助制造软件的功能适用性产生困惑。如有的软件功能不能实现、有的软件抗干扰能力较差,甚至有的软件捆绑有病毒程序,能够对安装使用此软件的计算机系统造成严重的破坏。
发明内容
本发明的目的主要解决现有技术所存在的技术问题,从而提供一种计算机辅助制造软件功能测试方法;
本发明的技术方案为:一种计算机辅助制造软件功能测试方法,其特征在于:包括以下步骤:
1)软件功能析取
下面给出软件功能的形式化定义;
定义1(软件功能):软件功能被定义为一个五元组SFuntion=(ID、Description、Inputs、Outputs、QOS),其中:
(a)ID标识了系统中对一个软件功能所分配的数字标识,通过ID可以在系统中检索此软件功能;
(b)Description标识了系统对此软件功能的描述。描述了此软件功能所实现的功能及技术指标;
(c)Inputs标识了此软件功能实现所需的输入参数集。如姓名、账号、身份证、学历、年龄等信息;
(d)Outputs标识了此软件功能实现所要求的输出参数集。如成绩、费用信息、价格比例、违章信息等;
(e)QOS标识了此软件功能的质量属性。如代码运行效率,算法复杂度等信息;
下面给出软件功能的析取算法;
算法1:软件功能的析取算法
输入:软件代码;
输出:软件功能集合;
第一步:建立一个软件功能集合Q,并对Q进行清空;
第二步:对软件代码进行整体遍历;假设当前元素为P,如果P为代码中的函数元素;则新建一个软件功能SFuntion=(ID、Description、Inputs、Outputs、QOS);令ID等于系统随机分配的唯一数字标识;把P的函数名赋值给Description;把函数中的输入参数名赋值给Inputs;把函数中的返回参数名赋值给Outputs;通过对代码的算法复杂度进行计算,假设复杂度为O(N),则把O(N)赋值给QOS;
第三步:把SFuntion=(ID、Description、Inputs、Outputs、QOS)放入集合Q中;
第四步:输出集合Q;
算法1给出了软件功能的析取方法,下面对软件功能的聚集策略进行阐述;
2)软件功能的聚集
本小节对软件功能的聚集策略进行阐述和分析;下面给出软件功能的聚集算法;
算法2:软件功能的聚集算法
输入;软件功能集合W;
输出:软件功能簇集合R;
第一步:遍历软件功能集合;假设当前元素为Q;新建一个软件功能簇B,并把Q放入软件功能簇B中;
第二步:遍历软件功能集合W中,除了元素Q之外的其他元素,假设当前元素为E;遍历E中元素的各个信息属性;按照基于语义的相似度比较和分析算法;对E中各个信息属性的值与Q中各个信息属性值进行比较,并设定相似度阀值为C;若相似度值在阀值C以上,则将元素E放入功能簇B中;
第三步:把B放入软件功能簇集合R中;
第四步:输出软件功能簇集合R;
算法2实现了对软件功能的聚集策略;
3)软件功能的测试
通过构建软件功能的策略集合,实现了面向用户需求的软件测试技术;下面给出用户需求的形式定义;
定义2(用户需求):用户需求被定义为一个四元组Ureq=(ID、Time、Address、DES),其中:
(a)ID标识了系统中对一个用户需求所分配的数字标识,通过ID可以在系统中检索此用户需求;
(b)Time标识了用户对于软件测试的时间要求;
(c)Address标识了用户对于软件测试的地址要求;
(d)DES标识了此软件测试的用户需求描述;如进行黑盒测试还是进行白盒测试;
定义2给出了用户需求的形式化定义,下面给出基于功能聚类的面向用户需求的软件测试算法;
算法3:软件测试算法
输入:软件功能簇集合R;
输出:软件测试结果Y;
第一步:遍历软件功能簇集合R,假设当前元素为软件功能簇B;
第二步:把软件功能簇B,分配给系统中的空闲处理器处理;
第三步:遍历软件功能簇B,假设当前元素为SFuntion=(ID、Description、Inputs、Outputs、QOS),根据用户需求对软件功能SFuntion进行基于黑盒或白盒的功能测试;测试后,产生软件测试结果RESULT;
第四步:把RESULT放入结果集合Y中;
第五步:输出软件功能测试结果Y;
算法3给出了软件功能测试结果的生成方法;由算法3可以得到基于功能聚类的面向用户需求的软件测试算法。
本发明的有益效果是:本发明给出了软件总体架构设计,明确了进行软件测试要进行软功能析取、软件功能聚类和软件功能测试三个层次。并对这三个层次进行了有效的描述和分析,给出了软件析取算法、软件功能聚类算法和软件测试算法。在软件中应用了形式化定义技术,提高了软件算法的可操作性。
具体实施方式
下面对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定;
本发明的一种计算机辅助制造软件功能测试方法,包括以下步骤:
1)软件功能析取
下面给出软件功能的形式化定义;
定义1(软件功能):软件功能被定义为一个五元组SFuntion=(ID、Description、Inputs、Outputs、QOS),其中:
(a)ID标识了系统中对一个软件功能所分配的数字标识,通过ID可以在系统中检索此软件功能;
(b)Description标识了系统对此软件功能的描述。描述了此软件功能所实现的功能及技术指标;
(c)Inputs标识了此软件功能实现所需的输入参数集。如姓名、账号、身份证、学历、年龄等信息;
(d)Outputs标识了此软件功能实现所要求的输出参数集。如成绩、费用信息、价格比例、违章信息等;
(e)QOS标识了此软件功能的质量属性。如代码运行效率,算法复杂度等信息;
下面举一个例子对定义1进行辅助说明。
例1:存在一个软件功能形式描述SFuntion=(ID、Description、Inputs、Outputs、QOS),其中ID=001;Description=“此软件功能实现了对学生成绩的查询”;Inputs=“学号、身份证”;Outputs=“成绩、名次”;QOS=“算法复杂度为O(n)”。由例1给出的信息可知,此软件功能描述了学生成绩查询功能。通过输入学号、身份证号等信息,可以得到成绩、名次等输出信息。且此软件功能的执行效率与数据库中的信息基数n成正比例关系。
下面给出软件功能的析取算法;
算法1:软件功能的析取算法
输入:软件代码
输出:软件功能集合
第一步:建立一个软件功能集合Q,并对Q进行清空;
第二步:对软件代码进行整体遍历;假设当前元素为P,如果P为代码中的函数元素;则新建一个软件功能SFuntion=(ID、Description、Inputs、Outputs、QOS);令ID等于系统随机分配的唯一数字标识;把P的函数名赋值给Description;把函数中的输入参数名赋值给Inputs;把函数中的返回参数名赋值给Outputs;通过对代码的算法复杂度进行计算,假设复杂度为O(N),则把O(N)赋值给QOS;
第三步:把SFuntion=(ID、Description、Inputs、Outputs、QOS)放入集合Q中;
第四步:输出集合Q;
算法1给出了软件功能的析取方法,下面对软件功能的聚集策略进行阐述;
2)软件功能的聚集
本小节对软件功能的聚集策略进行阐述和分析;下面给出软件功能的聚集算法;
算法2:软件功能的聚集算法
输入;软件功能集合W
输出:软件功能簇集合R
第一步:遍历软件功能集合;假设当前元素为Q;新建一个软件功能簇B,并把Q放入软件功能簇B中;
第二步:遍历软件功能集合W中,除了元素Q之外的其他元素,假设当前元素为E;遍历E中元素的各个信息属性;按照基于语义的相似度比较和分析算法;对E中各个信息属性的值与Q中各个信息属性值进行比较,并设定相似度阀值为C;若相似度值在阀值C以上,则将元素E放入功能簇B中;
第三步:把B放入软件功能簇集合R中;
第四步:输出软件功能簇集合R;
算法2实现了对软件功能的聚集策略;
3)软件功能的测试
通过构建软件功能的策略集合,实现了面向用户需求的软件测试技术;下面给出用户需求的形式定义;
定义2(用户需求):用户需求被定义为一个四元组Ureq=(ID、Time、Address、DES),其中
(a)ID标识了系统中对一个用户需求所分配的数字标识,通过ID可以在系统中检索此用户需求;
(b)Time标识了用户对于软件测试的时间要求;
(c)Address标识了用户对于软件测试的地址要求;
(d)DES标识了此软件测试的用户需求描述;如进行黑盒测试还是进行白盒测试;
定义2给出了用户需求的形式化定义,下面给出基于功能聚类的面向用户需求的软件测试算法;
算法3:软件测试算法
输入:软件功能簇集合R
输出:软件测试结果Y
第一步:遍历软件功能簇集合R,假设当前元素为软件功能簇B;
第二步:把软件功能簇B,分配给系统中的空闲处理器处理;
第三步:遍历软件功能簇B,假设当前元素为SFuntion=(ID、Description、Inputs、Outputs、QOS),根据用户需求对软件功能SFuntion进行基于黑盒或白盒的功能测试;测试后,产生软件测试结果RESULT;
第四步:把RESULT放入结果集合Y中;
第五步:输出软件功能测试结果Y;
算法3给出了软件功能测试结果的生成方法;由算法3可以得到基于功能聚类的面向用户需求的软件测试算法。
本发明的有益效果是:本发明给出了软件总体架构设计,明确了进行软件测试要进行软功能析取、软件功能聚类和软件功能测试三个层次。并对这三个层次进行了有效的描述和分析,给出了软件析取算法、软件功能聚类算法和软件测试算法。在软件中应用了形式化定义技术,提高了软件算法的可操作性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内;因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

Claims (1)

1.一种计算机辅助制造软件功能测试方法,其特征在于:包括以下步骤:
1)软件功能析取
下面给出软件功能的形式化定义;
定义1(软件功能):软件功能被定义为一个五元组SFuntion=(ID、Description、Inputs、Outputs、QOS),其中:
(a)ID标识了系统中对一个软件功能所分配的数字标识,通过ID可以在系统中检索此软件功能;
(b)Description标识了系统对此软件功能的描述
描述了此软件功能所实现的功能及技术指标;
(c)Inputs标识了此软件功能实现所需的输入参数集
如姓名、账号、身份证、学历、年龄等信息;
(d)Outputs标识了此软件功能实现所要求的输出参数集
如成绩、费用信息、价格比例、违章信息等;
(e)QOS标识了此软件功能的质量属性
如代码运行效率,算法复杂度等信息;
下面给出软件功能的析取算法;
算法1:软件功能的析取算法
输入:软件代码;
输出:软件功能集合;
第一步:建立一个软件功能集合Q,并对Q进行清空;
第二步:对软件代码进行整体遍历;假设当前元素为P,如果P为代码中的函数元素;则新建一个软件功能SFuntion=(ID、Description、Inputs、Outputs、QOS);令ID等于系统随机分配的唯一数字标识;把P的函数名赋值给Description;把函数中的输入参数名赋值给Inputs;把函数中的返回参数名赋值给Outputs;通过对代码的算法复杂度进行计算,假设复杂度为O(N),则把O(N)赋值给QOS;
第三步:把SFuntion=(ID、Description、Inputs、Outputs、QOS)放入集合Q中;
第四步:输出集合Q;
算法1给出了软件功能的析取方法,下面对软件功能的聚集策略进行阐述;
2)软件功能的聚集
本小节对软件功能的聚集策略进行阐述和分析;下面给出软件功能的聚集算法;
算法2:软件功能的聚集算法
输入;软件功能集合W;
输出:软件功能簇集合R;
第一步:遍历软件功能集合;假设当前元素为Q;新建一个软件功能簇B,并把Q放入软件功能簇B中;
第二步:遍历软件功能集合W中,除了元素Q之外的其他元素,假设当前元素为E;遍历E中元素的各个信息属性;按照基于语义的相似度比较和分析算法;对E中各个信息属性的值与Q中各个信息属性值进行比较,并设定相似度阀值为C;若相似度值在阀值C以上,则将元素E放入功能簇B中;
第三步:把B放入软件功能簇集合R中;
第四步:输出软件功能簇集合R;
算法2实现了对软件功能的聚集策略;
3)软件功能的测试
通过构建软件功能的策略集合,实现了面向用户需求的软件测试技术;下面给出用户需求的形式定义;
定义2(用户需求):用户需求被定义为一个四元组Ureq=(ID、Time、Address、DES),其中:
(a)ID标识了系统中对一个用户需求所分配的数字标识,通过ID可以在系统中检索此用户需求;
(b)Time标识了用户对于软件测试的时间要求;
(c)Address标识了用户对于软件测试的地址要求;
(d)DES标识了此软件测试的用户需求描述;如进行黑盒测试还是进行白盒测试;
定义2给出了用户需求的形式化定义,下面给出基于功能聚类的面向用户需求的软件测试算法;
算法3:软件测试算法
输入:软件功能簇集合R;
输出:软件测试结果Y;
第一步:遍历软件功能簇集合R,假设当前元素为软件功能簇B;
第二步:把软件功能簇B,分配给系统中的空闲处理器处理;
第三步:遍历软件功能簇B,假设当前元素为SFuntion=(ID、Description、Inputs、Outputs、QOS),根据用户需求对软件功能SFuntion进行基于黑盒或白盒的功能测试;测试后,产生软件测试结果RESULT;
第四步:把RESULT放入结果集合Y中;
第五步:输出软件功能测试结果Y;
算法3给出了软件功能测试结果的生成方法;由算法3可以得到基于功能聚类的面向用户需求的软件测试算法。
CN201710111492.5A 2017-02-28 2017-02-28 一种计算机辅助制造软件功能测试方法 Pending CN108509332A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710111492.5A CN108509332A (zh) 2017-02-28 2017-02-28 一种计算机辅助制造软件功能测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710111492.5A CN108509332A (zh) 2017-02-28 2017-02-28 一种计算机辅助制造软件功能测试方法

Publications (1)

Publication Number Publication Date
CN108509332A true CN108509332A (zh) 2018-09-07

Family

ID=63374042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710111492.5A Pending CN108509332A (zh) 2017-02-28 2017-02-28 一种计算机辅助制造软件功能测试方法

Country Status (1)

Country Link
CN (1) CN108509332A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262866A1 (en) * 2008-06-24 2010-10-14 Yarden Nir-Buchbinder Cross-concern code coverage assessment
CN104699608A (zh) * 2015-03-10 2015-06-10 于秀山 图形用户界面软件自动测试方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100262866A1 (en) * 2008-06-24 2010-10-14 Yarden Nir-Buchbinder Cross-concern code coverage assessment
CN104699608A (zh) * 2015-03-10 2015-06-10 于秀山 图形用户界面软件自动测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶婷: "计算机辅助制造软件功能测试方法", 《信息通信》 *

Similar Documents

Publication Publication Date Title
Begg Developing expert CAD systems
Miettinen et al. Why use interactive multi-objective optimization in chemical process design?
CN102902866B (zh) 基于行为流生态系统架构的发动机产品设计方法
CN104008248B (zh) 基于高斯过程的注塑成形工艺稳健设计与容差设计方法
CN108804950A (zh) 基于数据图谱,信息图谱和知识图谱的建模与数据隐私保护方法
CN109359355B (zh) 一种标准结构模块的设计实现方法
CN103927390B (zh) 基于泊松盘样本块的植被分布快速合成方法和系统
Faunes et al. Generating model transformation rules from examples using an evolutionary algorithm
CN105160580A (zh) 基于分解的多目标粒子群优化的符号网络结构平衡
CN110705080B (zh) 一种数字孪生模型精准组装方法及装置
Mahmoud et al. Norm-based behavior regulating technique for multi-agent in complex adaptive systems
Ören Modeling and simulation: A comprehensive and integrative view
CN110489623A (zh) 一种基于用户信息交互的智能助理系统及智能助理机器人
CN103136709A (zh) 基于电网设备的典型故障树评价方法
CN108509332A (zh) 一种计算机辅助制造软件功能测试方法
CN104794010B (zh) 一种系统内信息交互优化方法
CN115659711A (zh) 一种仿真方法、装置、电子设备及存储介质
CN107798249A (zh) 行为模式数据的发布方法及终端设备
Räihä et al. Pattern-Based Genetic Model Refinements in MDA.
CN113158088A (zh) 一种基于图神经网络的位置推荐方法
CN107203561A (zh) 一种数据处理方法和设备
CN110990869A (zh) 一种应用于隐私保护的电力大数据脱敏方法
CN110162704A (zh) 基于多因子遗传算法的多规模关键用户提取方法
TW201441961A (zh) 擴增實境技術開發之智慧型綠建築推薦系統及方法
Pillay et al. Generation constructive hyper-heuristics

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180907

WD01 Invention patent application deemed withdrawn after publication