gpt4 book ai didi

testing - DNF规范化测试用例 : break my code with your test case

转载 作者:行者123 更新时间:2023-11-28 20:12:11 24 4
gpt4 key购买 nike

<分区>

一旦我可以悬赏,我将放弃 100 分给第一个发明测试用例的发帖人,该发帖人打破了我将命题逻辑语句规范化为析取范式的常规。我将省略代码,因为它很长,而且您无论如何都可以将例程视为黑盒。

一个形式是析取范式,当它是文字合取的析取(p, NOT p)时:事实上,这是 CNF 的对偶。示例:

(NOT p AND q AND r) OR s OR (NOT t)
p OR q
p OR q OR r OR s OR t
p AND q
p AND q AND r
p
NOT p

同时

p AND (q OR r)
p OR (q AND (r OR s))
NOT (p AND q)

不在 DNF 中。

至于我自己想出的测试用例,我可以把它们分成

  • 使用 DNF 中已有的简单公式进行冒烟测试,例如:pNOT p(p AND q) 或 r;<
  • .. AND (..OR..) 的案例,AND 和 OR“交换”;例如,p AND (q OR r)的dnf可以是(p AND q) OR (p AND r);
  • 在树中的一条路径上有两次相同的运算符,即。 .. 或 ( .. AND ( .. 或 .. ));
  • 特别是,在 .. OR ( .. OR .. ) 之间没有其他运算符;
  • 在公式的不同位置有多个否定,... NOT NOT pNOT NOT (.. AND ..);
  • 看起来更像树的公式 (.. OR ..) AND (.. AND ..) 而不仅仅是列表 p AND (q AND (r AND . ..));
  • 其中运算符有两个以上的操作数 (...) AND (p OR q OR r OR s)

完成这些测试后,我对代码做了一些简单的更改。显然我破坏了代码,因为套件失败了。虽然这意味着我的测试对我有帮助,但让我担心的是只有一个测试发现了问题。那只是一个测试用例,如果我没有,我会错过一个错误。那么有多少 bug 我什至连一次测试都没有?

那么,什么是好的测试用例?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com