在突变测试中胜任程序员的假设是什么?



当我学习突变测试时,我在维基百科上读到:

第一个是称职的程序员假设。这一假设说明大多数软件故障是由经验丰富的程序员引入的都是由于小的语法错误。

我不太理解胜任程序员的假设。语法错误是什么意思?
我知道语法错误是由编译器捕获的,而不是通过突变测试。它和突变检测有什么关系?

首先,这句话的来源可以追溯到1978年,当时编译器的功能要弱得多,可能只能捕获最愚蠢的错误:)

总的来说,我不确定是否有一个适用于所有(流行的)编程语言的语法错误的通用定义,部分原因是有些语法错误是解释的,而不是编译的。

所以你可能需要在上下文中查看引用。或者干脆别麻烦了。那篇维基文章很学术性。只要您了解突变测试如何补充单元测试,您就可以了:)

Wiki是错误的。如果你读过那篇影响深远的论文(wiki引用和我的博士导师写的),就会发现胜任程序员的假设是关于行为的,而不是语法的。也就是说,合格的程序行为接近于正确。

相关内容

  • 没有找到相关文章

最新更新