中西醫診療與軟體測試
醫生,是給人看病,而測試人員,在一定程度上來說是給軟體看病,兩者之間有一定的共同點。如果根據診斷和治療的手法來分,那麼中醫就像是軟體測試中的黑盒測試,而西醫更像是白盒測試。
中醫和黑盒測試
中醫學以陰陽五行作為理論基礎,通過望、聞、問、切的診斷方法,探求病因、病位、分析病機以及人體的五臟六腑、經絡關節的變化,形成辨證論治原則。應用到軟體測試領域,望,就是觀察軟體的行為是否正常;聞, 檢查輸出的結果是否正確;問,向軟體輸入資訊,結合望和聞來觀察軟體的響應程度;切,像中醫一樣給軟體把脈,敲擊一下軟體的某些關節。
往往人們看中醫一般都會選擇經驗豐富的老中醫,而很少青睞於年輕的中醫,為何?因為中醫理論博大精深、玄乎奧妙,沒有個幾十年行醫經驗是很難真正理解和掌握的。而軟體測試的理論其實也是一種方法論,沒有一種固定的模式。測試同一個功能點,一個資深黑盒測試人可能會採取多種不同的方法,甚至是一些奇招、怪招,從而更有可能發現一些更深層次、更隱蔽的軟體缺陷。所以,經驗主義同樣適用於測試人員,一個高階資深的黑盒測試會是很多團隊的香餑餑。
西醫和白盒測試
西醫的診斷更多的是藉助先進的醫療儀器裝置和實驗室做出對疾病準確的診斷。測試人員採用各種儀器和裝置對軟體進行檢測,甚至把軟體擺上手術檯解剖來看個究竟。白盒測試是一種以理解軟體內部結構和程式執行方式為基礎的軟體測試技術,通常需要跟蹤一個輸入經過了哪些處理,這些處理方式是否正確。所以,藉助工具是西醫與白盒測試的共同點。
直接把軟體內部結構暴露在測試人員面前的測試手段,其缺陷定位也是相當準確,缺陷修復後見效快。就像西醫,身體裡如果哪個地方生了腫瘤,在手術檯上直接解剖開來切除掉!
中西醫結合
在測試過程中,應該綜合應用黑盒測試方法和白盒測試方法,按需要採用不同的技術組合。不要用黑盒測試方法和白盒測試方法來劃分自己屬於哪一類測試人員,一名優秀的測試人員應該懂得各種各樣的測試技術和查詢Bug的手段。用一句流行的廣告語來說就是,中西醫結合療效好!