軟體測試實踐 之測試環境的規劃與管理

2021-05-23 00:36:52 字數 4283 閱讀 3367

軟體測試實踐

之測試環境的規劃與管理

測試環境是指為了完成軟體測試工作所必需的計算機硬體、軟體、網路裝置、歷史資料的總稱。毫無疑問,穩定和可控的測試環境,可以使測試人員花費較少的時間就完成測試用例的執行,也無需為測試用例、測試過程的維護花費額外的時間,並且可以保證每乙個被提交的缺陷都可以在任何時候被準確的重現。

簡單的說,經過良好規劃和管理的測試環境,可以盡可能的減少環境的變動對測試工作的不利影響,並可以對測試工作的效率和質量的提高產生積極的作用。

一、規劃測試環境——讓環境為你服務

對於「金山詞霸」這樣的軟體,大多數測試工作都可以在一台單獨的電腦上完成,而對於一套電信系統,為了執行測試用例,你可能會需要搭建乙個由多台計算機以及其他網路裝置組成,採用集群和負載均衡技術,並且接駁到internet的計算機網路。

不同的行業應用,不同的質量目標,都可能會影響到測試環境的規劃。但從測試工作自身的要求來看,一條應當遵守的原則就是「盡可能的還原軟體在使用者那裡最終實際執行的環境」——雖然在很多時候這是不現實的。^_^

通常來說,我們所需要搭建的環境,主要是用於被測應用的系統測試——單元測試和整合測試由開發人員在開發環境中進行,而驗收測試則在使用者的最終應用環境中進行,因此都可以暫不考慮。

為了確定測試環境的組成,我們需要明確以下問題:

1.         所需要的計算機的數量,以及對每台計算機的硬體配置要求,包括cpu的速度、記憶體和硬碟的容量、網絡卡所支援的速度、印表機的型號等;

2.         部署被測應用的伺服器所必需的作業系統、資料庫管理系統、中介軟體、web伺服器以及其他必需元件的名稱、版本,以及所要用到的相關補丁的版本;

3.         用來儲存各種測試工作中生成的文件和資料的伺服器所必需的作業系統、資料庫管理系統、中介軟體、web伺服器以及其他必需元件的名稱、版本,以及所要用到的相關補丁的版本;

4.         用來執行測試工作的計算機所必需的作業系統、資料庫管理系統、中介軟體、web伺服器以及其他必需元件的名稱、版本,以及所要用到的相關補丁的版本;

5.         是否需要專門的計算機用於被測應用的伺服器環境和測試管理伺服器的環境的備份;

6.         測試中所需要使用的網路環境。例如,如果測試結果同接入internet的線路的穩定性有關,那麼應該考慮為測試環境租用單獨的線路;如果測試結果與區域網內的網路速度有關,那麼應該保證計算機的網絡卡、網線以及用到的集線器、交換機都不會成為瓶頸;

7.         執行測試工作所需要使用的文件編寫工具、測試管理系統、效能測試工具、缺陷跟蹤管理系統等軟體的名稱、版本、license數量,以及所要用到的相關補丁的版本。對於效能測試工具,則還應當特別關注所選擇的工具是否支援被測應用所使用的協議;

8.         為了執行測試用例,所需要初始化的各項資料,例如登陸被測應用所需的使用者名稱和訪問許可權,或其他基礎資料、業務資料;對於效能測試,還應當特別考慮執行測試場景前應當滿足的歷史資料量。當然,還有另外乙個非常關鍵的問題:在測試過程中受到影響的資料如何恢復?

明確了上面的問題後,明確哪些條件是可以滿足的,哪些是需要其他部門協助調配、採購或者支援的。建議在搭建測試環境之前,把上面的問題做成一張checklist,並為每一項指定乙個責任人,完成一項就填寫一項,最終形成的文件則作為測試環境的配置說明文件使用。當然,如果時間或其他條件允許,應當做好應急預案,盡量保證在環境失效時不會對正常工作產生太大的影響。

二、管理測試環境——把變化掌握在手中

測試環境搭建好以後不太可能永遠不發生變化,至少被測應用的每次版本發布都會對測試環境產生或多或少的影響。而應對變化之道,不是禁止變化,而是「把變化掌握在手中」。下面的這些建議可以幫助你盡可能擺脫環境變化所帶來的不利影響。

1.         設定專門的測試環境管理員角色

每個測試專案或測試小組都應當配備一名專門的測試環境管理員,其職責包括:

ü         測試環境的搭建。包括作業系統、資料庫、中介軟體、web伺服器等必須軟體的安裝,配置,並做好各項安裝、配置手冊的編寫;

ü         記錄組成測試環境的各台機器的硬體配置、ip位址、埠配置、機器的具體用途,以及當前網路環境的情況;

ü         完成被測應用的部署,並做好發布文件的編寫;

ü         測試環境各項變更的執行及記錄;

ü         測試環境的備份及恢復;

ü         作業系統、資料庫、中介軟體、web伺服器以及被測應用中所需的各使用者名稱、密碼以及許可權的管理;

ü         當測試組內多名成員需要占用伺服器並且相互之間存在衝突時(例如在執行效能測試時,在同一時刻應當只有乙個場景在執行),負責對伺服器時間進行分配和管理。

2.         明確測試環境管理所需的各種文件

一般來說,下面的幾個文件是必需的,當然你也可以根據需要增加新的文件。

