我是一名测试攻城狮。
除了要跟ASIC打成一片,也需要帮助FW的兄弟们”好好做人”.
FW的哥们姐们不容易,有新的Feature要改code,有bug要修要改code,需求变了要改code,tune performance还要改code。
这样那样各种改的情况下,改着改着就有可能把本来没问题的地方改出问题。
比如:修Bug B的时候,把上个月Fix的Bug A给重新放出来了,或者新创建了一个Bug C。
这种改代码出现副作用的情况,在SSD FW开发过程中几乎不可避免。
有问题就要解决,站在测试的角度,解决方法就是Regression Test。
Regression Test是什么:
- 确保新的代码没有影响原有功能;
- 从现有功能的测试用例中选取部分或者全部出来进行测试;
每次有了新的FW Release,能够把之前所有测试全部跑一次当然最好,凡是干过测试的都知道这是不可能的,就算技术上可行,人也不够,就算人够,卡/盘也不够,就算这些都够,时间他妈的的也不够。
选取合适的测试用例,放在Regression里,还是有些技巧可以参考的。
- 那些经常fail的case,比如Stress
- End User肉眼可见的功能,比如跑Benchmark
- 核心功能的测试
- 那些目前正在进行或者刚完成的Feature
- 数据完整性测试 – R/W/C
- 边界值测试
科学研究证明,有效的Regression Test可以节省60%的bug fix时间和40%的成本。
扁鹊见蔡桓公的故事还记得吧,有病早点治,有bug早点fix,大家都好。