当前位置:首页 > 测试测量 > 测试测量
[导读] 自从上个世纪80年代数控装置广泛采用32位CPU组成多微处理器系统以来,计算机软件在数控设备中的地位逐渐变得重要起来。90年代以后,随着计算机技术的飞速发展,利用PC机丰富的软件及硬件资源开发出来的

自从上个世纪80年代数控装置广泛采用32位CPU组成多微处理器系统以来,计算机软件在数控设备中的地位逐渐变得重要起来。90年代以后,随着计算机技术的飞速发展,利用PC机丰富的软件及硬件资源开发出来的开放式体系结构的数控系统中的软件对于智能化和网络化的支持更加强大,软件的规模和功能进一步的增强了。当代的数控设备已经成为一种硬件与软件高度集成化的综合性系统。

数控设备中软件的特点

数控设备中的软件大多数都是嵌进式软件,即那些与硬件有着紧密关系并且运行在特定的硬件环境中的软件。嵌进式软件最大的特点就是与硬件环境有着密不可分的关系,整个数控系统的性能、智能化水平的高低以及可靠性的优劣等都是由硬件环境和软件共同决定的。但是众所周知,当前技术条件下软件的可靠性比硬件的可靠性要低一个数目级,据资料统计,嵌进式系统的运行失效中有75%是由其中的软件失效所引起的。事实上软件失效所导致的系统故障已经成为数控设备故障诊断中一个不容忽视的题目了。

数控系统中软件的测试与诊断方法

与硬件故障相比软件失效主要有以下两个特点:(1)软件失效不会随时间而发生变化。硬件的故障中有很大一部分是由于设备的磨损和材料的老化所致,而在软件中则不存在这样的题目,一旦软件运行正确,它是不会随着时间的推移而退化的。(2)软件的失效多数是由程序代码中的固有错误所导致,而对于嵌进式软件来说,软硬件之间的接口错误也是导致失效的一个重要因素。

由于失效机理的不同,软件的诊断方法与硬件通常所使用的故障诊断方法也不尽相同。从保证设备可靠性的角度来看,硬件设备在出厂之前要做一系列的可靠性试验,目的就是要把设计和加工过程中产生的题目提前暴露出来,而到了用户使用阶段,工作的重点就是对设备的运行状态进行监测,对出现的故障进行诊断和维修。而软件的工作重点则在于软件出厂前和使用初期对软件进行的测试,尤其是对软件与硬件集成之后所进行的系统测试。可以这样说,系统测试是发现嵌进式系统中软件题目的最行之有效的方法之一。

软件测试的理论中,系统测试属于一种动态黑盒测试,即测试职员不必深进软件代码的细节,只需通过控制软件的输进条件驱动被测软件的真正运行。简单的说,动态黑盒测试就是要尽量模拟出被测系统的真实使用情况,并通过对被测系统的实际操纵来达到发现故障的目的。根据系统测试原理,我实验室自主设计开发出一种具有一定通用性的嵌进式软件系统测试环境,并在此基础上总结出一套有效的系统测试方法。本文下面结合一个具体测试实例对系统测试环境以及测试方法进行先容。

发动机数控系统的系统测试

系统测试环境

对一个数控设备中的嵌进式软件进行系统测试的第一步就是要搭建系统测试的环境。系统测试环境的作用就是能够让软件在真实的硬件环境下运行,而且还能够让测试职员把测试用例施加到被测软件中,并且可以收集到测试的结果数据。系统测试环境是一个由硬件和软件共同组成的测试平台。


图1软件系统测试环境简图

图1所示即为我们在为某型号发动机的数控系统软件进行测试时设计开发的系统测试环境。

整个测试环境由三大部分组成:测试用例及测试脚本天生环境、系统检测软件以及系统检测箱。其中的测试用例及测试脚本天生环境和系统检测软件属于测试平台的软件部分,而系统检测箱以及与之相连的I/O设备都属于硬件部分。测试用例及测试脚本天生环境是一个图形化的编辑环境,测试职员可以在这个环境中把设计好的测试用例通过画图或是写文本的方式转换成测试脚本,它是测试用例的可执行形式。测试脚本中包含了一系列对被测系统的操纵动作,它的实质作用就是通过控制测试流程来实现测试者的测试意图。

系检测软件由脚本解释器、模型、测试结果收集和显示模块四个部分组成。脚本解释器是用来把测试脚本解释成为可执行的代码形式,在测试过程中用于控制测试流程。模型则根据测试脚本的要求计算产生测试数据,并发送到被测系统之中。测试结果收集是用来收集被测系统运行过程中的状态信息和输出数据。显示模块用来根据测试职员的要求在测试过程中把被测系统的状态信息和输出数据显示出来,以便测试者可以观察和控制测试的进行。

地面检测装置是在设备正常运行之前检测数控系统的完好性和对装置中闪存的读写操纵,以及设备运行以后进行数据下载和数据分析的工具。地面检测装置的功能包括对电子控制器及发动机模型的仿真、电子控制器的检测、继电器箱的检测、传感器的检测和电液伺服阀线圈的检测等。在测试环境中,地面检测装置从系统检测软件中获得模型根据测试脚本所产生的测试数据,在装置内部把这些测试数据全都转换为可以输进到被测系统中的数据形式,并通过I/O接口送到被测系统之中,驱动被测系统的运行并完成测试。从上面的先容可以看出,这套系统测试环境具有以下几个主要特点:

具有一定的通用性。这套环境不仅可以对发动机数控软件进行测试,而且可以对相似的一类嵌进式软件进行测试。

操纵简便。测试环境只需要测试者把测试用例编写成测试脚本的形式,即可在测试环境中实现自动化的测试,无须对被测系统进行直接的操纵。

