軟件測試的革命(4)

發表于:2014-12-11來源:uml.org.cn作者:Sam Guckenheimer點擊數: 標簽:軟件測試
易測試性設計的一個實用的法則是,你已在GUI和表示層的后面對業務邏輯或軟件的行為進行了訪問。Bret Pettichord主張,易測試性設計應該是關于可見性和控

  易測試性設計的一個實用的法則是,你已在GUI和表示層的后面對業務邏輯或軟件的行為進行了訪問。Bret Pettichord主張,易測試性設計應該是關于可見性和控制的設計[注13]。你通過較低層獲得其外在接口,從而得到所需要的可見性,在測試的時候,通過很多開放的接口來允許你直接看到軟件中的聲明。同樣地,你需要接口來讓你能夠控制應用,由此你才可以避免使用GUI,而是通過自動化框架來驅動應用。

  重視技能

  第四種趨勢是增進軟件測試專業技術知識的水準。在.com流行的年代中有這樣的誤解,即使沒有很深的測試技術知識、業務應用方面的領域知識以及充份的培訓,你也能有效地進行測試。但當你面對一個分布式的應用--例如,一個特別的基于Web的應用,就會發生問題。Hung Nguyen關于基于Web應用的測試論著是這種觀點最好的代表[注14]。Nguyen認為,測試人員應該知道技術是如何對他們所看到的各種錯誤產生影響的。他們需要對技術問題有所理解,例如配置的問題,以及他們所檢查的技術本身內含的問題。各種細節上的理解,例如了解應用服務器中Bean和 Container管理的持續性之間的區別,可以直接影響到你發現特定缺陷的能力。

  所以,現在的測試人員除了測試本身的技術以外,還需要理解開發技術和領域知識。例如,假設你在瀏覽器中看到一個錯誤:“404 - Page not found”這樣的錯誤可能是錯誤的鏈接所引起,也可能是因為某些服務失效而產生。一個好的測試人員并不會在出錯頁上就停下來,他會進一步診斷出錯的原因。他不僅需要對該失效的服務具備足夠多的認識和理解,而且他要通過查看其它使用該服務的頁面來驗證自己的猜測。這就是一種Bug隔離的重要技能。

  另一種技能是成為一個很好的探索者。以前,測試方面的很多論述對計劃和腳本有很多要求,但現實情況下,一個好的測試人員就是一個好的探索者。他們喜歡在測試過程中發現一些暗示,并知道怎么來進行跟蹤。這樣的暗示有時很簡單,例如一個頁面要很長時間才能加載。那么對于一個好的測試人員來說,他可能會想,這其中發生了什么?然后繼續了解要通過什么路徑可以進一步發現答案。James Bach所寫的一些內容可能是在探索性測試方面最好的材料[注15],其中有該課題的最佳練習。我認為這顯然也是一個重要的技能,每個團隊都需要這樣的技能。

  我們在Rational學院的課程中已經非常重視如何去應用基本的軟件測試技術??梢院虵lorida Tech的Cem Kaner一起開始那些專為測試人員提供的軟件測試基本原理的新課程[注16]。該課程并不專注于測試工具,而是專注于如何成為一名很好的軟件測試人員,尤其是當你正在應用迭代開發過程的時候。最后,測試人員的生產能力和開發人員的生產能力是同樣重要的,只有富有經驗的測試人員才能使產品讓客戶獲得很高的投資回報率(ROI)。Rational已經發現,一個更快、更經濟、更高質量的開發過程的關鍵就是迭代式開發過程。迭代式過程可以使測試在整個開發周期中得以提前,從而可以更早地發現錯誤,修改錯誤也相對更加容易,其成本也相對更低。

  但是,我認為現在的測試人員還沒有得到很好的訓練以勝任迭代開發過程中的測試工作要求,項目經理也沒有得到很好的訓練以正確地認識測試在迭代項目中所扮演的角色,開發人員也沒有得到很好的訓練以得到他們需要了解的測試相關技術,例如基礎等價類劃分。因此我們在RUP(Rational Unified Process)和Rational學院中增加了大量關于測試的材料。而且我們還將繼續擴充這些材料以幫助測試人員、開發人員和項目經理們在迭代過程的協同工作中做得更好。

  自動化測試

  第五種趨勢是關于測試自動化方面。目前,為了實行測試自動化,測試人員和開發人員要花費80%的精力來使(自動化)測試成為可能,而只有20%被用于使(自動化)測試變得更有意義。這一可怕的事實使很多人最終放棄了測試自動化。同樣,目前的自動化軟件質量(ASQ) 工具提供商正花費80%的精力用于重復工作,他們必須重新創建一個基礎平臺來支持相應的測試和排錯工作,而僅有20%的精力來為測試和開發人員提供可見的有價值的功能。

  最近,Rational、IBM和其它一些公司開展了一個開發源碼的項目,其目標就是要把這兩個百分數顛倒過來。該項目被命名為Hyades,取自 Eddington用來校驗愛因斯坦理論的星云的名字,并由Eclipse.org負責。它的目標也包括加強實驗性觀察,測試過程及軟件度量,最終實現更具實用性的測試自動化。

原文轉自:http://www.uml.org.cn/Test/200412202.htm

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97