CADCAE软件集成心得

时间:2019-05-15 12:50:30下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《CADCAE软件集成心得》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《CADCAE软件集成心得》。

第一篇:CADCAE软件集成心得

CAD/CAE软件集成心得

经过一个月的努力,现在已经熟练掌握了Proe、ABAQUS、ADAMS、ANSYS(APDL)和ANSYSWorkbench封装方法。从不熟悉ABAQUS和ADAMS的操作到基本熟悉它们的分析流程和软件的主要文件(哪些是输入文件,哪些是结果文件?),从不了解CAE软件的脚本语言到上网查资料知道了如何将GUI操作录制成脚本。经历了不知道自己的想法是否能行的通到知道自己的想法肯定能实现但是不知道怎么去做,再到实现自己的想法。而等我把它在电脑上运行成功后的那一刻,带给我的兴奋是不言而喻的,哈哈,买瓶啤酒庆祝庆祝。但是更多的时间在查资料,不断思考,不断修改参数,狂点鼠标,现在右手指还有些痛。当回过头来总结的时候,觉得这个过程是多么的值得。

也许有人会问,关于这些CAD/CAE软件的封装在多学科优化软件中不是已经有相关实例了吗?没错,在ModelCenter中确实有这方面的实例,我也拿它的实例练习了,但是实例中提供的封装步骤并不能满足目前工程师的需要。随着现在大型商业软件的专业化,大多企业选择CAD软件(UG、Proe、Solidworks等)来建模,然后导入CAE软件(ANSYS、ABAQUS、NASTRAN等)来分析,最后利用优化软件(Isight、ModelCenter、Optimus等)将CAD和CAE软件集成,对现有设计方案进行优化。软件自带实例中提供的封装方法可优化的几何参数非常有限,而ModelCenter实例中所用的输入文件是一个有限元文件,包含了节点和单元的信息,许多几何参数无法从输入文件中提取,除非在CAE软件中参数化建模,当模型复杂时,在CAE中建模是非常的麻烦。我们知道实际工程结构的几何模型往往比较复杂,所以只能走CAD/CAE集成这条路。先集成CAD软件,把几何模型作为输出变量,然后利用编写的脚本语言作为输入文件集成CAE软件,当几何参数改变时,CAE软件会重新导入更新后的几何模型。采用这个办法就可以改变几何模型中的任意几何参数。以下就来介绍在CAD/CAE封装集成过程中我认为的关键中的关键:

1、克服对陌生事物的恐惧感。或许你跟我一样只是以前听说我这个软件,没关系,就算专业的CAE工程师也不可能熟悉所有的CAE软件。先找个相应软件的实例跟着操作一遍,大致熟悉分析的流程,如何导入几何模型,如何划分网格,如何添加边界条件以及保存文件。就像初次碰到陌生人一样,每个人都会紧张,但是见面次数多了,聊的多了不就成熟人了嘛。

2、编写脚本语言文件作为输入文件。CAE软件的操作有GUI(图形用户界面)和命令行两种方式,我们封装CAE软件一般采用命令流文件,但我们大多用户对GUI比较熟悉而对命令流比较陌生。没关系!我们每一步的GUI操作,软件都会帮我们记录相应的脚本,在此脚本文件的基础上做适当修改就可以当做输入文件了,例如,定义输入变量,将关心的输出变量值写入结果文件,具体过程参考所要集成软件的封装教程。

3、批处理命令。批处理命令即软件封装时需要输入的Run Command,起到调用软件、执行命令的目的。每个软件都有自己的脚本语言,所以每个软件的批处理命令都不尽相同,把它改成自己需要的。

4、多一次尝试,也许兴奋就在下一刻来临。每当软件封装测试失败时总会感到沮丧,没关系,把自己编写的脚本一行一行的在软件的Command Window中运行,检查自己的脚本文件是否有错误。还需要注意的细节,封装CAD软件时有重写入一项勾上或者将几何模型IGS格式作为CAD的输出变量,再把它当做CAE的读入文件,要不然几何参数再怎么变化,输出变量也是毫无变化。

第二篇:软件集成技术总结

软件集成技术总结 软件集成系统

主要功能是实现各种应用软件在本系统中的集成及调用,由于需要集成软件的开发软件,运行环境各有不同,所以在系统集成时调用的相关技术也不尽相同。本系统软件的集成主要应用了一下三种技术:Java Applet技术,Exe软件的调用方法,Matlab软件的调用方法。相关技术 2.1 Java Applet技术

Applet可以翻译为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以直接嵌入到网页或者其他特定的容器中,并能够产生特殊的效果。

Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限Applet对客户端文件系统的访问)。

在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit,AWT)的窗口环境开发工具。AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