测试效率较高。由于有系统检测软件和系统检测箱的支持,这种自动化测试的执行效率比手工测试有了较大的进步。

支持重复性的测试。由于测试用例是以测试脚本的形式存在,所以同一个测试可以毫无差别的无穷次执行。重复性测试在故障修改之后的回回测试中有很大的应用。

系统测试过程

在建立好测试环境之后,就可以利用它进行系统测试了,具体过程可以分为以下步骤:

1.设计测试用例。系统测试用例由两部分组成:测试输进序列和测试的预期结果。测试输进序列描述了一次测试中对被测设备的具体操纵流程,包括如何启动设备、何时进行加速操纵、何时进行停车操纵以及何时封闭设备等。测试预期结果描述了被测试的设备在上述的操纵下应该产生什么样的动作或出于什么样的状态。

测试用例的质量是是否能发现设备软件故障的关键所在。在设计测试用例时,可以根据测试的侧重点不同,从正常功能、边界情况和非正常操纵等几个方面进行考虑。正常功能测试就是根据被测试的发动机的正常使用情况,模拟出一些具有代表性的操纵。边界情况的测试是指对输进被测系统的模拟量的边界值进行测试,经验表明当输进量在边界上或是边界的邻近点取值时是最轻易产生错误的,例如在发动机在正常转速范围的边界点四周运行时往往轻易发生故障。非正常操纵主要是考察数控设备软件在处理一些异常情况时的能力,例如在使用者出现错误操纵或是在使用中忽然发生硬件故障的时候数控软件是否具有一定的保护功能,而不至于出现重大的事故,这项测试主要是考察数控系统的可靠性和健壮性。

2.运行测试。设计好的测试用例在测试环境提供的图形化编辑环境中通过画图或是文本方式可以转换成测试环境能够识别的测试脚本形式。每一个测试用例转换成为一个测试脚本,测试脚本可以直接加载到测试环境中进行一次测试。在测试运行过程中测试用例的操纵序中的操纵得到依次执行,被测试的设备也因此得到运行。运行过程中还可以通过测试环境提供的显示模块观察到设备运行的状态。

3.分析测试结果并得出测试结论。一次测试结束之后,测试环境会自动地收集到被测试设备的各项运行数据。把这些数据与测试用例中预期结果进行比较,由此判定被测试设备运行是否正常,是否发生了故障。

从正常功能、边界情况和非正常操纵三个方面考虑我们天生了100个测试用例,并在搭建的测试环境中得到成功的运行,最后通过对测试结果数据的分析,发现了几个关键性的题目,例如当飞机的飞行高度超过一定的值后,软件所进行的插值计算就会出现错误。另外还有由于软件的设计逻辑有题目而导致发动机在不该停车的时候停车了等。经过分析确定这些故障都是由于数控软件的缺陷所导致的。软件设计职员对这些题目进行了正确的修改之后,系统的可靠性和健壮性都得到了很大的进步。

结语

利用本文先容的系统测试环境以及测试方法我们已经成功地进行了多个嵌进式软件的测试,发现了很多软件中潜伏的重要缺陷,在为进步设备的质量和可靠性方面发挥了重要作用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

基于商汤科技自研大语言模型的智能编程助手——代码小浣熊Raccoon,即日起全面开放公测。它功能覆盖软件需求分析、架构设计、代码编写、软件测试等环节,满足用户代码编写、数据分析、编程学习等各类需求。

关键字: 大语言模型 代码编写 软件测试

步进电机除了可以提供精确的定位,还可以提供强有力的力矩输出,所以会在众多的场合下使用它们,如雕刻机、数控设备、打印机等等。

关键字: 二相步进电机 驱动电路 数控设备

DevEco Testing Hypium通过提供以上测试能力集,有效解决测试开发常见痛点、提升脚本开发效率及开发体验,让HarmonyOS NEXT自动化测试效率有效提升30%。

关键字: 软件测试 HarmonyOS

在这篇文章中,小编将为大家带来人工智能AI的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 人工智能 AI 软件测试

本文中,小编将对人工智能AI予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: AI 人工智能 软件测试

步入高效时代,开发团队要如何在提升速度的同时保证软件质量,从而保证用户体验?答案就测试自动化。

关键字: 软件测试

摘要:针对冷水机组的应用现状,结合高等学校冷水机组的教学实训情况,开发了一套教学与工程并用的冷水机组性能测试实验台,对设备进行性能检测,在计算机控制下实现数据采集与输出,绘制出压缩机性能检测曲线与冷水机组在不同工况下的性...

关键字: 冷水机组 软件测试 性能曲线

摘 要 :为了在早期发现软件里存在的缺陷,文中在对测试技术进行大量研究的技术上,设计了基于武警救援系统的软件测试策略,选取了适合有效的测试方法和测试类型,执行了规范的测试流程,实现了对武警救援系统从单元到系统级别的全面测...

关键字: 软件测试 测试策略 测试过程 缺陷 救援系统

(全球TMT2021年10月21日讯)近日,由中国金融出版社主办的“2021金融业软件测试成果交流会”(以下简称“金测会”)在北京召开。本届会议全面升级为整个金融行业测试人的盛会,正式更名为“金融业软件测试成果交流会”...

关键字: 软件测试

摘要:软件测试是软件开发过程中非常重要的一个环节,直接关系着软件的质量。文中阐述了软件各个开发阶段需要进行的测试,并以B/S结构ERP管理软件为代表,着重介绍了系统实现阶段软件测试的方法,同时简要描述了软件维护阶段测试的...

关键字: 软件测试 ERP软件测试 测试方法 B/S结构
关闭
关闭