CN108509332A - 一种计算机辅助制造软件功能测试方法 - Google Patents
一种计算机辅助制造软件功能测试方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software 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可以得到基于功能聚类的面向用户需求的软件测试算法。
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)
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 | 于秀山 | 图形用户界面软件自动测试方法及装置 |
-
2017
- 2017-02-28 CN CN201710111492.5A patent/CN108509332A/zh active Pending
Patent Citations (2)
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)
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 |