在Java Applet的生命周期中,共有四种状态(初始态、运行态、停止态和消亡态)和四个方法:init()、start()、stop()和destroy()。a init()当创建Java Applet且第一次使用支持Java的浏览器载入时,就会执行init()方法。在Java Applet生命周期中,该方法只执行一次,因此可以利用这一点在init()方法中进行一些只需执行一次的初始化操作,例如对变量的初始化等。b start()调用完init()方法后,系统将自动调用start()方法。当用户离开包含Applet的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍start()方法。

和init()方法不同,start()方法在Applet的生命周期中被多次调用,该方法是Applet的主体。在start()方法中,可以执行一些任务,或者是启动相关的线程来执行任务,如循环播放歌曲等。c stop()和star()方法相对应,当用户离开Applet所在页面或者是浏览器变成图标时,系统都会调用stop()方法,因此该方法也是可以被多次调用的。

stop()方法起到这样的作用:当用户在当前时刻并不十分关注Applet时,停止一些耗用资源的工作,这样就可以提高系统的运行速度,而且系统会自动调用该方法,并不需要人为干预。倘若编写的Applet中不涉及动画等多媒体,一般不必重写该方法。51Testing软件测试网 d destroy()当用户关闭浏览器时,系统就会调用destroy()方法,应该注意stop()方法和destroy()方法的区别。

本系统中的Applet小程序调用流程:运行时,首先从服务器下载应用程序的ZIP压缩文件到本地,然后解压到本地,并在在本地运行,在Applet关闭时,停止exe运行,并删除已下载的ZIP文件和解压后的文件夹。

2.2 EXE软件的调用方法

使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。

该方法有6个可访问版本:

1.exec(String

command)

2.exec(String

command,String

envp[],File

dir)

3.exec(String

cmd,String

envp[])

4.exec(String

cmdarray[])

5.exec(String

cmdarray[],String

envp[])

6.exec(String

cmdarray[],String

envp[],File

dir)

一般的应用程序可以直接使用第一版本,当有环境变量传递的时候使用后面的版本。

其中2和6版本可以传递一个目录,标识当前目录,因为有些程序是使用相对目录的,所以就要使用这个版本.当要执行批处理的时候,不能直接传递批处理的文件名,而要使用:

cmd.exe

/C

start

批处理文件名

使用dos命令(比如dir)时也要使用掉调用。

如果想与调用的程序进行交互,那么就要使用该方法的返回对象Process了,通过Process的getInputStream(),getOutputStream(),getErrorStream()方法可以得到输入输出流,然后通过InputStream可以得到程序对控制台的输出信息,通过OutputStream可以给程序输入指令,这样就达到了程序的交换功能。

使用Runtime类.

try {

Runtime rt = Runtime.getRuntime();

rt.exec(“C:WINDOWSNOTEPAD.exe”);

} catch(Throwable t){ System.out.print(t.getMessage());

} 2.3 Matlab软件的调用方法

Matlab软件的调用分为三个步骤:一是在java里面调用matlab,matlab2006b以后的版本中都提供了java 调用matlab的接口matlab build for java;二是将调用matlab程序的java程序转换为exe程序;三是按照2.1所述的方法调用Matlab的exe程序。

关键技术是java调用matlab程序的方法,下面是一个相关的例子:(一)在MATLAB中编辑operation.m, %定义一个函数operation(a,b),求a与b的加减乘除运算,并返回结果

%函数定义function 输出变量列表[s,m,...] 函数名(输入变量列表)sum,sub,mul,div中

function [sum,sub,mul,div] = operation(a,b);sum = a + b;sub = a-b;mul = a * b;div = a / b;end(二)生成Java调用文件

Matlab命令中输入deploytool,新建一个matlab builder ja文件,在operationclass中添加operation.m文件,点击bulid the project,生成一个供java调用的文件夹结构如下:

Operation-----|----distrib |

|-----operation.jar |

|-----readme.txt

|

-------src

|

|----operation

|

|----operationclass.java

|

|----operationMCRFactory.java

|----operationclassRemote.java

|

|----classes

|

|----operation

|

|----operation.ctf

|

|----operationclass$1.class

|----operationclass.class

|----operationclassRemote.class

