我已經寫了SAT求解器2可滿足性問題,有人請我提供它只有一個令人滿意的分配,即只有一個解決方案一個測試用例說10000個文字2 SATisfiabilty問題測試用例
The format can be:(for 3 literals)
2 // No of clauses and then each clause
2 3
1 -2
corresponding to
(b+c).(a+!b)
我已經寫了SAT求解器2可滿足性問題,有人請我提供它只有一個令人滿意的分配,即只有一個解決方案一個測試用例說10000個文字2 SATisfiabilty問題測試用例
The format can be:(for 3 literals)
2 // No of clauses and then each clause
2 3
1 -2
corresponding to
(b+c).(a+!b)
測試覆蓋率通常很困難,大多數情況下,你只是忘了一個因素或另一個因素。
我通常進行的幾個步驟:
2)和3)幾乎可以互換,4)只有當你有辦法調查這種信息(基準測試,內存泄漏檢測......)時纔會出現。
重要的一點是,您不應該反編譯您的代碼來編寫測試,因爲您最終會測試代碼,但不會測試它是否遵守規範。
如果它是一個家庭項目,規範通常是非正式的,但它們仍然存在(在你的腦海中),這是他們之後,你應該產生的測試用例。
不這種方法工作?
(a + b).(a + !b)
這隻有在a爲真時才能滿足。
(a + !b).(!a + !b)
只有在b爲假時才能滿足。因此,
(a + b).(a + !b).(a + !b).(!a + !b)
完全指定a和b的值。我們現在可以將其擴展爲任意數量的文字。
要測試您的應用程序,您可能還指定了矛盾的需求,因此沒有解決方案。
非常感謝您的想法。它給了我一個開始。 – avd
聞起來像功課 –
不,它不是作業。我已經寫了2-SAT求解器。我只是想測試一下。至少指導我如何生成測試用例。 – avd