當代知識論學者雷勒 (Keith Lehrer) 觀察到的研究進路 (approach) 有三個

  1. 形上
  2. 懷疑
  3. 批判

形上知識論的代表哲學家可追溯至柏拉圖 (Plato)、亞里斯多德 (Aristotle)
形上學本身關心的是事物的根本性問題
因此形上知識論主要在探討「知識的本質是什麼」
也就是知識由哪些要素構成、它以什麼方式存在

懷疑知識論的代表哲學家是笛卡兒 (Descartes) (我思故我在)
懷疑知識論與形上知識論的最大差別在於
它並不先假定知識存在,而是採取方法論上的懷疑
暫時對一切知識主張保持不承認的態度
藉此回答「在懷疑一切的情況下,仍然無法被否定的基礎是什麼」

批判知識論看起來並沒有單一的代表哲學家
而是一種由多位哲學家共同發展出的研究進路
它關注的不是先給出知識的形而上結構
也不同於懷疑論對一切知識主張的全面否定
而是反思我們實際如何主張、辯護與修正知識本身


如果用上面三個知識研究進路來思考軟體測試的話

得到的對應會是

形上

假定系統的品質、行為、缺陷是「客觀存在的東西」

  • 測試的本質是什麼?
  • bug 是什麼? (哪些條件構成一個 bug?)
    • 少了哪個條件,就不能算是缺陷?

懷疑

任何「系統是安全的/可用的」說法都值得被懷疑

  • 我們真的「知道」它沒問題嗎?
  • 我們憑什麼相信這個測試結果?
  • 我們如何排除「自己被誤導」的可能?

批判

測試是在不確定中,為「現在是否足夠可信」負責的判斷活動

  • 在目前資訊下,我們是否「有理由」相信系統可用?
  • 哪些風險是我們已知但選擇承擔的?
  • 有沒有合理的反駁會推翻我現在的信心?

之前看到 James Bach 的書籍中或者訪談中都提到去理解知識論、價值論、形上學等哲學都可以幫助到測試

原本以為他想表達的是幫助到「執行測試的過程」,但稍微去了解知識論看到了這三種知識論的研究進路之後,才知道原來幫助的是「整個測試」,讓自己能夠透過哲學思考的工具來回答一些沒有好好思考會難以回答的問題

雖然這些問題在職涯上沒有少想過,但用哲學的角度來思考有一種…不一樣的感受?🤔


在 2020 年寫過一篇 從哲學解釋測試
文末列了不少偏批判會關心的測試問題

有趣的是最後一個問題
「這座橋怎麼樣才算是完成?」-決定這座橋的驗收方式,讓其他蓋這座橋的人也知道 DOD (definition of done)
用知識論的三種研究進路來看,會發現它其實同時涵蓋了三個層次

形上: 什麼條件構成一座完成的橋?
懷疑: 你怎麼知道這些驗收條件真的足夠?
批判: 我們在什麼條件下,合理主張這座橋完成了?

也就是說定義 DOD 會同時需要面對三個問題
拆解之後就知道定義 DOD 為甚麼是困難且重要的