|----operationMCRFactory.class |-------build.log |-------operation.ctf |-------operation.jar |-------mccExcludedFiles.log |-------readme.txt(三)Java中建立一个java project工程JavaTestMatlab,导入两个库文件javabuilder.jar(C:ProgramFilestoolboxjavabuilderjar)和operation.jar(D:My DocumentsMATLABoperationdistrib operation.jar),编写java程序JavaTestMatlab.java程序如下: import operation.*;import java.util.Scanner;class JavaTestMatlab {

public static void main(String[] args)

{

Object result[] = null;

/* object是所有类的父类public Object[] operation(int nargout, Object...rhs)*/

operationclass myAdd = null;

/* Stores myadd class instance */

try

{

int a,b;

myAdd = new operationclass();

System.out.println(“从键盘输入两个操作数:”);

System.out.print(“

输入第一个操作数:”);

Scanner scan = new Scanner(System.in);

//从控制台读入输入的整数

a = scan.nextInt();

//从控制台输入第一个操作数

System.out.print(“

输入第二个操作数: ”);

b = scan.nextInt();

//从控制台输入第二个操作数

result = myAdd.operation(4,a,b);//operation(4,a,b)中第一个参数是返回值的个数,a是第一个输入参数,b是第二个输入参数

System.out.print(“The sum of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);

System.out.println(result[0]);

System.out.print(“The sub of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);

System.out.println(result[1]);

System.out.print(“The mul of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);

System.out.println(result[2]);

System.out.print(“The div of ” + Integer.toString(a)+ “ and ” + Integer.toString(b)+ “ is: ”);

System.out.println(result[3]);

}

catch(Exception e)

{

System.out.println(e);

}

} } 测试结果如下:

从键盘输入两个操作数:

输入第一个操作数:55

输入第二个操作数: 22 The sum of 55 and 22 is: 77 The sub of 55 and 22 is: 33 The mul of 55 and 22 is: 1210 The div of 55 and 22 is: 3(四)错误调试

1.安装matlab不完整,没有toolboxjavabuilder下的文件 2.环境变量中classpath中添加两个jar文件的路径 已经集成的软件

ORDEM2000 空间碎片评估系统(DAS2.0)增阻型离轨气动分析及优化软件 索型离轨技术模拟软件TetherSim 卫星寿命计算软件 再入安全评估软件

GEO卫星离轨燃料估算软件

第三篇:软件设计师心得

计算机学习要经历一个从理论———实践———理论的认识不断深化的过程,下面谈谈本人通过软件设计师考试的一些体会。

软件设计师考试大纲中计算机与软件工程知识

(1)首先基础知识中涉及到计算机硬件的内容和多媒体知识以及语言知识问题,这是一个量的积累,最后实现质的飞跃。

(2)数据结构部分,这是首次学习线性表、数组、广义表、树、图、查找算法和排序及算法的分析等。这部分的学习,要吃透理论、适当加大习题量、最好能结合上机,深化理解。数据结构好比是武功中的内功,数据结构学习用了我一至二年的时间,以自学教材为主。吃透理论就是反复读书,以一本书为主(目前清华大学严蔚敏老师的数据结构是一个经典),可能的话,再搜罗其他版本的教程,这样可以互相印证,就同一问题,多看几本书这一做法,也可推广到其他学科的学习中。(软考世界站长注:数据结构是个难点,也是个重点,本人在几家软件公司应聘时笔试都考了很多数据结构的试题,东软两次笔试均有数据结构题目,因此大家要啃下数据结构这个硬骨头!)

(3)操作系统知识,主要从资源管理的角度来分析系统功能的实现。假设你要设计一个新的操作系统,如何实现它?操作系统理论就是向读者逐步介绍和解释。重点是五大管理职能的实现及其原理。

(4)计算机网络中对ISO/OSIRM七层的划分以及各种协议的功能。传输理论、互联设备、Internet知识,除参考模型理论外,其他的比较比较凌乱。

(5)系统安全问题是目前社会关注的问题,也是应用价值较高的知识,可结合现实中的相关问题来加深理解。

软考中的信息化、标准化知识是新增考点,是对基本素质的考查,也要重视。(软考世界站长注:大家看看教程,了解一下这些知识,考前强记一下就行了)

专业英语,不是软件考试特有的,是专业知识英语水平,考前不需专业准备,平时有意识地上网读点英文专业资料。(软考世界站长注:本人英语不行,考程序员和软设的时候几乎是猜的,大家要努力学好英语哦!)

软考的考试内容既是大学计算机本科专业的必修课,同时又有着鲜明的侧重点,这对于没有经过系统学习的朋友们来说,无疑是一次全面、深入学习的机会,无论是自学或是参加培训,只要去学了就会对计算机有更深入全面的了解,而不只是停留在过去那些肤浅的认识上面。

以上是专业背景知识,是对软件设计师基本素养的要求。

软件设计师的专业能力

软件设计师,关键是设计软件的能力。考试大纲要求:要熟悉软件工程、软件过程改进和软件开发项目管理的基础知识;熟练掌握软件设计的方法和技术;掌握C程序设计语言及指定的四种面向对象语言中的一种。这部分专业能力严重依赖工作实践,要求有一定经验的积累,是具有工程师的实际工作能力和业务水平的体现,但目前大量在校生参加考试,虽没什么工作经验可言,但通过学习和借鉴,仍可以取人之长,补已之短。

