ICT测试日志 --1--数据结构
文章目录
什么是日志记录?
测试数据以一系列格式化的记录形式存储在文件中,这些记录称为日志记录。每个记录由一个表示信息的字符串组成。由于记录需要由程序读取和解释,因此每个记录中的字符按照精确的格式排列。如果您希望解释现有的日志记录或从头生成自己的日志记录,则必须熟悉这些格式。
由于日志记录只是ASCII字符的字符串,您可以将日志记录文件加载到BT-Basic工作区中进行检查。或者,如果您熟悉shell,也可以使用more命令或编辑器(如vi)来检查日志记录。有关日志文件的位置,请参见数据记录文件的结构。
关于日志记录前缀
您测试系统生成的所有标准日志记录都包含一个前缀,该前缀由@符号和几个描述性字符组成,这些字符独特地标识了记录的类型。例如,前缀@BLOCK表示该记录描述了一个测试块或一组测试。尽管可以生成任意数量的@BLOCK日志记录,但只有一种类型的日志记录可以以@BLOCK前缀开头。
记录如表8-1所述。
表8-1
日志记录前缀
| 前缀 | 目的 | 生成者 |
|---|---|---|
| @A-CAP | 电容器测试结果 | 电容器 |
| @A-DIO | 二极管测试结果 | 二极管 |
| @A-FUS | 保险丝测试结果 | 保险丝 |
| @A-IND | 电感器测试结果 | 电感器 |
| @A-JUM | 跳线测试结果 | 跳线 |
| @A-MEA | 测量结果 | 测试 |
| @A-NFE | N沟道 FET 测试结果 | nfetr |
| @A-NPN | NPN 晶体管测试结果 | npn |
| @A-PFE | P沟道 FET 测试结果 | pfetr |
| @A-PNP | PNP 晶体管测试结果 | pnp |
| @A-POT | 电位计测试结果 | 电位计 |
| @A-RES | 电阻器测试结果 | 电阻器 |
| @A-SWI | 开关测试结果 | 开关 |
| @A-ZEN | 齐纳二极管测试结果 | 齐纳二极管 |
| @ALM | 标识实时报警 | 报警程序 |
| @AID | 标识引发报警的电路板 | 报警程序 |
| @ARRAY | 数字化结果分析 | 数字化 |
| @BATCH | 批次标识符 | 记录电路板 |
| @BLOCK | 测试块标识符 | 测试 |
| @BS-CON | 描述边界扫描测试 | 边界扫描 |
| @BS-O | 开路引脚列表(边界扫描) | 边界扫描 |
| @BS-S | 短路引脚列表(边界扫描) | 边界扫描 |
| @BTEST | 描述电路板测试 | 电路板日志开始与结束 |
| @DPIN | 列出单个设备的故障引脚 | 数字连续性 |
| @D-PLD | PLD 编程结果 | BT-Basic日志功能 |
| @D-T | 数字短路测试结果 | 测试 |
| @INDICT | 列出潜在故障设备 | 日志级别裁定 |
| @LIM2 | 模拟测试高/低限 | 电流测试等 |
| @LIM3 | 模拟测试标称值和公差限 | 电容器等 |
| @NETV | 网络验证记录 | 前置设置程序 |
| @NODE | 节点列表 | 探针及故障 |
| @PCHK | 极性检查测试结果 | 测试 |
| @PIN | 引脚列表 | 引脚出错 |
| @PF | 引脚故障结果 | 测试 |
| @PRB | 探针故障结果 | 探针 |
| @RETEST | 表示重新测试的日志清理 | 重新测试的日志清理 |
| @RPT | 报告记录的消息 | 报告 |
| @TJET | VTEP 或 TestJet 结果 | 测试 |
| @TS | 短路测试结果(目标) | 测试短路 |
| @TS-D | 短路节点列表 | 测试短路 |
| @TS-O | 开路节点列表 | 测试短路 |
| @TS-P | 伪短路列表 | 测试短路 |
| @TS-S | 短路测试结果(源) | 测试短路 |
注意存在若干组前缀。例如,以@A-开头的记录由模拟测试语句生成,以@D-开头的记录由数字测试语句生成,等等。如果您生成自定义的日志记录,您可能会想创建自己的前缀组。
为使日志记录保持在可管理的大小,请避免使自定义前缀过长。
日志记录的层次结构
本节展示了日志记录组如何排列以形成日志数据文件。为了便于说明,每个记录仅用其前缀表示,而不使用其包含的实际数据。每个日志记录的内部结构将在"解释日志记录"中详细说明。
日志记录按记录和子记录的层次结构排列,其中子记录只是进一歩描述其前面的内容的附加记录。例如,一组日志记录(可能是一个日志数据文件)可能以一个包含识别被测试电路板批次信息的@BATCH记录开始:
sh
@BATCH
在@BATCH记录后,可能会有一个@BTEST记录来标识单个电路板的测试:
sh
@BATCH
@BTEST
由于@BTEST记录通过标识批次中某个特定电路板来进一步描述@BATCH记录,因此它是@BATCH记录的子记录,或从属于@BATCH记录。单独的@BATCH记录是不完整的;只有在后面跟随一个@BTEST记录时才完整。
假设在@BTEST子记录中描述的电路板上进行了电阻测试(通过电阻语句执行)。电阻测试的结果出现在@A-RES记录中(其前面是@BLOCK记录以标识一组测试的开始),如下所示:
sh
@BATCH
@BTEST
@BLOCK
@A-RES
因此,@A-RES记录看作是@BLOCK记录的子记录,而@BLOCK记录是@BTEST记录的子记录,而@BTEST记录又是@BATCH记录的子记录。
为了使记录和子记录的结构更加明显,我们将开始对示例进行缩进,如下所示:
sh
@BATCH
@BTEST
@BLOCK
@A-RES
这种展示示例的方式清晰地显示了记录和子记录的层次结构。请注意,这些缩进仅用于说明目的;在实际的日志数据文件中并不会出现。
假设我们测试了另外两个电路板,每个都有一个电阻测试。日志数据文件现在看起来如下:
sh
@BATCH
@BTEST
@BLOCK
@A-RES
@BTEST
@BLOCK
@A-RES
@BTEST
@BLOCK
@A-RES
完成当前批次的电路板并开始一个新的批次后,我们得到:
sh
@BATCH
@BTEST
@BLOCK
@A-RES
@BTEST
@BLOCK
@A-RES
@BTEST
@BLOCK
@A-RES
@BATCH
@BTEST
@BLOCK
@A-RES
以类似的方式,其他记录和子记录可以组装成描述如何对电路板进行测试的日志数据文件。