本博客最初发布于cimetrix.com。
本博客是《识别SEMI E30 GEM标准中的定制测试案例》一文的后续篇章,原文请见此处。
不幸路径测试
虽然本文将重点探讨所谓的“正常路径”(即无错误情况),但测试异常路径同样至关重要。
可能出现在“不愉快路径”测试中的情况包括:
- 读卡器失去互联网连接。
- 读卡器断电
- 自动售货机与读卡器通信中断
幸福路径测试用例
幸福路径是指当用户(或在此情况下,设备)仅输入有效数据时所遵循的程序流程。
在此简单测试中,我们忽略错误/告警情况(状态转换T2和 T4)。
正常路径过渡测试步骤
- 初始化T1=>
- 等待付款T3=>
- 等待选择T5=>
- Dispense_ItemT7=>
- while (用户想要更多物品 && 资金充足)
{
Dispense_ItemT6
Wait_SelectionT5
} - 交易完成T8
设备测试插件设置
先决条件:
- 已安装设备测试 1.0.3 或更高版本。
- Visual Studio 2019 或更高版本(目标平台为 .NET Framework)
- .NET 4.8 SDK
- 一套支持GEM功能的设备(或同等设备)用于测试
- 请按照《设备测试开发者指南》中题为“使用 Visual Studio 创建插件”的章节中的说明操作。
测试流程
有时我发现即时验证数据很有帮助。为简化流程,本次测试将先收集所有数据,最后统一进行验证。
文档
文档是用户在设备测试用户界面中可见的项目之一。每个测试步骤都必须在插件中进行文档记录,以便用户理解测试的执行内容。
用户参数
在GEM系统中,每个采集事件、变量和报警都将拥有一个ID。这些ID是主机端测试的必需信息。现代设备大多支持通过特性化消息获取这些ID。在本示例中,我们将允许测试用户(插件用户)手动输入这些值。
自定义测试概述
HSMS设置是从用户在设备测试用户界面中输入的设置中获取的。
在步骤1中,创建处理状态转换事件报告及相关变量。
在步骤2中,测试等待自动重置事件“timeOutWait”。若结果超时,则测试失败。若测试接收到转换8,则测试继续进行。
步骤 1-2
创建报告
CreateReports API调用发送S2F33消息,用于创建用户参数ProcessState Report指定的报告编号。该报告将包含状态变量ProcessState和PreviousProcessState。在此示例中,两者的值类型均为Ascii。
测试步骤 3-4
步骤3检查数据,确保所有状态转换均按预期顺序发生。
前四个状态应始终分别为T1、T3、T5和T7。然而,后续状态将根据用户的响应而变化。这要求测试能够动态断言数据。
在测试步骤4中,我们提取变量值,然后采用与步骤3相同的方法来确保先前和当前的流程状态被正确报告。
结论
虽然开发此测试需要对GEM和C#有基础理解,但运行测试时用户无需掌握这两项知识。这意味着任何拥有设备访问权限和EquipmentTest运行时许可证的人员,均可成功运行此测试。
Cimetrix EquipmentTest 使开发人员能够充分利用 .NET Framework 的可扩展性。此外,经过精心编写且经过验证的 GEM 库大幅降低了编写 GEM 测试相关的学习成本。