關鍵詞驅動 to be or not to be?
套用一句話是:Make everything as simple as possible, but not simpler. -- Albert Einstein 我曾經 開發 過一個 測試 框架,試圖提供一種能力把測試邏輯用xml的tag表達出來。我做了大量的工作來把測試中的action用tag封裝起來,在給team member使用后發現
套用一句話是:Make everything as simple as possible, but not simpler. -- Albert Einstein
我曾經
開發過一個
測試框架,試圖提供一種能力把測試邏輯用xml的tag表達出來。我做了大量的工作來把測試中的action用tag封裝起來,在給team member使用后發現,它并不那么受歡迎。原因是
1)熟悉tag是一個負擔,特別是tag多了以后,
2)tag的表達能力有限,有些情況不能滿足需要。如果要滿足需要,甚至需要引入條件判斷的tag。后來我想,如果要使用一個<if> tag,為什么不直接使用編程語言呢?
更有甚者,我曾經看到過一個
測試框架,它把最簡單的用戶動作封裝為xml tag。開發框架的初衷是 XML描述testcase 提供靈活性。但結果是,往往一個簡單的testcase,就導致長長的xml文件。維護xml文件成了問題。
我認為最佳選擇是
腳本語言的framework + script. 一門高效易學的腳本語言 + 設計精良的Framework 來寫
測試腳本是在靈活性和易用性之間的最佳平衡點。腳本語言里面的python,
ruby都是上上之選。好的framework提供的API能讓script的開發象寫關鍵詞一樣簡單。關鍵是,同時它還提供了程序設計語言無限的靈活性。
最后還有一點,
自動化測試框架用戶是誰?是QA Engineer,是專業人士。即使是只做manual testing的 QA Engineer都樂意學習一門腳本語言,因為這對他們自己的提高也有好處。
所以,數據驅動是一個非常棒的
測試方法。但要在數據里加上 關鍵字或者流程控制。。。過猶不及也,且不說實現它需要額外的投入,學習這些越來越多的關鍵字會讓QA失去對他最后的耐性。
原文轉自:http://www.kjueaiud.com