这部分内容主要体现在下午的考试题中,现就如何应对下午的考试进行分析:在近几次考试中,下午试题分五个题目,一个数据库、一个程序填空题、一个面向对象的语言题,另两个题目分别为数据流图、UML或流程图等。

数据库题目,要求补全SQL语言,这要求考生熟悉SQL的语言,无论对上午题目还是下午题目都很重要。这是学习和复习的一个重点。

数据流图,DFD是一种分析系统数据流程的图形,意在让用户理解系统的功能、输入、输出和数据存储等。请认真弄清其应用后,在画出数据流图的情况下,系统的功能也就确定了,再经过细化,逐步向物理结构迈进。考核时,试题多从父图和子图的平衡来分析。

这部分内容,解题的关键是高度重视题目说明,务必正确、深入理解其内容,必要时要读几遍,同时对于给出的图表,也要务必看懂。这样答题就轻松了,答案实际就蕴含在说明中。流程图类题目,是大家再熟悉不过的了,它就一个具体问题的解题思路进行描述,是面向过程的。但所求问题是千差万别的,因此应理解思路,细心作答。

程序填空是答题形式最简单同时也是难度最大的。为便于阅卷,这类题目以程序填空形式出现,这不仅要求理解问题本质,同时也要弄清作者解题思路,这一点比自己独立完成程序设计要难得多。依个人经验,首先要针对问题,设计自己的思路,解决问题,确定先后顺序;然后试读程序,如果思路大体一致,题就容易解决了,如果思路不一致,就要设法弄清每一段代码的功能及其逻辑结构,进而弄清命题人的解题思路,再顺势解决问题。人们常讲,答案就在题目中,这是对的。在分析问题过程中,找到所求答案。不过前提条件是考生要熟悉这种语言,又要明白解题思路,这样才能正确作答。

近年来对于统一建模语言UML考查较多,已引起了考生的注意。它代表了软件工程的发展趋势,目前是可视化建模的事实上的工业标准。人们对于图的理解相对其他形式更容易一些,图能更清晰地描述和说明问题的本质,因此,UML体现了这一特点。这类题目难度与数据流图相似,自然解题思想也相同。从形式上看,数据流图更朴实一些,UML类的题目则透出一种新颖、现代的气息。

最后的题目面向对象语言是一个选做题,给考生以自由,可以发挥个人的优势。命题已注意到不同语言的考查难度的一致性,要求考生就同一问题回答,实现了形式上的公平。应考的核心问题

要高度重视近几年的试题。试题是对考试大纲的外化,是对相应知识的梳理,直接体现考查意图。如能把历年试题研究几遍,通过考试不成问题。因此,一个高效的学习方法,就是先研究历年考试题,通过做题,巩固已有知识,强化能力。针对试题不同内容,进行归纳总结,找出自己的优势和不足,然后带着问题去读书,查找相关资料,做到有的放矢,针对性强。从应考角度讲,这种方法效率可能最高。

考试是对参考人的综合性评测,每个考生只要答对60%的题目就能通过考试。考过了,意味着一个学习阶段的终结,另一个学习阶段的开始,是对个人知识体系和实践能力的检测。

我的考试经验:考前集中学习是必要的,研究往年考题很重要,考试信心要增强。虽然软考的通过率并不高,但要相信“天道酬勤”的道理。

另外,本人是在职学习计算机的,个人的经历不适用于在校生,但是学习过程是一致的。从无知到有知,从知之不多到形成一定的学科知识体系,通过实践进一步强化能力,这一过程是不能逾越的。在校生基于自身条件、所处环境等因素,会更有优势。(这篇文章还不错,基本上说到了软件设计师的考试点,大家下午考试一定要拿下数据库,数据流图,UML这几个重点!)

第四篇:软件测试心得

《软件测试心得体会》

软件测试在整个软件周期中的重要性。它存在于整个项目周期,在项目开始

下面简单谈谈我的几点体会:

体会一:

体会一:软件测试在整个软件周期中的重要性。

它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在后续整个项目中占了很大的比重,能主导整个项目的走向,成败与否全在于开始阶段的决策。

体会二:软件测试的真正意义在于发现错误,而不在于验证软件是正确的。

再严密的测试也不能完全发现软件当中所有的错误,但是测试还是能发现大部分的错误,能确保软件基本是可用的,所以在后续使用的过程中还需要加强快速响应的环节。结合软件测试的理论,故障暴露在最终客户端之前及时主动的去发现并解决。这一点就需要加强研发队伍的建设。

体会三:在系统性能测试方面需要重视。

经过这次培训中多个案例的讲解,让我了解到系统在上线之后会有很多不能预知的性能问题,需要在上线之前实现进行模拟,以规避风险,包括大数据量访问,高并发数等等。当然也有很多应对手段,没有哪种手段可称为最完美,只有最合适的,需要灵活掌握,综合运用以达到最优程度,这是个很值得研究的领域。

