軟件測試需要進行充分的測試準備,需要科學的,規范的測試過程管理。有效的配置管理對跟蹤和提高測試質量和效率起到十分重要的作用。測試過程中的配置管理工作不僅包括搭建滿足要求的測試環境,還包括獲取正確的測試、發布版本。但是在實際軟件測試工作中,配置管理并沒有得到相應的重視。
軟件測試的“泥潭”
可能有讀者會覺得奇怪,軟件測試就是發現軟件中隱藏的缺陷,和配置管理有啥關系呢。但是,不知道大家在實際工作中有沒有發現,我們在軟件測試工作中碰到的一些問題,實際上就是由于配置管理工作沒做好而產生的。
在軟件測試工作中,我們經常碰到以下三個問題:
缺陷只能在測試環境出現,但是在開發環境中無法重現;
已經修復的缺陷在測試時又重現;
發布程序在內部確認測試中測試通過,但是發布時卻發生系統運行失效的情況。
產生原因
不考慮缺陷報告描述不清楚這種情況,究其原因,上述三個問題的產生主要有以下七點原因:
測試環境配置的復雜性
由于不同(版本)的操作系統、不同(版本)的數據庫,不同(版本)的網絡服務器、應用服務器,再加上不同的系統架構等組合,使得要構建的軟件測試環境多種多樣、不勝枚舉;而且現在隨著軟件運行環境的多樣性、配置各種相關參數的“浩大工程”和測試軟件的兼容性等方面的需要,使得構建軟件測試環境的工作變得較為復雜和頻繁,而軟件測試環境的構建是否合理、穩定和具有代表性,將直接影響到測試結果的真實性、可靠性和正確性。在筆者曾經做過的一個項目中,由于測試環境使用了和開發系統不同版本的 JDK(測試環境使用 JDK1.5,而開發環境為 JDK1.4),導致測試中出現了在開發環境不會出現的缺陷。
測試產品與開發產品之間的密切關系
在一個項目的軟件測試過程中,會有大量的“產品”產生,典型的如文檔(包括測試計劃、測試用例、測試報告、日常管理文檔等)、數據、腳本等。軟件測試的一個獨特的特征,就是他的產品都是基于開發產品(如源代碼、文檔、安裝文件等)產生和變化的。而開發產品都是以“信息”的形式存放在計算機中,因此,較硬件而言,開發產品比較容易被修改和變化。一旦開發產品發生改變,測試產品也需要相應發生改變。如何有效的管理測試產品,維護測試產品與開發產品之間的關系成為測試過程中的一個棘手的問題。
開發人員在處理新的開發任務時間接修復了缺陷
由于缺少工具的支撐,開發人員不能詳細的、準確的獲取提交測試的缺陷涉及修改的源碼,所以在有些項目組中,每次測試時,開發人員將個人開發的所有源碼提交給測試人員,由測試人員采用完全覆蓋的方式更新測試環境。但是由于開發人員的工作環境仍在進行新變更、新功能或缺陷的處理,而修改新變更、新功能或缺陷的同時,很容易將原來存在的缺陷一并修復。這就可能導致測試環境中存在的缺陷在開發環境中無法重現問題的發生。
開發人員漏提交待測試的源碼
文章來源于領測軟件測試網 http://www.kjueaiud.com/