"Correctness" 在软件测试中的意义是什么?
What is the significance of the word "Correctness" in Software Testing?
软件测试中有一个事实说:
测试用于发现软件中的错误,但不能用于显示软件的正确性。
我在这里无法理解单词正确性的意义。
在软件中不可能实现正确性也是真的吗?
由于足够复杂的软件可能存在无限多的可能错误,因此通过测试来证明软件的正确性在逻辑上是不可能的。
没有显示的错误(错误)并不意味着没有所有错误.
Testing is used to find errors in the Software but cannot be used to
show the correctness of Software.
What is the significance of the Word Correctness here.
一个单元的软件是功能
正确
如果它为每个可能的输入产生正确的输出。
在理论计算机科学中,这个术语有很多细微差别,
例如,我们区分 部分正确性 和 总正确性
正确性:如果 returns 的答案是 部分正确
正确,并且 完全正确 如果总是 returns 正确
回答。
在实践中,然而,事情有点复杂。当我们
构建大型软件系统,形式化并不总是那么容易
定义程序的正确输出是什么,然后我们讨论
根据规格正确。
我不认为声明“测试用于发现错误但不能
used to show correctness”,表述得很好。软件这个术语
testing 通常表示运行您的软件的小型计算机程序
在某些输入上并验证输出是否符合预期。我会
将其声明为 testing 用于防止错误被引入
现有代码.
Is it true that Correctness is impossible to achieve in a Software?
不,也不是不可能。尝试编写 身份函数 ,因为
示例:f(x) → x
。实际上,这很容易。越复杂
算法,越写对越难
不仅可以编写正确的代码,还可以
证明代码是
正确。然而,
这更加困难和耗时。
不过,您不能做的是证明代码在以下方面是正确的
仅测试(除非您的函数只需要有限(少量)的
输入)。
软件测试中有一个事实说:
测试用于发现软件中的错误,但不能用于显示软件的正确性。 我在这里无法理解单词正确性的意义。 在软件中不可能实现正确性也是真的吗?
由于足够复杂的软件可能存在无限多的可能错误,因此通过测试来证明软件的正确性在逻辑上是不可能的。
没有显示的错误(错误)并不意味着没有所有错误.
Testing is used to find errors in the Software but cannot be used to show the correctness of Software.
What is the significance of the Word Correctness here.
一个单元的软件是功能 正确 如果它为每个可能的输入产生正确的输出。
在理论计算机科学中,这个术语有很多细微差别, 例如,我们区分 部分正确性 和 总正确性 正确性:如果 returns 的答案是 部分正确 正确,并且 完全正确 如果总是 returns 正确 回答。
在实践中,然而,事情有点复杂。当我们 构建大型软件系统,形式化并不总是那么容易 定义程序的正确输出是什么,然后我们讨论 根据规格正确。
我不认为声明“测试用于发现错误但不能 used to show correctness”,表述得很好。软件这个术语 testing 通常表示运行您的软件的小型计算机程序 在某些输入上并验证输出是否符合预期。我会 将其声明为 testing 用于防止错误被引入 现有代码.
Is it true that Correctness is impossible to achieve in a Software?
不,也不是不可能。尝试编写 身份函数 ,因为
示例:f(x) → x
。实际上,这很容易。越复杂
算法,越写对越难
不仅可以编写正确的代码,还可以 证明代码是 正确。然而, 这更加困难和耗时。
不过,您不能做的是证明代码在以下方面是正确的 仅测试(除非您的函数只需要有限(少量)的 输入)。