下面是我的几点想法:

想法一:加强系统上线前的性能测试。

目前我们在项目建设过程中对性能压力测试的重视程度还不太高,厂家也很少有雇佣第三方的测试机构。而是在现网进行试用,遇到问题再解决,可能会产生滞后问题,影响客户使用。希望以后能在性能测试方面提高重视程度,加大人力投入,以保证系统上线后能够稳定运行。

想法二:适当介入相关项目研发

对于快速响应这块,我们不能一味依赖厂家,而希望自己就能快速响应,及时将问题解决。这也是一个比较长远的问题,需要加强研发力量的投入。

我个人是做开发出身,有此类经验,当时是在客户现场,因为了解系统内部结构,能够在第一时间排查解决客户所反馈问题。

现在系统完全由厂家开发,很难了解内部结构,或许会造成后期维护困难。所以,是否应该针对某些项目介入厂家研发工作,比如请厂家提供源代码等相关要素,以增进维护人员对系统的了解。

最后再次感谢公司提供的平台,感谢领导的信任,让我有机会得到更深层次的学习以及展示自己能力的机会,我也会尽我所能来完善工作的系统,提高整体工作效率,为南方电网的发展建设提供更坚实,优秀的支撑服务平台。

第五篇:软件测试心得

软件测试心得体会

软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。

而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。

软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。

以下是就自己的个人工作经历谈一些浅见:

1.标准文档的制定:

1.1.任何一个公司要让自己的产品面市,都要有自己的一 套完整的品质标准,这个标准一定是在符合国标及客户标准的基础上形成的企业标准,系统而全面地描述一款产品的功能、性能、可靠性、健壮性、安规要求等一系列的产品标准,并根据客户特定要求相应调整。

1.2.测试仪器的作业指导书(SOP)及保养说明等。定义仪器 的使用步骤、操作指南和保养细则等。

2.测试资料的归档:

标准媒体文件、测试报告、BUG LIST库(电子类问题、结构类问题、软件类问题:方案自存问题、品证测试问题、生产测试问题、客户反馈问题、终端消费者反馈问题等)、认证测试文档归纳总结(认证公司培训资料、认证过程中出现并改善的问题)、测试工程师经验分享、常见问题解答FAQ等。

3.功能测试:

3.1.这是软件测试工作中最核心和最基本的一项测试,该测试的主要内容是检查软件是否符合需求定义,并通过构造正常的操作来检查的动作是否正确;在这个测试里,正确性是最最重要的软件质量要素。

3.2.功能测试按照可见性可以分为两类:显性功能和隐性功能。

显性功能:指在菜单里可以看得到的功能。隐性功能:指在菜单里看不到的功能。

例如,电话本的显性功能有增加、编辑、删除、拨打等,这些功能可以在电话本的菜单里面看得到,姓名列表排序则属于一个隐性功能,因为在电话本的菜单里没有这样一个子菜单,但它却是一个实实在在的功能。如以下这些隐性功能都测试中都需重点关注: a.电话本上下页切换,是否有遗漏联系人信息? b.是否支持手机内存、SIM卡电话本的同时下载?还是支持从一种介质里下载?

c.断电后再上电,系统设置的时间是否有记忆功能? d.GPS信号正常时,导航地图中时间是否有更新? e.TFT屏在Power off→on, ACC off→on时,屏的角度是否有记忆?

f.模拟导航时,是否有双工功能?后台源声音输出是否正常?

g.路试语音产品外置麦克风使用效果时,考虑车速、风声、车内讲话噪声、汽车底盘/发动机噪声等对麦克风录音效果的影响,软件多线程开启时导致的资源占用/系统繁忙对后台录音系统的影响。(也可从结构方面考虑:外置麦克风型腔开孔的接触面积,是否360度可旋转等来增加录音的路径等。)

h.地图上的POI信息通过后台语音搜索获取不到,解决措施:要求方案商讯飞完善后台语音库。

3.3.在实际的测试过程中,显性功能通过菜单遍历可以很容易地进行无遗漏的测试,但是隐性功能却很容易为我们所忽略!一个有效的解决办法是去检查软件的功能定义列表(Feature List),从这个列表里面找出那些隐性的功能。

3.4.制定测试用例时,要充分考虑各功能模块软件的显性功能和隐性功能。

4.健壮性测试:

