另一方面,任何人都可以很快的告訴你下面的代碼是錯的:
def add(a, b):
return a + b + 1
計算機只按照指令執行操作,孰對孰錯,人類能賦予它意義。
只有人才知道軟件是為何而生。
現在我們知道每種測試的不同,以及如何組織它:人類來發現意義,自動化測試確保一致性。
我們來看一下測試的另一個方面。
“A/B 測試”是一種嘗試不同分類來看哪種結果更好的測試。
比如你為了測試網站新的設計:給 90% 的訪問者原有的設計,同時給 10% 的訪問者新的設計,看看哪種注冊人數多一點。
這是測試嗎?
這就叫 “A/B 測試”,跟它的名字一樣。
我們來重新看一下字典定義:“舉證,通過一定原則或標準或實驗,來證明真理,真實性。”
字典上說這也是測試,因為通過實驗。
我們通過實驗來看看哪個版本更受歡迎。
單于測試和代碼審查,對比來說,就是通過一定原則或標準來測試。
我們對軟件有一些特定規格,一些我們希望軟件的行為,同時我們確保它符合規格。
現在我們有了第二種理解與組織測試的方法:通過實驗測試 vs 針對規格測試
將它們放在一起我們得到下面這張關于測試的圖表:
原文轉自:https://juejin.im/post/58d90a3b44d90400694505c4