一、影响测试效率的因素
1.1 效率黑洞
- 投入产出比低。如:无法启动创新性工作;工作效率低。
- 成效不可衡量。如:测试项目输出质量被质疑;没有一套被认可的解决方案。
1.2 影响效率的因素
- 黑盒测试:过程不可控,不稳定,考验个人素质。管理难度大,成本高。
- 白盒测试:门槛高;需要读代码,单兵作战;目标单一,为提高覆盖率;分析之殇,投入多,但找不到 bug =_=。
二、精准测试思想
用非常精准和智能的软件来解决软件测试的问题,并从根本上引领软件测试从经验型方法向技术型方法的转型。
2.1 精准
要求:(1)测试用例和代码逻辑的双向精准追溯。从测试用例到代码逻辑的追溯通过函数调用关系计算实现,从代码逻辑到测试用例的追溯通过代码染色实现。(2)精准的代码级缺陷定位和崩溃分析。(3)精准的测试充分度分析。
2.2 智能
要求:(1)回归用例自动筛选。(2)自动化用例筛选与执行。(3)CI/CD。
三、具体手段
3.1 筛选测试用例
版本提测 —> Diff结果解析 -> 测试用例生成
3.2 函数与测试用例的映射
三个演进阶段:
- 人工录入 低效
- 注释抽取 仍较低效
- 代码染色 高效
如何做代码染色?
执行黑盒测试用例 -> 收集覆盖率 -> 解析覆盖结果 -> 覆盖率变化 -> 函数调用关系 -> 黑盒测试用例集(形成闭环)