橘生淮南则为橘,生于淮北则为枳。是说明橘的健壮性太差。该成语充分说明了我们对产品进行健壮性测试的必要性。4.1.健壮性是指在异常情况下,软件还能正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。健壮性测试主要包括:电子硬件健壮性(如:遥控距离测试、高低电压适应性测试、插拔电及开关机测试、静电抗扰度测试、热插拔测试)和机械健壮性(如:整机结构设计基准测试、模拟运输测试、常温包装跌落测试)。4.2.这项测试主要是检查软件对异常操作的容错能力,异常操作通常要考虑异常输入操作及异常条件两个方面。例如:测试蓝光媒体播放器时,反复把HDMI连接线拔掉,造成通信异常中断,再接上复合视频(CVBS)信号输出,即由数字信号输出转为模拟信号输出。恢复测试重点考察一下几项:(1)系统能否重新运行;(2)有无重要的数据丢失;(3)是否毁坏了其它相关的软件或硬件;(4)若软件出现系统报错,是否有自恢复能力。

4.3.软件的很多功能的实现是有很多隐含的条件的,在健壮性测试中,要检查当这些条件不满足的时候的反应。例如:目前大多数3G智能手机,与各电信运营商形成利益捆绑,每款手机支持特定的电信运营商提供的通信服务,其它运营商提供的服务则被拒之门外。当使用移动SIM卡安装在只支持联通通信服务的3G手机上,关注该手机表现:是否在执行自动更新时重启?还是执行自动更新后提示不支持移动运营通信服务:SIM card not supported, emergency calls only?

例如:在做完常温包装跌落测试后,再测试机芯的读碟能力,读取偏芯碟、面振碟、偏重心碟、刮痕碟、指纹碟等等碟片,与未做跌落测试前读碟能力进行比较。如果读碟能力比以前更差,则考虑改进措施:软件适当增加录轨时间或机芯托盘加固等。

5.矩阵测试

5.1.矩阵测试是使处于一个特定的状态,然后构造一个异步事件,检查当这个异步事件发生时软件的性能。

5.2.根据事件的来源,异步事件分为外部事件和内部事件

两种。

外部事件举例:蓝牙模式下来短信、来电话、各种介质(U盘、iPod、导航卡、收音天线)接入等。如接入导航盒后,导航不运行,看是否会对其它模式的运行产生影响?最近测试的Mazda J53R就是在接入导航盒后,产生系统不稳定,长时间播放蓝牙音乐、iPod曲目等会出现系统报错。

内部事件举例:车载DVD蓝牙自动连接、自动接听、音乐下载流量使用提醒, 手机低电警告、自动关机等。如带在线音乐功能的车载DVD,插上3G dongle时,下载歌曲时是否有流量提醒:该歌曲占用多少容量、目前已用多少流量、还剩余多少流量。

6.UI测试

好的UI设计不仅是让软件变得有个性有品味,还要让软件的操作变得舒适、简单、自由、充分体现软件的定位和特点。UI测试遵循的原则:

6.1.易用原则:如主菜单icon的排列布局:横纵向、环形、椭圆形。

6.2.友好原则:歌曲列表中的drag bar是否太窄,导致不方便拖动?

6.3.求美原则:检查在UI的布局里,各种要素是否能传达一种美感,布局是否合理,色彩是否合谐。

如拖动列表的动态效果、刷新列表的沙漏效果等。6.4.一致性原则:同样的一个功能的UI在不同的情景(scenario)所呈现的方式应该保持一致。

例如:在设置菜单选择DSP模式,退出后在各放音源下检查DSP模式与设置菜单中是否一致;将系统语言改为英语等其它语言,播放界面及菜单等,拼写是否正确,显示是否一致、是否越界等。

6.5.普遍性原则:即遵循约定俗成的规定。蓝牙icon一般遵照蓝牙认证协会

标识,如果自己另外搞一种icon设计,反而弄得不伦不类。

测试用户界面的色彩搭配、整体布局、行距、对齐,样式统一等等。还有就是一些控件是否合理,提示信息和页面信息是否有语法错误等等一系列问题,都应考虑进去。

7.用户体验:

用户体验:一种纯主观在用户使用产品过程中建立起来的感受。对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。例如:

7.1.自然往往和人的本性相关的。微信的摇一摇是个以“自然”为目标的设计。设计“摇一摇”时,目标是和人的“自然”或者说“本能”动作体验做到一致。摇一摇的体验包括:动作:摇动;视觉:屏幕裂开并合上来响应动作; 听觉:有吸引力的声音来响应动作;结果:从屏幕中央滑下的一张名片。整个界面没有菜单和按钮。但几乎没有比它更简单的交互体验了。联想到车载DVD,如果能通过手势识别来实现上、下页菜单的切换也是不错的选择。

7.2.如Mazda J53R平台蓝牙电话本的下载,使用部分手机连接成功后下载时间超过2分钟并提示Time out,且电话本条目数量也不多,约200条,从用户角度来说此时长不合理且不易接受。例如建议软件增加电话本保存在内存中,需要调用时直接从主机菜单内导出即可,这样方便且快捷,而且下载时间快,不需再通过蓝牙传输。7.3.主机主音量不变的情况下,通过切换模式,主观感觉不同模式下声音输出幅度不一致,即不同模式间切换感觉声音忽大忽小,这样就会给用户造成较差的听觉感受。此时我们可通过增益平衡(Gain Balance)来分析各源间的信号输出幅度:

