什么是軟件測試架構

發表于:2013-05-27來源:博客園作者:qileilove點擊數: 標簽:測試架構
什么是軟件測試架構?當我們用iPhone玩一個很有名的游戲——堅守陣地(FieldRunners)時,防御的布局非常重要。如果布局不好,如圖2-1所示,就玩得很累,看著“生命”一個一個死去,即使采用了一些小的技巧,最后也過不了關。

  當我們用iPhone玩一個很有名的游戲——堅守陣地(FieldRunners)時,防御的布局非常重要。如果布局不好,如圖2-1所示,就玩得很累,看著“生命”一個一個死去,即使采用了一些小的技巧,最后也過不了關。

  圖2-1 不好的布局決定著失敗

  而如果換一個思路,進行不同的布局,如圖2-2所示,不采用自然的豎直排序,而采用斜線排序,充分利用空間,而且進攻部隊前進的速度會大大降低,結果就很不一樣,游戲者便能輕松過關。

  圖2-2 良好的布局是成功的一半

  這里的布局,是指處理問題的全局規劃、整體設計。全局規劃如何、整體設計效果如何,自然關系到后面的整個過程,所以總會受到我們重視。

  說到架構,我們會想到軟件架構,如C/S架構、SOA架構,甚至會想到以架構設計為中心的RUP。軟件架構的概念由來已久,軟件架構師的頭銜容易被大家認可,但“測試架構”的概念還不夠清晰,人家會有很多的問題要問:

  什么是測試架構?

  測試架構對軟件測試有什么幫助?

  軟件公司需要設置“軟件測試架構師”職位嗎?

  軟件測試架構師做哪些事情?

  當人們知道微軟公司、阿里巴巴集團等設有“測試架構師(Test Architect)”職位時,可能會驚奇地問:什么? 測試團隊也設立“架構師”頭銜嗎?人們對開發團隊設立架構師已經比較習慣了,因為大家知道,在設計一個軟件系統時,需要考慮整個產品架構如何設計

  、系統各個組件如何集成在一起、如何相互協調工作,而這些都需要“軟件架構師”來完成,但對測試團隊為何要設立“架構師”頭銜還是不夠清楚,主要是因為不了解測試架構從何而來。

  在日常測試工作中,如何選擇測試工具和如何建立統一的自動化測試框架?這是經常困擾我們的問題。除此之外,我們還會碰到如下的一系列問題:

  如何幫助開發人員提高產品設計和代碼的可測試性?

  如何找到更有效的辦法來設計測試用例?

  如何通過一些技術手段來提高測試的覆蓋率?

  如何完成復雜系統的非功能性(性能、安全性、兼容性、可靠性等)測試任務?

  如何通過分析系統測試結果,找出系統存在的問題?

  能否對測試技術的發展趨勢做出正確判斷,從而更有針對性地提高測試團隊的技術能力?

  舉例、暗喻

  測試架構從何而來?其實它就是為了解決上述問題而產生的。從基本的觀點看,測試架構是由軟件系統技術架構和軟件測試框架(特別是自動化測試框架)構建的需求而定。這些需求,決定了以下從不同方面所形成的測試架構。

  大家都能理解,越早進行測試,就能越早地發現缺陷,對提高產品質量、降低企業成本就越有利,更重要的是越能預防系統 設計時出現嚴重的缺陷。如果所設計的系統架構存在嚴重的缺陷,直到系統集成測試時才發現,所造成的返工將是可怕的。這就需要測試人員對設計進行復審、評 審。測試人員應參與系統架構及其組件接口等設計的審查,包括是否全面考慮非功能特性、各個特性的可測試性評估、設計的合理性等。

  從軟件系統來看,如何驗證系統的性能、安全性、可靠性和可伸縮性等,例如網站能否支持擴展到100M的點擊率,投票系統是否安全等都需要對系統架構進行分析,建立測試概念模型,從而科學、有效地完成認證。

  現在的系統越來越復雜,其設計往往不是一蹴而就的,需要不斷地重構和優化,而這些工作是基于以前版本的測試結果(包 括發現的問題)來實施的。測試人員在完成系統測試后,可以通過對測試結果的分析發現問題,如系統性能瓶頸、安全漏洞等,進而可以對系統的性能、可靠性、安 全性等改善提出有價值的建設性意見。

  在系統功能測試時,需要對功能進行合理的劃分、歸類,建立用例模型,設計合理的測試結構。

  從測試工作自身來看,需要建立合適的測試管理系統,包括測試用例庫的設計、缺陷跟蹤機制等。

  設計自動化測試框架,包括集成測試環境、測試腳本分層處理、執行結果自動生成報告等。

  掌握測試技術發展趨勢,研發新的測試方法,并借助測試工具來實現,例如,在安全性測試上如何采用合適的模糊測試方法。

原文轉自:http://www.blogjava.net/qileilove/archive/2012/04/28/376952.html

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