测试系统构建技术:基于C++和Qt的框架软件
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 功能组成

测试系统虽然是基于特定测试需求构建的,但总有一些共性,如都需要实时数据显示、都需要编辑发送控制指令、都需要测试数据存储查询等。差别是不同被测对象有各自的数据内容、数据来源、数据格式等。共性是基本需求、基本功能。

1.3.1 基本功能

测试系统的基本工作是能获取到被测对象的各种信息、数据,能够对这些数据进行处理、分析、展示,能够生成激励信号、将激励信号发送给设备,能够存储、查询各类数据、日志等。测试系统的基本功能如下。

(1)信号采集、信号输出、总线通信,信号处理、数据解析。

(2)数据显示,如实时曲线图、数据统计表格、状态图标等。

(3)发送激励信号、发送控制指令,编辑、生成、发送激励信号与控制指令。

(4)各类数据的再处理功能,转换系数、计算公式、组合运算等。

(5)实时数据的采集、接收、处理、显示、存储。

(6)历史数据查询、导出、基本分析、绘图、历史曲线图。

1.3.2 功能齐全的测试系统

除基本功能外,有的测试系统还有更多的功能,包括配置运行环境、配置参数、运行参数、测试流程编辑等。加入各种配置参数后,测试系统的复杂度也会增加。

下面摘录一段《航天器电测技术》中对功能齐全测试系统的定义,这里将这些条款认为是测试系统的评价标准,满足这些条款才被认为是功能齐全的,而且这些条款不会随技术更新、时代变迁而产生变化,不论采用什么样的技术实现,只有满足如下条款,才被认为是功能齐全的测试系统。

具备以下功能的系统可被认为是功能齐全的测试系统。

(1)多进程、多平台、分布式运行。

(2)多平台、多操作系统、可移植性。

(3)高度可配置功能模块。

(4)功能的可扩展性、可重用性。

(5)丰富的测试控制语言。

(6)实时存储数据、回放数据。

(7)单一集中式多用途数据库。

(8)方便易学的人机接口。

1.3.3 自动化测试

在测试领域中,相比人工一条一条地执行测试,自动化测试更能快速、准确地执行测试,所以实现自动化测试是非常重要的。

测试自动化是一个相对的概念,对测试结果做到故障分析和定位,应该属于测试的智能化,是更高级的自动化。

按照程序能控制下述五种操作自动进行的测试可被认为是自动化测试。

(1)自动生成和改变输入信号(激励)源。

(2)自动控制被测对象输入和输出的通断,构成不同的测试模式。

(3)自动测量和记录输出信号。

(4)自动对测量数据进行处理。

(5)自动显示和打印最后的结果。

1.3.4 一个误区

研制测试系统时,在前期要与测试需求方对接需求。总是有些用户会说:我们的需求很简单,你们只需要用某总线“接收点数据、解析并显示一下、然后再发点数据”。此时,一定不要盲目行事,务必多询问,仔细弄清用户的所有需求。因为这句话的后面可能隐含各种需求,如是否有一些配置化、参数化的需求、是否有数据分析和处理,一定要多问、多确认。

也有的用户方在测试系统方面经验丰富,能够一次把自己的需求(如基本需求、配置化、参数化、扩展机制、未来型号产品的适应性、性能需求等)都讲清楚。

“接收点数据、解析并显示一下、然后再发点数据”是基本原理、基本要求。把这句话展开逐个进行分析就得到了如下基本需求。

(1)“接收点数据”。需要弄清楚:从哪里接收数据、是一路总线还是多路总线、多路之间是否有交叉关系、是否有通信协议、通信协议是否复杂、通信速率、数据量等。

(2)“解析并显示一下”。需要弄清楚:如何解析数据、数据格式如何、是否有公式计算、是否有系数、是否有性能要求、是否显示原始数据、是否显示表格、是否显示统计最大值或最小值、是否需要实时曲线、是否放大或缩小曲线、是否有标线、是否需要存储、是否存储原始数据、是否需要查询历史数据等。

(3)“再发点数据”。发点数据一般指发送指令。需要弄清楚:指令格式如何、是否有编码系数、是否需要保存或导出指令数据、是手动发送还是定时发送、发送之后是否需要判断、是否需要保存日志、是否有测试流程等。

研制测试系统时,一定要按照上述内容逐条进行询问、确认好用户需求,并落实到文件中,以便用户在日后提出已确认的用户需求之外的改动时,可以拿出该文件指出当时没有提出该需求,额外需求或改动需要增加费用。