a.将TCD-784碟第2曲1KHz 0dB信号作为标准信号通过Line out输出,再在信号发生器上定标准输出; b.调节信号发生器参数为频率98.1MHz,调制率75KHz,信号强度66dB,比较与CD输出时的幅度差别; c.调节信号发生器参数为频率999KHz,调制率80%,信号强度80dB,比较与CD输出时的幅度差别;

d.转到AUX,将输入设置为1KHz,500MV(-12dB), 比较与CD输出时的幅度差别。

通过不同模式下的输出幅度对比作为理论依据来改善, 如判定标准0+/-3dB。

8.兼容性测试:

主要测试不同介质对于被测设备的表现。包括:硬件兼容性测试(USB、SD、碟片、蓝牙手机等兼容性测试)和软件兼容性测试(音视频、图片、文本格式兼容性测试)。

如何在有限的成本和资源考虑下,针对此软件产品规划出适当的兼容性测试,是所有软件测试技术人员关注的重点。8.1.评估软件应用环境,有针对性的制定测试计划。做多少设备投资?投入多少人力?要测试多少兼容性测试完全会影响到软件产品的最终成本。想要专心和投资在研发上,又想要节省成本的做好兼容性测试,只有评估软件应用环境,有针对性的制定兼容性测试计划,才能兼顾成本和产品的兼容性质量。

8.2.在多种平台/应用环境上测试一个软件产品的开发成功,不仅仅是编写完为使用者提供服务功能的程序而已,更重要的是能在用户环境中可靠的运行。因此,软件程序编写工作的完成,其实只是完成了开发任务中的一半,对软件进行模拟用户环境进行兼容性测试其重要性不亚于对程序本身的开发。因此在不同平台、不同版本软件上做对比测试很有必要。

9.性能测试

性能测试通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。

9.1.测试通道延迟和极性(Channel Delay and Polarity),播放通道激励信号bd_8ch_delaypol_21,使用AP2700 扫描到的曲线图(如下),以此观察通道的延迟和极性是否符合要求。

9.2.音视频同步(A/V Synchronize),播放标准AV测试信号,使用AV同步测试仪接受信号,测试仪的另一端连接PC。如Dolby Digital Plus判定标准:视频先于音频10ms或视频后于音频15ms,为可接受范围。

10.临界测试

临界测试,就是指数据在保存、删除、传送、发送时或者这些动作即将发生时,考察软件对外部干扰事件的处理情况。如文本文件容量大于或等于设计容量,关注读取时的表现;蓝牙通话/蓝牙音乐关注传输距离临界值附近的测试结果;蓝牙连接成功立即断开再连接等。如MTK平台的某些机型在即将删除一条短信息时收到一条新信息,但删除的却不是刚刚选定的那条信息,而是刚刚收到的这条新信息!

11.可靠性测试

11.1.可靠性是指在一定的环境下、在给定的时间里,软件不发生故障的概率。

11.2.可靠性本来是硬件领域的术语,比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。

例如:高温工作试验:常温下将产品置于恒温恒湿试验箱中,按实际装车的状态连接输入设备,负载设备,电源,使样机为POWER OFF状态,逐步升温到+70℃,保持2小时后,使样机为POWER ON标准工作状态,分别设置为AM、FM电台收音/DVD、CD、SD卡播放/蓝牙/导航等工作模式下工作,若无电台则接收AM/FM信号发生器输出标准信号,音量开关置1W输出功率位置,试验中经常确认样机工作是否正常。样品工作72小时后,外观、功能应正常;试验后在常温下放置2小时以上,电性能指标测试应正常。

11.3.软件在运行过程中不会发生像硬件那样的物理变化,但是并不代表软件现在运行是正确的,那它一辈子运行也是正确的,说不定哪一天它就不正常了。软件中司空见惯的“内存泄漏”与”误差积累“等问题不是一时半会儿就能测试出来的,需要一个较长时间的观察。例如:做完高温试验导致Flash坏块、或丢代码等,此时需要软件对该模块代码做双备份处理。

11.4.时隐时现的问题一般都属于可靠性问题,纠错的成本非常高。当工程师十万火急地感到问题现场时,问题消失了;等工程师离开后,问题又出现了,仿佛敌进我退一般!此种低概率现象一定要录好Trace和Video。

12.黑盒测试模型

输入黑盒输出制约条件期望结果 12.1.黑盒测试不需要去关注软件的整体架构及其编码细则,只需要通过构造一些合理的输入(操作),来观察被测设备的实际结果或现象(输出),从而判定是否存在问题,需求文档是黑盒测试的主要依据。

