提升软件可测试性的方法与实践
1. 缺陷集群与框架偏差
1.1 缺陷集群
在实际情况中,软件中的缺陷并非均匀分布,而是倾向于聚集在某些特定区域,这符合帕累托原则,即约 80% 的问题源于 20% 的原因。缺陷集群的出现,往往是因为开发者受自身知识局限的影响。不过,一旦开发者识别出这种偏差,这些缺陷集群就能为后续的测试工作指明方向。例如,如果在一个模块中通过相同数量的测试发现了 6 个缺陷,而在另一个模块中仅发现 1 个,那么前一个模块未来更有可能存在更多缺陷。
1.2 框架偏差
测试自动化框架是用于以编程方式运行测试用例、捕获软件缺陷的工具。它能降低维护成本,使测试更易执行,是现代开发流程中不可或缺的一部分。然而,测试框架并非凭空产生,它受到创建者的测试假设和理念的影响。就像用书本比喻互联服务器网络,虽有助于新手理解,但也掩盖了网络访问的一些潜在功能。
当程序员将测试范围局限于框架能力时,就会出现框架偏差。例如,许多应用依赖远程 API 提供的数据,但在测试过程中直接调用实时 API 会降低测试效率并产生不必要的调用。因此,很多框架提供模拟或存根 API 集成的机制,若测试框架不具备这些功能,测试人员可能需要修改生产代码或放弃测试这些功能。
2. 减轻确认偏差的方法
2.1 以失败为目标进行测试
很多偏差源于程序员将测试失败视为自身无知的表现,而非追踪缺陷的毅力证明。测试的目标是让程序失败,那些未引发异常的测试套件应被视为资源浪费。
2.2 保持批判性距离
当开发者对所测试的代码失去批判性思维时,就会出现确认偏差,尤其是测
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



