4. 测试用例设计基础与环保场景适配
在FAT与SAT阶段,测试用例是把“验收要求”翻译成“可执行、可判定”动作的载体。环保自动化项目常见的失败并非设备不动作,而是用例写得含糊:只写“检查pH显示正常”,却没有说明用什么信号源、加多少、允许多大偏差、在哪个界面观察。因此本节先明确用例要素,再讨论覆盖准则与三类设计方法,最后落到pH、COD、流量等环保工艺参数的典型用例上。
一、测试用例的六个必备要素
一条可执行的用例至少包含:用例编号与追溯项(对应哪条URS或控制说明)、前置条件(设备状态、仪表投运状态、通信正常、安全联锁已确认)、测试输入(模拟信号值、设定值、扰动方式)、操作步骤(谁在何处做什么)、预期结果(含数值与容差)、判定与记录(通过/不通过准则、证据形式如截图、趋势曲线、报警记录)。其中“预期结果”最容易失守,必须写成可测量的形式,例如“pH显示值在6.98~7.02之间,且与标准源偏差≤0.02 pH”,而不是“显示正确”。
二、覆盖准则:先保证“该测的都测到”
工程上常用三层覆盖思路。第一层是功能覆盖:每个控制回路、每个报警、每个联锁至少一条用例。第二层是数据覆盖:对每个模拟量输入,覆盖正常值、上下边界、越界、断线(如4mA以下)与超量程;对每个数字量,覆盖0/1及抖动。第三层是路径覆盖:对自动加药、反冲洗、超标回流等有分支的逻辑,覆盖主路径与异常分支。覆盖准则的作用是防止“只测了顺利情况”,而不是追求用例数量。
三、三种设计方法与环保参数适配
等价类划分把输入域分成若干“行为相同”的类,每类取一个代表值。以pH为例:有效测量域4~10 pH可划为酸性段(4~6.5)、中性段(6.5~7.5)、碱性段(7.5~10);无效域为<4与>10(超量程)。对COD在线仪,可按量程0~500 mg/L划为低(0~100)、中(100~300)、高(300~500)三段,各取代表值验证显示与上传。等价类的价值在于用少量用例覆盖不同处理分支,例如中性段不触发加酸加碱,酸性段触发加碱。
边界值分析针对“刚好在临界点”的行为,取边界本身及两侧邻值。pH设定联锁为“<6.5启动加碱”,则应测6.48、6.50、6.52三个点,确认动作点与回差;流量低限报警设为50 m³/h,应测49、50、51 m³/h,并观察报警是否在设定延时后出现。边界值往往暴露比较符方向写反、死区未设、滤波延时过长等问题,是FAT阶段性价比最高的用例类型。
场景法把多个参数与操作串成一条业务链,验证系统在真实工况下的协同行为。例如“进水COD突升→超标报警→自动增大加药量→出水COD回落→报警复位”这一场景,需要同时观察在线仪数据、加药泵频率、PLC逻辑与历史趋势。场景法适合SAT,因为它贴近运行人员的实际操作序列。
四、典型用例示例(可直接改写使用)
下面给出三条覆盖不同方法的用例,字段按前述六要素组织,参数为教学假设值。
| 编号 | 追溯项 | 输入/操作 | 预期结果 | 方法 |
|---|---|---|---|---|
| TC-PH-03 | URS-07 pH联锁 | 用标准源输入6.48 pH,保持30 s | 加碱泵启动,HMI显示“加碱中”,动作点偏差≤0.02 pH | 边界值 |
| TC-COD-05 | URS-11 超标报警 | 模拟4~20mA对应COD=420 mg/L | 5 s内出现“出水COD超标”报警,数据上传至上位机且数值一致 | 等价类(高段) |
| TC-FL-08 | URS-15 流量低报 | 输入49 m³/h并保持报警延时设定值 | 延时到达后报警置位;恢复至51 m³/h后自动复位 | 边界值+状态 |
五、设计时容易忽略的三点
第一,信号源与真实仪表要区分。FAT常用信号发生器模拟4~20mA,此时验证的是PLC通道、量程换算与逻辑;SAT则应尽量用实际仪表或标准液比对,验证的是整条测量链。两者用例不能互相替代,但可共用预期结果。第二,时间维度要写进预期。报警延时、泵响应时间、滤波时间常数都会影响判定,用例中应写明“在X秒内”或“保持Y秒后”。第三,异常输入必须单列。断线、超量程、通信中断属于典型故障注入,应验证系统进入安全状态而非保持错误输出,例如流量断线时加药泵应切至手动或按预设安全频率运行。
把上述方法组合起来,一个环保自动化项目的用例集通常呈现“少量场景链 + 较多边界点 + 若干等价类代表值 + 故障注入”的结构。设计完成后应做一次反向检查:每条URS是否至少被一条用例追溯?每个模拟量是否覆盖了断线与超量程?每个联锁是否测了动作点与回差?这三问能筛掉大部分覆盖漏洞。