第六章測試工具及自動化
測試經理在工具和自動化方面必須考慮到得一些一般概念
通過成本收益分析來仔細調查該工具在預期使用年限內得所有成本
在選擇開源工具之前,需對測試團隊得實際需求進行周密分析
使用開源工具得好處:使用者通常可對工具進行修改或擴充套件
使用開源工具得弊端:修改內容越多,會導致複雜度和花費越高
開源工具得準確性不能被證實,商業工具可以證明其準確性和對特定任務得適用性
開發定製工具得好處:該工具可滿足團隊得確切需要,並能在團隊所妖氣得環境下高效得執行
注!在計畫對其他專案發布工具前,先評審使用工具得目的/目標/收益和潛在確定很重要
在考慮開發定製工具時,還必須考慮可能產生得負面問題
定製工具必須有充分得文件以便其他人員能對其進行維護
定製工具也需要進行設計和測試,以保證他們按照預期執行
引入測試工具對團隊有附加值,且為組織帶來投資正回報
在購買工具前應進行成本-收益分析
分析中投資回報需考慮重複成本和臨時成本,其中一些是費用成本,另一些是資源或時間成本,以及可能降低工具價值得風險
臨時成本包括內容:
定義對工具的需求以達到目標和目的
進行評價和選擇正確工具和工具的**商
採購/調整或開發工具
進行初始的工具培訓
將該工具與其他工具整合
採購支援工具所需的硬體/軟體
重複成本包括得內容:
1.持有工具
許可和支援費用
工具本身得維護費用
由工具建立得工件的維護
持續的培訓和輔導
2.將工具移植到不同的環境
3.調整工具以適應未來的需求
4.改進質量和過程確保已選工具的最佳使用
經理在分析投資匯報時,還應當考慮下列風險
組織的不成熟(並未準備好使用該工具)
該工具建立的工件可能難以維護,需要根據待測軟體的改變持續更新
減少測試分析師在測試任務中的介入可能降低測試的價值(例如,只執行自動化指令碼,可能會降低缺陷發現的有效性)
減少重複性工作
縮短測試週期(如通過自動化回歸測試)
降低測試執行指令碼
增加某些型別的測試(如回歸測試)
減少不同測試階段的人為錯誤,如:
使用資料勝場工具生成更有效的測試資料
使用比較工具對測試結果進行更準確的比較
使用指令碼工具輸入更正確的測試資料項
獲取測試資訊的工作量減少,如:
工具生成的報告和度量資料
復用測試資源,如測試用例/測試指令碼/測試資料
增加沒有工具就無法完成的測試(如效能測試/負載測試)
測試人員通過實現測試自動化和組織測試,證明自身對複雜工具的理解和應用。從而提公升了測試人員的地位
團隊獲得的總投資回報通常是使用所有工具的作用
工具需要共享資訊,共同協作
建立乙個長期/全面的測試工具策略
經理如何選擇測試工具:
對於業務來說,投資正回報率是必須的
為了能在投資中獲得最**值,組織應當確保這些工具的互操作性--可能包括測試工具和非測試工具的互動操作
在某些情況下,要實現互操作性,必須改善流程和工具使用的銜接能力,這可能需要一段時間來實現
對於專案而言,工具必須是有效的(如,在進行人工測試時避免錯誤,如避免資料輸入時的錄入錯誤)
工具可能需要很長時間才能獲取投資正回報率
在很多情況下,投資回報可能在第二次版本發布時或維護階段才出現,而不是在最初實施自動化的專案中
測試經理應當從應用的整個生命週期考慮投資回報
對於使用工具的人來說,該工具必須支援專案組成員,讓他們更有效/更高效的完成自己的任務
必須考慮學習區縣,確保使用者能夠在最小的壓力下快速的學會使用工具
在初次引入某個測試工具時,需要對使用者進行培訓和指導
選擇測試工具的流程:
評估組織的成熟度/成熟性
識別工具的需求
評估工具
評估**商或服務支援商(開源工具/定製工具)
識別為使用工具進行訓練和輔導的內部需求
考慮目前測試團隊的測試自動化技能,評估培訓需求
估算成本-收益
對於每個型別工具在哪個測試階段使用,經理應考慮下列功能
分析 這個工具是否能」理解「給定的輸入
工具對於目的是否適用
設計 此工具是否能根據現有資訊幫助設計測試件(例如,根據需求生成測試用例的測試設計工具)
能否自動生成設計
能否以可維護和可使用的格式生成或部分生成實際的測試件**
能否自動生成必要的測試資料(如:基於**分析生成資料)
資料及測試選擇
工具如何選擇所需資料(如:使用哪組資料執行哪個測試用例)
工具能否接受人工或自動輸入的選擇準則
工具能否根據已選的輸入來決定如何過濾產品資料
工具能否根據覆蓋準則來決定需要執行哪些測試(如:提供一組需求後,工具能否順著可追溯性來決定需要執行哪些測試用例)
執行 工具能否自動執行,還是需要人工介入
工具如何停止和重啟
工具能否」領會「關聯事件(如,當缺陷報告中測試用例已關閉,測試關聯軟體是否能自動更新測試用例狀態)
評估 工具如何判斷它是否收到了合適的結果(如,工具將使用測試準則來決定響應的正確性)
工具具備什麼樣的錯誤恢復能力
工具能否提供充分的記錄和報告
工具的生命週期經理四個階段,經理需對四個階段進行管理:
獲得工具的獲得必須從選擇工具開始
在決定引入某個工具後,測試經理應當指定一人(通常是測試分析師或技術測試分析師)來管理工具
此人應當決定工具的使用時機和方式,建立的工件如何儲存/明明規則等
應當事前決定好這些內容,而不是等到用工具了臨時去決定,做決定的時間不同,最終的投資回報率會有顯著的差異
通常需要對工具的使用者進行培訓
支援和維護
需要對工具進行持續的支援和維護
維護工具的責任也許在工具管理員身上,或是分配到一組特定的工具團隊上
如果工具需要與其他工具一起執行,那麼應考慮資料交換和合作進行
還需要考慮工具的備份/恢復和輸出
演變必須考慮到轉換
隨著時間的推移,環境/業務需求或**商問題都可能要求對工具本身或其用途進行大的改動。如,工具**商也許會要求對工具進行更新,但這可能導致與其他工具合作的的問題
由於業務原因導致必要的環境變動也可能會導致工具的問題
工具的執行環境越複雜,變更越會破壞其作用
根據工具在測試中扮演的角色,測試經理也許需要組織在出現突發事故時能保證服務的連續性
退役:工具總有它的使用壽命
工具所支援的功能需要被替代,資料需要進行儲存和歸檔,當乙個工具步入生命週期的盡頭時,轉換到新工具的機會和收益已經超越了成本和風險時,它將會退役
測試經理可設計和收集客觀的度量
度量資訊來自於技術測試分析師和測試分析師
不同的工具可捕捉寶貴的實時資料,又能減少資料收集的工作量
測試經理可使用這些資料來管理整體的測試工作
不同的工具側重於不同型別資料的收集,如:
測試管理工具可提供多種度量
從需求到測試用例及自動化指令碼的可追溯性允許進行覆蓋範圍的度量
任何時間都可獲取目前可用的測試/計畫的測試及當前執行的狀態(通過/失敗/跳過/中斷/排隊中)的快照
缺陷管理工具可提供關於缺陷的豐富資訊:目前狀態/嚴重度和優先順序/在系統中的分布等
其他富有啟發性的資料如缺陷的引入和發現階段/缺陷逃脫率等,能幫助測試經理推動過程改進
靜態分析工具效能工具可提供在系統可擴充套件性方面有價值的資訊
覆蓋工具可幫助測試經理鏈結系統實際進行過測試的比例
應該再工具的選擇過程中就定義工具的報告需求
這些需求必須再工具配置過程中恰當的實現來確保通過工具追蹤的資訊能以干係人易理解的方式進行匯報
第六章需要掌握知識點
6.2工具的選擇
描述選擇開源工具時需要考慮的管理問題
描述決定定製工具時需要考慮的管理問題
對乙個給定的情況作出評估,來指定選擇工具的計畫,包括風險/成本和收益
6.3工具生命週期
闡述乙個工具生命週期的不同階段
6.4工具度量
闡述如何通過使用工具來改進度量的收集和評估
第六章測試
1.考慮乙個在有20millisecs往返時間路徑上的tcp流。假設它處於超過閾值的增大階段,在時間t 100ms與t 120ms間傳送10個資料段。流在t 140ms和t 160ms之間傳輸的資料段預期有多少 假設在此階段沒有資料段丟失 答案 12 2.tcp和udp的著名埠號的範圍是多少?答案 ...
第六章 軟體測試
軟體評估可以分為靜態評估和動態評估。評審 走查和形式化證明等是靜態評估技術,而軟體測試是一種常用的動態評估技術,通過執行程式發現其中的錯誤。6.1 軟體測試目標與軟體測試過程模型 6.1.1 軟體測試目標 人們關於軟體測試目的的認識,大體經歷了5個階段。第一階段認為軟體測試和軟體除錯沒有什麼區別 第...
軟體測試 第六章
回歸測試 效能測試 安全性測試 系統測試 將經過整合測試後的軟體,作為計算機系統的一部分,與計算機硬體 某些支援軟體 資料和平台等系統元素結合起來,在真實執行環境下對計算機系統進行一系列的嚴格有效的測試來發現軟體的潛在問題,保證系統的正常執行。目的 充分執行系統,驗證整個系統是否滿足功能和非功能性的...