我最近得到了測試宗教,並開始主要與單元測試。我編寫的單元測試說明某個功能在某些情況下可以工作,特別是使用我正在使用的確切輸入。我可以做一些單元測試來實現這個功能。儘管如此,我還沒有證明除了函數之外的任何東西,我都希望它在我測試的場景下做。可能還有其他投入和情景我沒有想到,並且邊緣案例的思考代價昂貴,特別是在邊緣。你如何證明一個功能的作品?
這對我來說並不是很令人滿意。當我開始考慮不得不提出測試以滿足分支和路徑覆蓋以及集成測試時,未來的排列可能會變得有點瘋狂。因此,我的問題是,怎樣才能證明(在證明數學定理的同一脈絡中)函數是有效的(並且在完美的世界中,將這些「證明」組合成一個證明系統起作用的證據)?
是否有某個測試領域涵蓋了您試圖通過證明其所有功能都能正常工作來驗證系統的方法?學術界以外的任何人都會用這種方法來打擾嗎?有工具和技術可以幫助嗎?
我意識到我對「工作」這個詞的使用並不準確。我想我的意思是說,一個函數在符合某些規範(書面或暗示)聲明它應該做的事情時起作用,除此之外別無其他。
請注意,我不是數學家,只是程序員。