12.2.在一个功能的实现过程中,可能存在这一些隐含的制约条件,它们影响着期望结果或者是输出。

“牛吃的是草,挤出的是奶”,这个命题有一个制约条件,鲁迅先生虽然没有说明,但我们应该明白,这里是特指母牛,你就是把公牛捏死了也挤不出奶来!12.3.问题就是输出跟期望结果的差距,需要注意的是,当立场不同时,对问题的定性也可能不一样,开发人员站在研发的角度说这不是问题,测试人员站在质量的角度说这是问题。

13.实用的黑盒技术

13.1.输入的构造通常会采用穷举的思想,可是穷举的空间如果非常大,那将使人十分的沮丧,还不如回家象张恒一样数星星,说不定还能数出个天文学家来。有两种手段可以有效地缩小穷举空间:等价划分和边界值分析。13.2.等价划分:等价区间的概念可以这样表述,设(A,B)是命题f(x)的一个等价区间,在(A,B)中任意取值x1进行测试:

如果f(x1)错误,那么f(x)在整个区间(A,B)上都将出错;

如果f(x1)正确,那么f(x)在整个区间(A,B)上都将正确。

等价划分思想的关键是找到一个合适的标准去划分等价区间!

新中国成立不久,有一位外国记者问周恩来总理:总理先生,请问你们中国有几个厕所?意思是新中国一穷二白,除了厕所多一点之外没有什么别的财富。周恩来回答说:记者先生,我们中国只有两个厕所,一个是男厕所,另一个是女厕所。这是周恩来总理等价划分的高超艺术。

13.3.边界值分析,“缺陷遗漏在角落里,聚集在边界上”,边界值分析是对等价划分的一种有效补充。

14.测试计划

制定一个完整、规范的测试计划对每一个测试管理人员来说是非常重要的!测试计划应该至少包括如下之内容: 14.1.概述(Overview): 文档通常都是以概述开头的,测试计划在概述里应该要写明该测试是做什么的,把测试的范围定下来,要测什么,不测什么。

14.2.测试目标(Test Goals)和发布标准(Release Criteria)一般说来,测试计划以定要写明测试的最终目标(Test Goals),必须使自己和别人明白为什么必须做这个测试,该测试需要达到的目的是什么。

另外,测试计划还需要明确定义发布标准(Release Criteria)的范围,如果有需要,可能还需要定义每一个发布标准定义在DR2、DR3和DR4个阶段的目标。14.3.测试方法描述(Testing Approach/Description)从项目总体的角度定义软件的测试方法,如我们在前面讲过的单个功能测试、集成测试、系统测试,以及没有讲的附件测试、专项测试、外场测试(Field Trial)。14.4.测试进度表(Testing Schedule)定义在DR各个阶段的详细进度,该进度表依赖于项目总进度及软件开发进度。14.5.测试资源(Testing Resource)。

下载CADCAE软件集成心得word格式文档
下载CADCAE软件集成心得.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件职业规划心得

    职业规划心得 短短三天的课程,眨眼过去。但,还是让我学到了一些新的知识。老师认真的教学态度,还是很容易让人接受的。我了解到了更多更新关于IT方面的知识。也认识到这门课程......

    软件销售心得

    软件的发展基本都走到了细分行业的时代了 大而通用的软件越来越不好做了 通用平台客制化 这几年的erp也不如前几年火了 必须做到把握客户需求进行定制才是出路 ERP可能再按......

    用友软件心得

    全球经济一体化和信息化的快速发展,企业对培养适应信息化的应用型人才的呼声日益高涨。在这样的一个时代背景下,如何针对特定的教育对象,从一个全新的角度来理解和设计现代职业......

    软件使用心得

    软件学习心得 超级兔子使用心得 Windows操作简便,但其好多功能却不能简单通过点几下鼠标就能实现。有经验的电脑虫们通过修改注册表来达到实现某些特殊设置的目的令许多菜鸟......

    软件课程设计心得

    软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性,只要合作协作才......

    软件测试心得

    从事测试到现在已有半年多的时间,刚开始做为新人时,面对未接触过的系统中的每个模块,心中是有些慌张的。仅凭业务学习和前辈们讲的测试方法还是很难做到完全让自己放心,这可能是......

    毕业论文怎么写--软件集成方案与流程

    珠宝首饰设计的虚拟现实展示设计方案探讨 前言 1.国内国外现状分析 (文章,NOTEEXPRESS,综述,找出别人没有做到位的。。。提出自己的思路和想法,以及技术流程) 2.国内外珠宝首饰设......

    材料成型CADCAE综合实践报告

    目 录 1 中文摘要 ................................................................................................................ 1 2 引言 ...........................