什么是軟件測試架構
圖2-1 不好的布局決定著失敗
而如果換一個思路,進行不同的布局,如圖2-2所示,不采用自然的豎直排序,而采用斜線排序,充分利用空間,而且進攻部隊前進的速度會大大降低,結果就很不一樣,游戲者便能輕松過關。
圖2-2 良好的布局是成功的一半
這里的布局,是指處理問題的全局規劃、整體設計。全局規劃如何、整體設計效果如何,自然關系到后面的整個過程,所以總會受到我們重視。
說到架構,我們會想到軟件架構,如C/S架構、SOA架構,甚至會想到以架構設計為中心的RUP。軟件架構的概念由來已久,軟件架構師的頭銜容易被大家認可,但“測試架構”的概念還不夠清晰,人家會有很多的問題要問:
什么是測試架構?
測試架構對軟件測試有什么幫助?
軟件公司需要設置“軟件測試架構師”職位嗎?
軟件測試架構師做哪些事情?
當人們知道微軟公司、阿里巴巴集團等設有“測試架構師(Test Architect)”職位時,可能會驚奇地問:什么? 測試團隊也設立“架構師”頭銜嗎?人們對開發團隊設立架構師已經比較習慣了,因為大家知道,在設計一個軟件系統時,需要考慮整個產品架構如何設計
、系統各個組件如何集成在一起、如何相互協調工作,而這些都需要“軟件架構師”來完成,但對測試團隊為何要設立“架構師”頭銜還是不夠清楚,主要是因為不了解測試架構從何而來。
在日常測試工作中,如何選擇測試工具和如何建立統一的自動化測試框架?這是經常困擾我們的問題。除此之外,我們還會碰到如下的一系列問題:
如何幫助開發人員提高產品設計和代碼的可測試性?
如何找到更有效的辦法來設計測試用例?如何完成復雜系統的非功能性(性能、安全性、兼容性、可靠性等)測試任務?
如何通過分析系統測試結果,找出系統存在的問題?
能否對測試技術的發展趨勢做出正確判斷,從而更有針對性地提高測試團隊的技術能力?
舉例、暗喻
測試架構從何而來?其實它就是為了解決上述問題而產生的。從基本的觀點看,測試架構是由軟件系統技術架構和軟件測試框架(特別是自動化測試框架)構建的需求而定。這些需求,決定了以下從不同方面所形成的測試架構。
大家都能理解,越早進行測試,就能越早地發現缺陷,對提高產品質量、降低企業成本就越有利,更重要的是越能預防系統 設計時出現嚴重的缺陷。如果所設計的系統架構存在嚴重的缺陷,直到系統集成測試時才發現,所造成的返工將是可怕的。這就需要測試人員對設計進行復審、評 審。測試人員應參與系統架構及其組件接口等設計的審查,包括是否全面考慮非功能特性、各個特性的可測試性評估、設計的合理性等。
從軟件系統來看,如何驗證系統的性能、安全性、可靠性和可伸縮性等,例如網站能否支持擴展到100M的點擊率,投票系統是否安全等都需要對系統架構進行分析,建立測試概念模型,從而科學、有效地完成認證。
現在的系統越來越復雜,其設計往往不是一蹴而就的,需要不斷地重構和優化,而這些工作是基于以前版本的測試結果(包 括發現的問題)來實施的。測試人員在完成系統測試后,可以通過對測試結果的分析發現問題,如系統性能瓶頸、安全漏洞等,進而可以對系統的性能、可靠性、安 全性等改善提出有價值的建設性意見。
在系統功能測試時,需要對功能進行合理的劃分、歸類,建立用例模型,設計合理的測試結構。
從測試工作自身來看,需要建立合適的測試管理系統,包括測試用例庫的設計、缺陷跟蹤機制等。
設計自動化測試框架,包括集成測試環境、測試腳本分層處理、執行結果自動生成報告等。
掌握測試技術發展趨勢,研發新的測試方法,并借助測試工具來實現,例如,在安全性測試上如何采用合適的模糊測試方法。
posted on 2012-04-28 12:57 順其自然EVO 閱讀(2029) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、管理方向