ü         組成測試環境的各台計算機上各項軟體的安裝配置手冊,記錄各項軟體的名稱、版本、安裝過程、相關引數的配置方法等,並記錄好歷次軟體環境的變更情況;

ü         組成測試環境的各台機器的硬體環境文件,記錄各台機器的硬體配置(cpu/記憶體/硬碟/網絡卡)、ip位址、具體用途以及歷次的變更情況;

ü         被測應用的發布手冊,記錄被測應用的發布/安裝方法,包括資料庫表的建立、資料的匯入、應用層的安裝等。另外,還需要記錄歷次被測應用的發布情況,對版本差異進行描述;

ü         測試環境的備份和恢復方法手冊,並記錄每次備份的時間、備份人、備份原因(與上次備份相比發生的變化)以及所形成的備份檔案的檔名和獲取方式;

ü         使用者許可權管理文件,記錄訪問作業系統、資料庫、中介軟體、web伺服器以及被測應用時所需的各種使用者名稱、密碼以及各使用者的許可權,並對每次變更進行記錄。

3.         測試環境訪問許可權的管理

應當為每個訪問測試環境的測試人員和開發人員設定單獨的使用者名稱,並根據不同的工作需要設定不同的訪問許可權,以避免誤操作對測試環境產生不利的影響。下面的要求可以作為建立「測試環境訪問許可權管理規範」的基礎。

ü         訪問作業系統、資料庫、中介軟體、web伺服器以及被測應用等所需的各種使用者名稱、密碼、許可權,由測試環境管理員統一管理;

ü         測試環境管理員擁有全部的許可權;

ü         除對被測應用的訪問許可權外,一般不授予開發人員對測試環境其他部分的訪問許可權。如的確有必要(例如檢視系統日誌),則只授予唯讀許可權;

ü         除測試環境管理員外,其他測試組成員不授予刪除許可權;

ü         使用者及許可權的各項維護、變更,需要記錄到相應的「使用者許可權管理文件」中。

4.         測試環境的變更管理

對測試環境的變更應當形成乙個標準的流程,並保證每次變更都是可追溯的和可控的。下面的幾項要點並不是乙個完整的流程,但是可以幫助你實現這個目標。

ü         測試環境的變更申請由開發人員或測試人員提出書面申請,由測試環境管理員負責執行。測試環境管理員不應接受非正式的變更申請(例如口頭申請);

ü         對測試環境的任何變更均應記入相應的文件;

ü         同每次變更相關的變更申請文件、軟體、指令碼等均應保留原始備份,作為配置項進行管理;

ü         對於被測應用的發布,開發人員應將整個系統(包括資料庫、應用層、客戶端等)打包為可直接發布的格式,由測試環境管理員負責實施。測試環境管理員不接受不完整的版本發布申請;

ü         對測試環境做出的變更,應該可以通過乙個明確的方法返回到之前的狀態。

5.         測試環境的備份和恢復

對於測試人員來說,測試環境必須是可恢復的,否則將導致原有的測試用例無法執行,或者發現的缺陷無法重現,最終使測試人員已經完成的工作失去價值。因此,應當在測試環境(特別是軟體環境)發生重大變動(例如安裝作業系統、中介軟體或資料庫,為作業系統、中介軟體或資料庫打補丁等對系統產生重大影響並難以通過解除安裝恢復)時進行完整的備份,例如使用ghost對硬碟或某個分割槽進行映象備份。並由測試環境管理員在相應的「備份記錄」文件中記錄每次備份的時間、備份人以及備份原因(與上次備份相比發生的變化),以便於在需要時將系統重新恢復到安全可用的狀態。

另外,每次發布新的被測應用版本時,應當做好當前版本的資料庫備份。而在執行測試用例或效能測試場景之前,也應當做好資料備份或準備資料恢復方案,例如通過執行sql指令碼來將資料恢復到測試執行之前的狀態,以便於重複的使用原有的資料,減少因資料準備和維護而占用的工作量,並保證測試用例的有效性和缺陷記錄的可重現。

軟體測試實踐

隨著中國軟體企業的不斷發展,對軟體測試 的重視也被提上了企業的發展日程。很多大中型軟體 企業開始大量招聘專業人員負責軟體測試 目前我國的軟體測試人員和開發 人員的比例大致在 1 4,雖然和國際先進水平的 1 1 還有一定差距,但是比起最初的 1 8 有了很大的提公升。但是從目前的需求角度來講仍然遠遠...

軟體測試 測試環境的建立

1.1 測試環境與輔測試環境 軟體環境分為主測試環境和輔測試環境。主測試環境是測試軟體功能 安全可靠性 效能 易用性等大多數指標的主要環境 輔助測試環境滿足特殊的測試需求 1.2 測試環境的五要素 測試環境的基本要素是 軟體 硬體。在基本要素的基礎上派生出網路環境 資料準備 測試工具三要素 2.1 ...

自動化測試之軟體測試和測試環境

二 軟體測試和測試環境 三 資料的形式與數制 軟體是程式 資料 文件的集合。程式 由程式語言 c c c python等高階語言程式設計而成 資料 使用檔案或者資料庫來儲存檔案 文件 安裝文件 說明文件等等。按照軟體的功能可以分為三大類 支援軟體 按照軟體的功能可以分為兩大類 b s軟體 brows...