什麼是 Test Oracle?

審稿時發現譯者有一句沒有譯出來:

A test oracle is a source of expected test results for a test case.

可能是因為當中的 "test oracle" 不太好處理吧。

Oracle 有神諭、預示的意思,照上面那句話的定義,test oracle 就是執行某測試案例的預期結果(的原始定義)。再參考 Wikipedia 的定義

An oracle is a mechanism used by software testers and software engineers for determining whether a test has been passed or failed.
(在軟體測試與軟體工程的領域裡,oracle 是一種用來判斷某項測試是否通過的機制。)

瞭解意義不難,麻煩的是要在中文裡找到適當的名詞。

網路上可以找到一些簡體中文的部落格論壇有提到這個名詞的翻譯,大致上有以下幾種譯法:
  • 測試準則
  • 測試的預測結果
  • 測試預言 (容易產生誤解)
  • 測試指導 (差太遠)
  • 測試判定函數 (純粹意譯,失去原有的抽象意涵,而且 test oracle 在實務上不見得就是個 function)
個人覺得前兩種譯法比較 OK。在沒有想到更好的答案之前,我自己可能會用「測試判定準則」吧。(其實很想乾脆譯成「測試神諭」.... Orz)

沒有留言:

技術提供:Blogger.
回頂端⬆️