双十科技关于TestStand开放式架构

Date:2022/12/23 9:29:11 / Read: / Source:本站

双十科技关于TestStand开放式架构
Process Model(过程模型)
    3.2节通过“Execute;Single Pass”和“Execute;Test UUTs”执行了主序列,和
第2章的“Execute;Run MainSequence”相比,前两者执行7额外的操作,如输入
序列号、生成报表、显示测试结果,这是一些比较通用的操作。先聚焦到序列文
件本身,仍以“Computer Motherboard Test Sequence.seq”为例,它自身包含很
多的步骤,这些步骤都是针对计算机主板这一特定UU下的,当单击菜单命令
"Execute;Run MainSequence”后,TestStand只执行主序列中的步骤(如图3-4
所示)。
    作为标准自动化测试系统架构的最上层,测试管理软件要提供模块化的测试
框架,在TestStand中,这个测试框架称为Process Model(过程模型),而采用
该过程模型的序列文件称为Client Sequence File(客户端序列文件).回顾第1
章介绍的自动化测试系统的组成,测试软件部分细分为测试程序、自动化测试框
架,对应于TestStand中的测试程序即客户端序列文件,测试框架即过程模型。在
过程模型中会包含很多的通用操作,而客户端序列文件的主序列只是其中的一部
分,过程模型将框架定义好,并预留位置给客户端序列,开发人员负责填写这一
部分即可。
    如图3-5所示,如果采用过程模型,启动测试之后,TestStand就不仅执行客
户端主序列,还会按照过程模型定义的顺序执行所有的操作,按照图3-5的简化示
意流程,即通用操作、客户端序列。通用操作。通过这种形式,TestStand将很多
通用操作直接提供给开发人员,如序列号追踪、流程控制、报表生成、数据存
储、用户界面更新、配置和提示窗口、用户管理等,开发人员不再需要从头开始
这部分工作了。TestStand需要额外做的工作是解决通用操作和客户端序列之间的
通信和数据共享问题。其实,过程模型在概念上很简单,就是把通用操作和特定
操作组合在一起,形成更大的测试序列,怎么组合以及包含哪些通用操作则由过
程模型决定。过程模型本身是一个序列文件,TestStand自带提供了三种过程模
型,分别是顺序过程模型、并行过程模型、批量过程模型,后两者具有并行测试
的功能,用户也可以根据需要创建新的过程模型。
Execution Entry Point(执行入口点)
    过程模型定义好了测试框架和通用操作。在实际应用中,不同项目使用过程
模型时,对它所包含的通用操作以及通用操作之间的执行顺序有着不同的需求,
因此每次都要修改过程模型,或者另创建新的过程模型,久而久之,过程模型越
来越多。为避免这种情况,TestStand引入执行入口点的概念。以图3-6为例,假
设过程模型有A, B, C三个不同的执行入口点,A和B之间的区别在于通用操作2
和MainSequence的先后顺序变7,而C中通用操作1和MainSequence处于循环之
中。因此,选择不同的执行入口点,意味着采用不同的运行方式。说白了,还是
这些操作,只是把它们重新排列组合,以满足不同场合应用需求。像3.2节中的
Single Pass和Test UUTs就是同一个过程模型的两种不同执行入口点,Test UUTs
会连续测试不同的UU丁,这不同于Single Pass,就是这个道理。每个过程模型可
以有任意多个执行入口点,可根据需要创建添加。
Callback Sequence(回调序列)
    利用执行入口点可以定义适合自己的序列执行方式,然而执行入口点包含的
这些通用操作中,它们的功能是预定义好的,而开发人员有可能需要修改默认功
能。以输入序列号追踪UU丁为例,TestStand默认弹出窗口,提示用户手动输入序
列号,但在实际产线中往往是使用条码枪直接扫描,不需要手动输入,这就需要
修改或重写序列号输入这一通用操作。怎么修改呢?最直接的方式是在执行入口
点中直接修改通用操作,这会导致潜在的问题,如果产品升级或者完全更新换
代,这些通用操作就得去适应新的产品,这时又需要修改执行入口点里的通用操
作,或者干脆新建执行入口点。当产品越来越多时,执行入口点修改次数增多,
或者其数量不断增加,系统维护就变得非常困难。为避免这种情况,TestStand引
入回调序列。TestStand将经常被修改的通用操作设置成回调序列,每个回调序列
有定义默认功能,但是它们可以被客户端序列文件重写。如图3-7所示,在执行入
口点中定义了三个回调序列,在客户端序列文件中,重写了回调1和回调3。当
TestStand在过程模型框架下执行到每个回调序列时,它会去检查该回调序列是否
被客户端序列文件重写,如果是则执行客户端序列文件中的定义,否则执行默认
操作。通过这种方式,可以对通用操作进行定制化,并且这部分工作是放在客户
端序列文件中的,减少了对过程模型和执行入口点的修改。通过过程模型、执行
入口点、回调序列这三个不同层次的接口,TestStand就这样,将其开放式架构一
步步展现出来。
TestStand架构概览
    第2章介绍了TestStand系统组件(见图2-5),包括TestStand引擎、序列编
辑器、用户界面、模块适配器、部署工具,TestStand引擎是最核心的部分,它支
撑着一切操作,序列编辑器和用户界面通过TestStand API和它进行交互。
TestStand如果要调用其他应用开发环境编写的代码,就需要借助于模块适配器。
    本章介绍了过程模型、执行入口点、回调序列的概念,它们是TestStand展现
强大灵活开放式架构的具体实现,正因为此,TestStand远不只是测试执行器那么
简单。概括来讲,TestStand系统组件支撑着测试管理、流程控制,而过程模型、
执行入口点、回调序列、客户端序列文件则将这些功能具体化,这两部分整合在
一起,就构成了TestStand的整体架构。打开TestStand架构概览图文档‘
TestStand
\Doc\Manuals\TestStandSystemandArchitectureOverviewCard.pdf,如图3-8所
示。TestStand系统组件之间的关系和图2-5是一致的,在这个基础上,它增加了
过程模型、序列文件执行的详细信息。过程模型的运作同样由TestStand引擎支
撑,它通过TestStand API访问引擎,而序列文件执行底层也同样是由TestStand
引擎接管。将“序列文件执行”展开,如果没有使用过程模型,则只执行该序列文件
包含的步骤;如果使用了过程模型,则执行过程将按照过程模型设定的方式进
行,执行过程会产生测试结果,过程模型中的通用操作会进行结果收集,并生成
报表、记录数据库或者做数据离线分析。这些基本上就是TestStand架构的全部内
容。

Author:admin


现在致电 0755-28905930 OR 查看更多联系方式 →

Go To Top 回顶部