簡介,測試計畫的目的,測試計畫的作用,範圍,編寫條件,注意事項,評審總結,參考模版,測試策略,簡介,數據和資料庫完整性測試,接口測試,集成測試,功能測試,用戶界面測試,性能評測,負載測試,強度測試,容量測試,安全性和訪問控制測試,故障轉移和恢複測試,配置測試,安裝測試,
簡介
測試計畫的目的
制定測試計畫,要達到的目標如下:
(1)為測試各項活動制定一個現實可行的、綜合的計畫,包括每項測試活動的對象、範圍、方法、進度和預期結果。
(2)為項目實施建立一個組織模型,並定義測試項目中每個角色的責任和工作內容。
(3)開發有效的測試模型,能正確地驗證正在開發的軟體系統。
(4)確定測試所需要的時間和資源,以保證其可獲得性、有效性。
(5)確立每個測試階段測試完成以及測試成功的標準、要實現的目標。
(6)識別出測試活動中各種風險,並消除可能存在的風險,降低由不可能消除的風險所帶來的損失。
測試計畫的作用
測試計畫通常分內部作用和外部作用,內部作用有以下3種:
(1)作為測試計畫的結果,讓相關人員和開發人員來評審。
(2)存儲計畫執行的細節,讓測試人員進行同行評審。
(3)存儲計畫進度表、測試環境等更多的信息。
測試計畫的外部作用是為顧客提供一種信心,通常向顧客交代有關測試過程、人員的技能、資源、使用的工具等信息。
背景
[對測試對象(構件、應用程式、系統等)及其目標進行簡要說明。需要包括的信息有:主要的功能和性能、測試對象的構架以及項目的簡史。
範圍
簡要地列出測試對象中將接受測試或將不接受測試的那些性能和功能。
如果在編寫此文檔的過程中做出的某些假設可能會影響測試設計、開發或實施,則列出所有這些假設。
列出可能會影響測試設計、開發或實施的所有風險或意外事件。
列出可能會影響測試設計、開發或實施的所有約束。
編寫條件
俗話說:凡事預則立,不預則廢!在測試項目之初就要制定相應的測試計畫。接下來談下如何編寫測試計畫問題。首先了解以下幾個問題:
1. 為什麼要編寫測試計畫?
1)領導能夠根據測試計畫做巨觀調控,進行相應資源配置等;
2)測試人員能夠了解整個項目測試情況以及項目測試不同階段的所要進行的工作等;
3)便於其他人員了解測試人員的工作內容,進行有關配合工作
2. 什麼時間開始編寫測試計畫?
3. 由誰來編寫測試計畫?
具有豐富經驗的項目測試負責人
4. 測試計畫編寫6要素?(5W1H)
1)why——為什麼要進行這些測試;
2) what—測試哪些方面,不同階段的工作內容;
3) when—測試不同階段的起止時間;
4) where—相應文檔,缺陷的存放位置,測試環境等;
5) who—項目有關人員組成,安排哪些測試人員進行測試
6) how—如何去做,使用哪些測試工具以及測試方法進行測試。
注意事項
1.測試計畫不一定要盡善盡美,但一定要切合實際,要根據項目特點、公司實際情況來編制,不能脫離實際情況;
3.測試計畫要能從巨觀上反映項目的測試任務、測試階段、資源需求等,不一定要太過詳細.
評審總結
1.計畫評審
測試計畫編寫完成後,一般要對測試計畫的正確性、全面性以及可行性等進行評審,評審人員的組成包括軟體開發人、行銷人員、測試負責人以及其他有關項目負責人。
2.計畫總結
項目完成後,應該對計畫的執行情況進行評審,看有哪些不合理的地方,以便為編寫下一個項目測試計畫做經驗積累。
參考模版
測試計畫
1 引言
1.1編寫目的
本測試計畫的具體編寫目的,指出預期的讀者範圍。
1.2背景
說明:
a 測試計畫所從屬的軟體系統的名稱;
b.該開發項目的歷史,列出用戶和執行此項目測試的計算中心,說明在開始執行本測試計畫之前必須完成的各項工作。
1.3定義
列出本檔案中用到的專門術語的定義和外文首字母組詞的原詞組。
1.4參考資料
列出要用到的參考資料,如:
a.本項目的經核准的計畫任務書或契約、上級機關的批文;
b.屬於本項目的其他已發表的檔案;
c.本檔案中各處引用的檔案、資料,包括所要用到的軟體開發標準。 列出這些檔案的標題、檔案編號、發表日期和出版單位,說明能夠得到這些檔案資料的來源。
2 計畫
2.1軟體說明
提供一份圖表,並逐項說明被測軟體的功能、輸入和輸出等質量指標,作為敘述測試計畫的提綱。
2.2測試內容
2.3測試1(標識符)
給出這項測試內容的參與單位及被測試的部位。
2.3.1進度安排
給出對這項測試的進度安排,包括進行測試的日期和工作內容(如熟悉環境。培訓、準備輸入數據等)。
2.3.2條件
陳述本項測試工作對資源的要求,包括:
a.設備所用到的設備類型、數量和預定使用時間;
c.人員列出在測試工作期間預期可由用戶和開發任務組提供的工作人員的人數。技術水平及有關的預備知識,包括一些特殊要求,如倒班操作和數據鍵入人員。
2.3.3測試資料
列出本項測試所需的資料,如:
a.有關本項任務的檔案;
b.被測試程式及其所在的媒體;
c.測試的輸入和輸出舉例;
d.有關控制此項測試的方法、過程的圖表。
2.3.4測試培訓
說明或引用資料說明為被測軟體的使用提供培訓的計畫。規定培訓的內容、受訓的人員及從事培訓的工作人員。
2.4測試2(標識符)
用與本測試計畫2.3條相類似的方式說明用於另一項及其後各項測試內容的測試工作計畫。
3 測試設計說明
3.1測試1(標識符)
說明對第一項測試內容的測試設計考慮。
3.1.1控制
說明本測試的控制方式,如輸入是人工、半自動或自動引入、控制操作的順序以及結果的記錄方法。
3.1.2輸入
說明本項測試中所使用的輸入數據及選擇這些輸入數據的策略。
3.1.3輸出
說明預期的輸出數據,如測試結果及可能產生的中間結果或運行信息。
3.1.4過程
說明完成此項測試的一個個步驟和控制命令,包括測試的準備、初始化、中間步聚和運行結束方式。
3.2測試2(標識符)
用與本測試計畫K.3.l條相類似的方式說明第2項及其後各項測試工作的設計考慮。
4 評價準則
4.1範圍
說明所選擇的測試用例能夠接查的範圍及其局限性。
4.2數據整理
陳述為了把測試數據加工成便於評價的適當形式,使得測試結果可以同,已知結果進行比較而要用到的轉換處理技術,如手工方式或自動方式;如果是用自動方式整理數據,還要說明為進行處理而要用到的硬體、軟體資源。
4.3尺度。
說明用來判斷測試工作是否能通過的評價尺度,如合理的輸出結果的類型、測試輸出結果與預期輸出之間的容許偏離範圍、允許中斷或停機的最大次數。
4.4測試人員需求 4.5其他(儀器、伺服器等)
5.風險評估
5.1人力方面;
5.2時間方面;
5.3環境方面;
5.4資源方面
5.5部門合作方面
6.其他內容
測試策略
簡介
提供了對測試對象進行測試的推薦方法。
對於每種測試,都應提供測試說明,並解釋其實施的原因。
制定測試策略時所考慮的主要事項有:將要使用的技術以及判斷測試何時完成的標準。
下面列出了在進行每項測試時需考慮的事項,除此之外,測試還只應在安全的環境中使用已知的、有控制的資料庫來執行。
注意:不實施某種測試,則應該用一句話加以說明,並陳述這樣的理由。例如,“將不實施該測試。該測試本項目不適用”。
數據和資料庫完整性測試
[要<項目名稱>中,資料庫和資料庫進程應作為一個子系統來進行測試。在測試這些子系統時,不應將測試對象的用戶界面用作數據的接口。對於資料庫管理系統(DBMS),還需要進行深入的研究,以確定可以支持以下測試的工具和技術。]
測試目標:[確保資料庫訪問方法和進程正常運行,數據不會遭到損壞]
測試範圍:
技術:[調用各個資料庫訪問方法和進程,並在其中填充有效的和無效的數據(或對數據的請求)。
檢查資料庫,確保數據已按預期的方式填充,並且所有的資料庫事件已正常發生;或者檢查所返回的數據,確保正當的理由檢索到了正確的數據]
完成標準:[所有的資料庫訪問方法和進程都按照設計的方式運行,數據沒有遭到損壞。]
測試重點和優先權:
需考慮的特殊事項:[測試可能需要DBMS開發環境或驅動程式在資料庫中直接輸入或修改數據。
進程應該以手工方式調用。
應使用小型或最小的資料庫(記錄的數量有限)來使所有無法接受的事件具有更大的可視度。]
接口測試
測試目標:確保接口調用的正確性
測試範圍:所有軟體、硬體接口,記錄輸入輸出數據
技術:
開始標準:
完成標準:
測試重點和優先權:
需考慮的特殊事項:接口的限制條件
集成測試
[集成測試―主要目的檢測系統是否達到需求對業務流程及數據流的處理是否符合標準,檢測系統對業務流處理是否存在邏輯不嚴謹及錯誤,檢測需求是否存在不合理的標準及要求。此階段測試基於功能完成的測試。]
測試目標:檢測需求中業務流程,數據流的正確性
測試範圍:需求中明確的業務流程,或組合不同功能模組而形成一個大的功能。
技術:[利用有效的和無效的數據來執行各個用例、用例流或功能,以核實以下內容:在使用有效數據時得到預期的結果。
在使用無效數據時顯示相應的錯誤訊息或警告訊息。各業務規則都得到了正確的套用。]
開始標準:在完成某個集成測試時必須達到標準
完成標準:[所計畫的測試已全部執行。所發現的缺陷已全部解決。]
測試重點和優先權:測試重點指在測試過程中需著重測試的地方,優先權可以根據需求及嚴重來定
需考慮的特殊事項:[確定或說明那些將對功能測試的實施和執行造成影響的事項或因素(內部的或外部的)]
功能測試
[對測試對象的功能測試應側重於所有可直接追蹤到用例或業務功能和業務規則的測試需求。這種測試的目標是核實數據的接受、處理和檢索是否正確,以及業務規則的實施是否恰當。此類測試基於黑盒技術,該技術通過圖形用戶界面(GUI)與應用程式進行互動,並對互動的輸出或結果進行分析,以此來核實應用程式及其內部進程。以下為各種應用程式列出了推薦使用的測試概要:]
測試目標:[確保測試的功能正常,其中包括導航,數據輸入,處理和檢索等功能。]
測試範圍:
技術:[利用有效的和無效的數據來執行各個用例、用例流或功能,以核實以下內容:在使用有效數據時得到預期的結果。
在使用無效數據時顯示相應的錯誤訊息或警告訊息。各業務規則都得到了正確的套用。]
開始標準:
完成標準:
測試重點和優先權:
需考慮的特殊事項:[確定或說明那些將對功能測試的實施和執行造成影響的事項或因素(內部的或外部的)]
用戶界面測試
[用戶界面(UI)測試用於核實用戶與軟體之間的互動。UI測試的目標是確保用戶界面會通過測試對象的功能來為用戶提供相應的訪問或瀏覽功能。另外,UI測試還可確保UI中的對象按照預期的方式運行,並符合公司或行業的標準。]
測試目標:[核實以下內容:
通過測試進行的瀏覽可正確反映業務的功能和需求,這種瀏覽包括視窗與視窗之間、欄位與欄位之間的瀏覽,以及各種訪問方法(Tab鍵、滑鼠移動、和快捷鍵)的使用視窗的對象和特徵(例如,選單、大小、位置、狀態和中心)都符合標準。]
測試範圍:
技術:[為每個視窗創建或修改測試,以核實各個應用程式視窗和對象都可正確地進行瀏覽,並處於正常的對象狀態。]
開始標準:
完成標準:[成功地核實出各個視窗都與基準版本保持一致,或符合可接受標準]
測試重點和優先權:
需考慮的特殊事項:[並不是所有定製或第三方對象的特徵都可訪問。]
性能評測
[性能評測是一種性能測試,它對回響時間、事務處理速率和其他與時間相關的需求進行評測和評估。性能評測的目標是核實性能需求是否都已滿足。實施和執行性能評測的目的是將測試對象的性能行為當作條件(例如工作量或硬體配置)的一種函式來進行評測和微調。
測試目標:[核實所指定的事務或業務功能在以下情況下的性能行為:正常的預期工作量預期的最繁重工作量]
測試範圍:
技術:[使用為功能或業務周期測試製定的測試過程。通過修改數據檔案來增加事務數量,或通過修改腳本來增加每項事務的疊代數量。腳本應該在一台計算機上運行(最好是以單個用戶、單個事務為基準),並在多個客戶機(虛擬的或實際的客戶機,請參見下面的“需要考慮的特殊事項”)上重複。]
開始標準:
測試重點和優先權:
負載測試
[負載測試是一種性能測試。在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續正常運行的能力。負載 測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常運行。此外,負載測試還要評估性能特徵,例如,回響時間、事務處理速率和其他與時間相關 的方面。]
[註:以下所說的事務是指“邏輯業務事務”。這各事務被定義為將由系統的某個最終用戶通過使用應用程式來執行的特定功能,例如,添加或修改給定的契約。]
測試目標:[核實所指定的事務或商業理由在不同的工作量條件下的性能行為時間。]
測試範圍:
技術:[使用為功能或業務周期測試製定的測試。通過修改數據檔案來增加事務數量,或通過修改腳本來增加每項事務發生的次數。]
開始標準:
完成標準:[多個事務或多個用戶:在可接受的時間範圍內成功地完成測試,沒有發生任何故障。]
測試重點和優先權:
需考慮的特殊事項:[負載測試應該在專用的計算機上或在專用的機時內執行,以便實現完全的控制和精確的評測。
負載測試所用的資料庫應該是實際大小或相同縮放比例的資料庫。]
強度測試
[強度測試是一種性能測試,實施和執行此類測試的目的是找出因資源不足或資源爭用而導致的錯誤。如果記憶體或磁碟空間不足,測試對象就可能會表現出一些在正常條 件下並不明顯的缺陷。而其他缺陷則可能由於爭用共享資源(如資料庫鎖或網路頻寬)而造成的。強度測試還可用於確定測試對象能夠處理的最大工作量。]
[註:以下提到的事務都是指邏輯業務事務。]
測試目標:[核實測試對象能夠在以下強度條件下正常運行,不會出現任何錯誤:伺服器上幾乎沒有或根本沒有可用的記憶體(RAM和DASD)連線或模擬了最大實際(實際允許)數量的客戶機多個用戶對相同的數據或帳戶執行相同的事務最繁重的事務量或最差的事務組合(請參見上面的“性能測試”)。註:強度測試的目標可表述為確定和記錄那些使系統無法繼續正常運行的情況或條件。
測試範圍:
技術:[使用為性能評測或負載測試制定的測試。要對有限的資源進行測試,就應該在一台計算機上運行測試,而且應該減少或限制伺服器上的RAM和DASD。對於其他強度測試,應該使用多台客戶機來運行相同的測試或互補的測試,以產生最繁重的事務量或最差的事務組合。]
開始標準:
完成標準:[所計畫的測試已全部執行,並且在達到或超出指定的系統限制時沒有出現任何軟體故障,或者導致系統出現故障條件的並不在指定的條件範圍之內。]
測試重點和優先權:
需考慮的特殊事項:[如果要增加網路工作強度,可能會需要使用網路工具來給網路載入訊息或信息包。應該暫時減少用於系統的DASD,以限制資料庫可用空間的增長。使多個客戶機對相同的記錄或數據帳戶同時進行的訪問達到同步。]
容量測試
[容量測試使測試對象處理大量的數據,以確定是否達到了將使軟體發生故障的極限。容量測試還將確定測試對象在給定時間內能夠持續處理的最大負載或工作量。例 如,如果測試對象正在為生成一份報表而處理一組資料庫記錄,那么容量測試就會使用一個大型的測試資料庫。檢驗該軟體是否正常運行並生成了正確的報表。]
測試目標:[核實測試對象在以下高容量條件下能否正常運行:連線或模擬了最大(實際或實際允許)數量的客戶機,所有客戶機在長時間內執行相同的、且情況(性能)最壞的業務功能。已達到最大的資料庫大小(實際的或按比例縮放的),而且同時執行多個查詢或報表事務。]
測試範圍:
技術:[使用為性能評測或負載測試製定的測試。應該使用多台客戶機來運行相同的測試或互補的測試,以便在長時間內產生最繁重的事務量或最差的事務組合(請參見上面的“強度測試”)創建最大的資料庫大小(實際的、按比例縮放的、或填充了代表性數據的資料庫),並使用多台客戶機在長時間內同時運行查詢和報表事務。]
開始標準:
完成標準:所計畫的測試已全部執行,而且達到或超出指定的系統限制時沒有出現任何軟體故障。]
測試重點和優先權:
需考慮的特殊事項:[對於上述的高容量條件,哪個時間段是可以接受的時間?]
安全性和訪問
安全性和訪問控制測試
訪問控制測試側重於安全性的兩個關鍵方面:應用程式級別的安全性,包括對數據或業務功能的訪問。系統級別的安全性,包括對系統的登錄或遠程訪問。應用程式級別的安全性可確保:在預期的安全性情況下,Actor只能訪問特定的功能或用例,或者只能訪問有限的數據。例如,可能會允許所有人輸入數據,創建新帳戶,但只有管理員才能刪除這些數據或帳戶。如果具有數據級別的安全性,測試就可確保“用戶類型一”能夠看到所有客戶訊息(包括財務數據),而“用戶二”看見同一客戶的統計數據。系統級別的安全性可確保只有具備系統訪問許可權的用戶才能訪問應用程式,而且只能通過相應的網關來訪問。] 測試目標:應用程式級別的安全性:[核實Actor只能訪問其所屬用戶類型已被授權訪問的那些功能或數據。]系統級別的安全性:[核實只有具備系統和應用程式訪問許可權的Actor才能訪問系統和應用程式。] 測試範圍:技術:應用程式級別的安全性:[確定並列出各用戶類型及其被授權訪問的功能或數據。][為各用戶類型創建測試,並通過創建各用戶類型所特有的事務來核實其許可權。] 修改用戶類型並為相同的用戶重新運行測試。對於每種用戶類型,確保正確地提供或拒絕了這些附加的功能或數據。系統級別的訪問:[請參見以下的“需考慮的特殊事項”。] 開始標準:完成標準:[各種已知的Actor類型都可訪問相應的功能或數據,而且所有事務都按照預期的方式運行,並在先前的應用程式功能測試中運行了所有的事務。] 測試重點和優先權:需考慮的特殊事項:[必須與相應的網路或系統管理員一直對系統訪問權進行檢查和討論。由於此測試可能是網路管理可系統管理的職能,可能會不需要執行此測試。]
故障轉移和恢複測試
測試目標:[確保恢復進程(手工或自動)將資料庫、應用程式和系統正確地恢復到預期的已知狀態。
測試範圍:
技術:[應該使用為功能和業務周期測試創建的測試來創建一系列的事務。一旦達到預期的測試起點,就應該分別執行或模擬以下操作:
客戶機斷電:關閉PC機的電源。
伺服器斷電:模擬或啟動伺服器的斷電過程。
DASD和DASD控制器被中斷、斷電或與DASD和DASD控制器的通信中斷:模擬與一個或多個DASD控制器或設備的通信,或實際取消這種通信。
一旦實現了上述情況(或模擬情況),就應該執行其他事務。而且一旦達到第二個測試點狀態,就應調用恢復過程。
在測試不完整的周期時,所使用的技術與上述技術相同,只不過應異常終止或提前終止資料庫進程本身。
對以下情況的測試需要達到一個已知的資料庫狀態。當破壞若干個資料庫欄位、指針和關鍵字時,應該以手工方式在資料庫中(通過資料庫工具)直接進行。其他事務應該通過使用“應用程式功能測試”和“業務周期測試”中的測試來執行,並且應執行完整的周期。]
開始標準:
完成標準:[在所有上述情況中,應用程式、資料庫和系統應該在恢復過程完成時立即返回到一個已知的預期狀態。此狀態包括僅限於已知損壞的欄位、指針或關鍵字範圍內的數據損壞,以及表明進程或事務因中斷面未被完成的報表。]
測試重點和優先權:
需考慮的特殊事項: [恢複測試會給其他操作帶來許多的麻煩。斷開纜線連線的方法(模擬斷電或通信中斷)可能並不可取或不可行。所以,可能會需要採用其他方法,例如診斷性軟體工具。
需要系統(或計算機操作)、資料庫和網路組中的資源。
這些測試應該在工作時間之外或在一台獨立的計算機上運行。]
配置測試
[配置測試核實測試對象在不同的軟體和硬體配置中的運行情況。在大多數生產環境中,客戶機工作站、網路連線和資料庫伺服器的具體硬體規格會有所不同。客戶機工 作站可能會安裝不同的軟體 例如,應用程式、驅動程式等 而且在任何時候,都可能運行許多不同的軟體組合,從而占用不同的資源。]
測試目標:[核實測試可在所需的硬體和軟體配置中正常運行。]
測試範圍:
技術:[使用功能測試腳本。
在測試過程中或在測試開始之前,打開各種與非測試對象相關的軟體(例如Microsoft應用程式:Excel和Word),然後將其關閉。
執行所選的事務,以模擬Actor與測試對象軟體和非測試對象軟體之間的互動。
重複上述步驟,儘量減少客戶機工作站上的常規可用記憶體。]
開始標準:
完成標準:[對於測試對象軟體和非測試對象軟體的各種組合,所有事務都成功完成,沒有出現任何故障。]
測試重點和優先權:
需考慮的特殊事項:[需要、可以使用並可以通過桌面訪問哪種非測試對象軟體?
通常使用的是哪些應用程式?
應用程式正在運行什麼數據?例如,在Excel中打開的大型電子表格,或是在Word中打開的100頁文檔。
作為此測試的一部分,應將整修系統、Netware、網路伺服器、資料庫等都記錄下來。]
安裝測試
[安裝測試有兩個目的。第一個目的是確保該軟體在正常情況和異常情況的不同條件下 例如,進行首次安裝、升級、完整的或自定義的安裝 都能進行安裝。異常情況 包括磁碟空間不足、缺少目錄創建許可權等。第二個目的是核實軟體在安裝後可立即正常運行。這通常是指運行大量為功能測試制定的測試。]
測試目標:核實在以下情況下,測試對象可正確地安裝到各種所需的硬體配置中:
首次安裝。以前從未安裝過<項目名稱>的新計算機
更新。以前安裝過相同版本的<項目名稱>的計算機
更新。以前安裝過從未安裝過;<項目名稱>安裝過相同或較早的版本。
啟動或執行安裝。
使用預先確定的功能測試腳本子集來運行事務。
開始標準:
完成標準:<項目名稱>事務成功執行,沒有出現任何故障。
測試重點和優先權:
需考慮的特殊事項:[應該選擇<項目名稱>的哪些事務才能準確地測試出<項目名稱>應用程式已經成功安裝,而且沒有遺漏主要的軟體構件?。