3、需求分析与测试用例设计:需求可追溯性矩阵(RTM)、等价类划分与边界值分析、正交实验法在逆变器参数测试中的应用
各位同行,咱们今天聊聊测试用例设计。说实话,很多刚入行的工程师觉得写测试用例就是「对着需求文档点点点」。但真正做过逆变器项目的人都知道,一个参数没测到位,现场可能就炸机了。
我个人习惯,拿到需求后第一件事不是写用例,而是先做一件事——建立需求可追溯性矩阵(RTM)。这玩意儿说白了就是一张表,把「需求编号」和「测试用例编号」一一对应起来。别小看它,我在项目中遇到过好几次,开发说「这个功能我改了」,测试说「我不知道啊」,最后漏测了。有了RTM,谁也别想甩锅。
3.1 需求可追溯性矩阵(RTM)
RTM长什么样?我给你看个实际例子。这是某款单相逆变器「过压保护」需求的追溯矩阵:
| 需求ID | 需求描述 | 测试用例ID | 测试结果 |
|---|---|---|---|
| REQ-OVP-001 | 直流母线电压超过450V时,逆变器应在100ms内停机 | TC-OVP-001 | Pass |
| REQ-OVP-002 | 电压恢复至400V以下后,逆变器应自动重启 | TC-OVP-002 | Pass |
| REQ-OVP-003 | 过压故障记录应保存至EEPROM,断电不丢失 | TC-OVP-003 | Fail |
你想想看,如果没有这张表,你测了TC-OVP-001和002,但忘了003,那现场出现故障后查不到记录,售后就得背锅。嗯,这里要注意:RTM不是一次性写完就完事了。需求变更时,矩阵必须同步更新。我曾经吃过这个亏——需求改了三次,矩阵还是第一版,结果漏测了一个关键场景。
核心原则:每个需求至少对应一个测试用例,每个测试用例必须追溯到至少一个需求。双向覆盖,缺一不可。
3.2 等价类划分与边界值分析
接下来聊等价类划分。这方法听起来高大上,其实很简单。比如逆变器有个参数叫「并网电压范围」,要求是180V~260V。你不可能从180V到260V每个电压都测一遍,对吧?那得测到猴年马月去。
等价类划分就是把这个范围分成几个「类」:
- 有效等价类:180V~260V(正常并网)
- 无效等价类:<180V(欠压)、>260V(过压)
每个等价类里选一个代表值测就行了。比如选220V代表正常范围,选170V代表欠压,选270V代表过压。但光这样够吗?不够。为什么?因为边界最容易出问题。
边界值分析就是专门盯着边界测。还是这个例子,边界值有:179V、180V、181V(下边界),259V、260V、261V(上边界)。我建议你把这些点全测了。为什么?因为代码里最常见的bug就是「<=写成了<」或者「>=写成了>」。我在项目中遇到过,一个工程师把「if(voltage >= 180)」写成了「if(voltage > 180)」,结果电压刚好180V时,逆变器死活不启动。查了两天才找到原因,你说冤不冤?
小技巧:对于枚举型参数(比如工作模式:并网模式、离网模式、待机模式),每个枚举值都是一个等价类,全部都要测。别偷懒,我见过有人只测了并网模式,结果离网模式下有个中断没处理,现场直接炸了。
3.3 正交实验法在逆变器参数测试中的应用
最后说说正交实验法。这方法在逆变器测试里特别实用,尤其是当你面对多个参数组合时。
举个例子,逆变器有个「MPPT(最大功率点跟踪)参数整定」测试。影响MPPT效率的因素有:
- 光伏板开路电压(Voc):300V、400V、500V
- 光伏板短路电流(Isc):5A、10A、15A
- 环境温度:-20℃、25℃、60℃
- 光照变化速率:慢、中、快
如果全组合测试,3×3×3×3 = 81种情况。测完黄花菜都凉了。正交实验法能帮你用最少的组合覆盖最多的场景。
我常用的正交表是L9(3^4),也就是9次实验覆盖4个3水平因子。你看这个表:
| 实验号 | Voc | Isc | 温度 | 光照变化 |
|---|---|---|---|---|
| 1 | 300V | 5A | -20℃ | 慢 |
| 2 | 300V | 10A | 25℃ | 中 |
| 3 | 300V | 15A | 60℃ | 快 |
| 4 | 400V | 5A | 25℃ | 快 |
| 5 | 400V | 10A | 60℃ | 慢 |
| 6 | 400V | 15A | -20℃ | 中 |
| 7 | 500V | 5A | 60℃ | 中 |
| 8 | 500V | 10A | -20℃ | 快 |
| 9 | 500V | 15A | 25℃ | 慢 |
9次实验,覆盖了所有参数的组合情况。你仔细看,每个参数的每个水平都出现了3次,而且任意两个参数的组合都出现了1次。这就是正交实验法的精髓——均匀分散,齐整可比。
注意:正交实验法只能帮你发现「有没有问题」,不能帮你定位「是哪个参数导致的问题」。如果第5组实验失败了,你需要单独做一次「控制变量法」来排查。我一般先用正交表做一轮快速筛选,发现问题后再针对性地做单因子实验。
好了,总结一下今天的内容。RTM保证需求全覆盖,等价类和边界值保证参数范围测到位,正交实验法解决多参数组合爆炸的问题。这三板斧用好了,逆变器测试的覆盖率至少能到95%以上。剩下的5%?嗯,那是现场才会暴露的玄学问题,咱们下节课再聊。