鷹翔宇空

          學(xué)習(xí)和生活

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            110 Posts :: 141 Stories :: 315 Comments :: 1 Trackbacks
          原文引自:http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/AppendATestCases.mspx

          附錄 A – 測試用例

          發(fā)布日期: 8/19/2004 | 更新日期: 8/19/2004

          Microsoft Corporation

          內(nèi)容:討論 Offline Application Block 的測試方法。

          *
          本頁內(nèi)容
          功能測試 功能測試
          白盒測試 白盒測試
          安全性測試 安全性測試
          性能測試 性能測試
          集成測試 集成測試
          內(nèi)容測試 內(nèi)容測試
          安裝測試 安裝測試

          附錄 A 說明了針對 Offline Application Block 運(yùn)行以確保其正常工作的測試。在開發(fā)自己的應(yīng)用程序時(shí),我們可以將它們作為要考慮的測試類型的建議。

          這些測試包括以下七個(gè)方面:

          ?

          功能測試,確保應(yīng)用程序符合指定的要求

          ?

          白盒測試,測試小范圍特定區(qū)域的代碼

          ?

          安全性測試,測試應(yīng)用程序及其數(shù)據(jù)是否受到保護(hù)、隱私是否受到保護(hù),以及數(shù)據(jù)是否正確加密

          ?

          性能測試,測試應(yīng)用程序在各種情況下的處理和響應(yīng)時(shí)間

          ?

          集成測試,確保應(yīng)用程序與其他系統(tǒng)和組件配合工作

          ?

          內(nèi)容測試,驗(yàn)證文檔的正確性

          ?

          安裝測試,驗(yàn)證應(yīng)用程序已正確安裝在客戶端計(jì)算機(jī)上

          文檔的每個(gè)部分都與其中一個(gè)類別相對應(yīng)。我們?yōu)槊總€(gè)類別提供了兩個(gè)表格。

          第一個(gè)表格包括:

          ?

          范圍,是指該測試類別所覆蓋的領(lǐng)域

          ?

          時(shí)間,是指這些測試應(yīng)在開發(fā)周期的何時(shí)開始

          ?

          用于執(zhí)行這些測試的工具

          ?

          自動測試是否適用于這些類型的測試

          第二個(gè)表格是屬于該類別的示例測試的清單。

          功能測試

          功能測試可確保應(yīng)用程序符合指定的要求。

          1:功能測試定義

          領(lǐng)域 定義

          范圍

          這些測試覆蓋了智能客戶端應(yīng)用程序的功能,以確保它符合指定的要求。它們可提供應(yīng)用程序的有效性和使用性的反饋,以解決要求和實(shí)際應(yīng)用程序之間的偏差。它們使用基于功能和基于案例的方法來測試圖形用戶界面 (GUI)。

          開始時(shí)間

          在確定要求后,就應(yīng)盡早計(jì)劃測試并撰寫文檔。隨著越來越多的端到端功能投入使用,測試的數(shù)量將不斷增加。

          要使用的工具

          要使用的工具包括:

          在 GUI 可用之前測試已公開功能的示例窗體。

          GUI 記錄和播放工具。

          自動角色

          建議使用自動功能針對新的軟件內(nèi)部版本啟用多個(gè)快速的版本驗(yàn)證測試。

          2:功能測試

          成功/失敗 測試

          應(yīng)用程序具有脫機(jī)和聯(lián)機(jī)狀態(tài)的視覺顯示。

          應(yīng)用程序允許用戶通過 Internet 登錄。

          應(yīng)用程序允許用戶通過企業(yè)網(wǎng)絡(luò)登錄。

          當(dāng)用戶登錄時(shí),應(yīng)用程序提示用戶是進(jìn)入脫機(jī)狀態(tài)還是聯(lián)機(jī)狀態(tài)(僅當(dāng)用戶處于聯(lián)機(jī)狀態(tài)時(shí)適用)。

          當(dāng)用戶注銷時(shí),應(yīng)用程序提示用戶同步化工作隊(duì)列數(shù)據(jù)(僅當(dāng)用戶在脫機(jī)狀態(tài)下對工作隊(duì)列進(jìn)行了更改,才會發(fā)生這種情況)。

          測試應(yīng)用程序在聯(lián)機(jī)時(shí)顯示工作項(xiàng)目。

          測試應(yīng)用程序在脫機(jī)時(shí)顯示工作項(xiàng)目。

          測試應(yīng)用程序能夠更改要求應(yīng)用程序聯(lián)機(jī)的工作項(xiàng)目。

          測試應(yīng)用程序能夠提示用戶為已更新的隊(duì)列數(shù)據(jù)同步化工作項(xiàng)目。

          測試用戶可以手動強(qiáng)制系統(tǒng)脫機(jī)。

          測試用戶可以手動將系統(tǒng)切換回聯(lián)機(jī)狀態(tài)。

          測試應(yīng)用程序具有自動連接狀態(tài)檢測策略。

          測試應(yīng)用程序具有用于下載工作項(xiàng)目的下載界面。

          測試用戶可以下載工作項(xiàng)目、脫機(jī)、在脫機(jī)狀態(tài)下更新工作項(xiàng)目、聯(lián)機(jī)以及在聯(lián)機(jī)狀態(tài)下進(jìn)行同步。

          測試應(yīng)用程序在編輯數(shù)據(jù)時(shí)將其標(biāo)記為 dirty,并檢查陳舊數(shù)據(jù)和廢數(shù)據(jù)是否過期。只能從服務(wù)器覆蓋陳舊數(shù)據(jù)。

          測試檢查 MSDE 緩存存儲提供程序是否用于緩存數(shù)據(jù)。

          測試檢查獨(dú)立緩存存儲提供程序是否用于緩存數(shù)據(jù)。

          測試檢查“消息隊(duì)列”隊(duì)列存儲提供程序是否用于排隊(duì)數(shù)據(jù)。

          測試檢查 MSDE 隊(duì)列存儲提供程序是否用于排隊(duì)數(shù)據(jù)。

          測試在脫機(jī)狀態(tài)下對客戶端數(shù)據(jù)進(jìn)行的多個(gè)更新在聯(lián)機(jī)時(shí)進(jìn)行同步。

          測試可以為 ConnectionDetectionStrategy 配置多個(gè)提供程序。

          測試支持使用 ReferenceDataCache 的不同緩存存儲區(qū)。

          測試可以為 QueueProvider 配置多個(gè)提供程序。

          測試 ConnectionDetectionStrategy 的輪詢間隔配置。

          測試 Executor 操作的輪詢間隔配置。

          測試 QueueProvider 的最大隊(duì)列消息配置。

          測試緩存數(shù)據(jù)的過期配置。

          測試用于連接到 MSDE 的連接字符串配置。

          測試使用自定義提供程序的加密是通過 ICryptographicProvider 接口實(shí)現(xiàn)的。

          測試下載頻率的配置屬性。

          測試錯誤和邊界條件。

          測試可以跨多個(gè) Offline Application Block 的運(yùn)行實(shí)例來存儲和檢索數(shù)據(jù)。

          返回頁首返回頁首

          白盒測試

          白盒測試主要用于小范圍特定區(qū)域的代碼。

          3: 白盒測試定義

          領(lǐng)域 定義

          范圍

          這些測試覆蓋小范圍的代碼單元,并使用代碼演練、代碼檢查以及使用測試框架的單元級別測試來執(zhí)行。

          開始時(shí)間

          這些測試在開發(fā)周期的早期進(jìn)行。應(yīng)在代碼剛被開發(fā)出來、并且還是可隨時(shí)演練的小型獨(dú)立代碼單元時(shí)執(zhí)行測試。

          要使用的工具

          代碼范圍的工具

          內(nèi)存分析工具

          要使用的工具包括:

          查看代碼是否符合開發(fā)準(zhǔn)則的代碼檢查

          單元測試框架工具(應(yīng)該能夠自動執(zhí)行)

          自動角色

          單元測試自動化對于針對仍處于開發(fā)中的應(yīng)用程序執(zhí)行可重復(fù)的全面測試是至關(guān)重要的。

          4:白盒測試

          成功/失敗 測試

          演練代碼并檢查它是否滿足質(zhì)量要求,例如是否符合邏輯,是否符合開發(fā)標(biāo)準(zhǔn)和最佳做法,以及是否具有高可讀性的注釋。

          使用代碼范圍的工具運(yùn)行代碼,以確保所有可用的代碼都在進(jìn)行測試。

          執(zhí)行代碼的內(nèi)存分析,以確保正確釋放對象和收集垃圾。

          使用單元測試框架工具來創(chuàng)建用于測試公共方法的單元測試。在代碼開發(fā)過程中擴(kuò)展這些測試,并定期運(yùn)行它們。單元測試可作為一種快速檢查,用于確保代碼在更改后不會被損壞。要使單元測試具有更強(qiáng)的邏輯性,請將它們映射到“功能測試”部分中說明的測試用例。

          返回頁首返回頁首

          安全性測試

          安全性測試用于測試應(yīng)用程序及其數(shù)據(jù)是否受到保護(hù),隱私是否受到保護(hù),以及數(shù)據(jù)是否正確加密。

          5:安全性測試定義

          領(lǐng)域 定義

          范圍

          這些測試覆蓋的范圍包括:驗(yàn)證隱私是否受到保護(hù)、數(shù)據(jù)是否加密、數(shù)據(jù)是否防篡改,以及應(yīng)用程序是否能夠承受各種類型的惡意攻擊。安全性測試應(yīng)主要用于獨(dú)立的系統(tǒng)單元和整個(gè)應(yīng)用程序。

          開始時(shí)間

          在確定要求后,就應(yīng)計(jì)劃這些測試。這些測試應(yīng)在實(shí)現(xiàn)安全措施和方法時(shí)執(zhí)行。

          要使用的工具

          要使用的工具包括:

          DOS 攻擊模擬

          網(wǎng)絡(luò)探測工具

          此外,請參閱清單章節(jié)

          自動化

          不適用

          6:安全性測試

          成功/失敗 測試

          測試應(yīng)用程序能夠?qū)⒖紨?shù)據(jù)安全地下載到本地計(jì)算機(jī)。

          測試應(yīng)用程序能夠?qū)⒏潞蟮膮⒖紨?shù)據(jù)安全地上載到服務(wù)器。

          測試應(yīng)用程序能夠?qū)σ严螺d數(shù)據(jù)的訪問權(quán)限制給經(jīng)授權(quán)的用戶。

          測試可以確保通過公司 Intranet 訪問服務(wù)的安全。

          測試可以確保通過 Internet 訪問服務(wù)的安全。

          測試可以安全存儲已下載的消息。

          跟蹤查看已下載的參考數(shù)據(jù)是否被篡改。

          測試檢查是否可以通過正確的登錄憑據(jù)限制對排隊(duì)數(shù)據(jù)的訪問。

          測試檢查排隊(duì)數(shù)據(jù)是否已正確加密并簽名。

          測試檢查是否可以通過正確的登錄憑據(jù)限制對緩存數(shù)據(jù)的訪問。

          測試檢查緩存數(shù)據(jù)是否已正確加密并簽名。

          測試檢查是否可以通過第三方證書(例如 Verisign)使用服務(wù)進(jìn)行下載。

          測試檢查程序集是否在部署服務(wù)器上進(jìn)行加密和數(shù)字簽名,并在客戶端下載時(shí)進(jìn)行驗(yàn)證。

          測試檢查為服務(wù)生成的代理是否具有有效的終結(jié)點(diǎn),以防止欺騙。

          測試檢查多個(gè)用戶的緩存數(shù)據(jù)和排隊(duì)數(shù)據(jù)共享一個(gè)客戶端是否安全。

          驗(yàn)證 DemandReflectPermission 在使用反射的代碼中正確實(shí)現(xiàn)。

          返回頁首返回頁首

          性能測試

          性能測試用于測試應(yīng)用程序在各種情況下的處理和響應(yīng)時(shí)間。

          7:性能測試定義

          領(lǐng)域 定義

          范圍

          這些測試覆蓋了在各種數(shù)據(jù)加載、內(nèi)存壓力條件、網(wǎng)絡(luò)可用性以及不同的連接速度下,應(yīng)用程序的處理和響應(yīng)性能。

          開始時(shí)間

          在確定要求后,就應(yīng)該計(jì)劃這些測試。可以通過使用內(nèi)部測試存根和性能測試工具來對已完成的單元進(jìn)行測試。隨著越來越多的端到端功能投入使用,測試的數(shù)量將不斷增加。

          要使用的工具

          要使用的工具包括:

          性能測試工具或自定義測試工具(應(yīng)自動化)

          PerfMon

          內(nèi)存清理工具

          磁盤空間清理工具

          性能分析工具

          自動化

          建議使用自動功能針對較新的軟件內(nèi)部版本啟用多個(gè)快速的性能測試。這將確保應(yīng)用程序符合可接受的性能標(biāo)準(zhǔn),同時(shí)還有助于比較研究。

          8:性能測試

          成功/失敗 測試

          測試檢查在超出延遲時(shí)間段后是否會發(fā)生下載。

          測試檢查在超出延遲時(shí)間段后是否會發(fā)生上載。

          通過在一段時(shí)間內(nèi)在某一行中數(shù)百次地下載項(xiàng)目來測試性能。

          通過在一段時(shí)間內(nèi)在某一行中數(shù)百次地上載項(xiàng)目來測試性能。

          通過在一段時(shí)間內(nèi)下載和上載不同大小的數(shù)據(jù)來測試性能。

          通過使用不同的帶寬和延遲時(shí)間下載和上載數(shù)據(jù)來測試性能。

          通過使用有限的內(nèi)存和磁盤空間下載和上載數(shù)據(jù)來測試性能。

          分析以下類型的數(shù)據(jù):

          線程數(shù)量

          系統(tǒng)池資源

          爭用

          進(jìn)程工作集

          系統(tǒng)隊(duì)列

          進(jìn)程 CPU 上下文

          內(nèi)存和 IO

          網(wǎng)絡(luò)

          系統(tǒng)資源

          進(jìn)程可用性

          異常

          進(jìn)程資源

          事務(wù)處理時(shí)間。

          返回頁首返回頁首

          集成測試

          集成測試可確保應(yīng)用程序與其他系統(tǒng)和組件配合工作。

          9:集成測試定義

          領(lǐng)域 定義

          范圍

          這些測試覆蓋了應(yīng)用程序與外部組件和已存在系統(tǒng)的集成。測試應(yīng)用程序與 Web 服務(wù)的交互就是一個(gè)示例。這些測試可驗(yàn)證整個(gè)工作流,以及組成應(yīng)用程序的各個(gè)組件之間的所有交互。

          開始時(shí)間

          在確定要求后,就應(yīng)該計(jì)劃這些測試。隨著不同系統(tǒng)部件的集成,測試的數(shù)量將不斷增加。

          要使用的工具

          不適用。

          自動化

          不適用。

          10:集成測試

          成功/失敗 測試

          測試客戶端應(yīng)用程序代碼和 Web 服務(wù)之間的集成。

          測試工作項(xiàng)目的下載和隨后的已修改工作項(xiàng)目的上載。

          測試脫機(jī)狀態(tài)下工作項(xiàng)目的排隊(duì),以及重新聯(lián)機(jī)后排隊(duì)消息的處理。

          驗(yàn)證不同隊(duì)列提供程序與不同緩存提供程序的配合工作。

          在脫機(jī)狀態(tài)下將多個(gè)更新應(yīng)用到工作項(xiàng)目,并在重新聯(lián)機(jī)時(shí)檢查同步。

          測試在服務(wù)器端篩選參考數(shù)據(jù)的方法,以下載數(shù)據(jù)庫的適用部分。

          測試應(yīng)用程序可以根據(jù)服務(wù)器通知,為用戶顯示與其他用戶所作更改沖突的工作項(xiàng)目列表。

          測試應(yīng)用程序可以根據(jù)定義的時(shí)間段將日志與服務(wù)器日志進(jìn)行同步。

          測試在客戶端修改數(shù)據(jù)的同時(shí)、該數(shù)據(jù)正在服務(wù)器中進(jìn)行更新所導(dǎo)致的沖突情況。

          測試能否通過在服務(wù)器上添加新的數(shù)據(jù)(工作項(xiàng)目)來刷新客戶端。

          測試添加到客戶端的新數(shù)據(jù)(工作項(xiàng)目)能否與服務(wù)器進(jìn)行同步。

          修改服務(wù)器中工作項(xiàng)目的架構(gòu)并更新客戶端。

          測試兩個(gè)或更多獨(dú)立聯(lián)機(jī)客戶端同時(shí)更新服務(wù)器上的數(shù)據(jù)的情況。

          測試兩個(gè)或更多脫機(jī)客戶端修改數(shù)據(jù)并更新服務(wù)器的情況。

          確保測試用例覆蓋了所支持平臺上應(yīng)用程序工作流的驗(yàn)證。

          返回頁首返回頁首

          內(nèi)容測試

          內(nèi)容測試用于驗(yàn)證文檔的正確性。

          11:內(nèi)容測試定義

          領(lǐng)域 定義

          范圍

          這些測試可驗(yàn)證在安裝和操作過程中為用戶提供的說明內(nèi)容。這些測試覆蓋了補(bǔ)充的用戶指南和幫助文件。這些測試可驗(yàn)證內(nèi)容的使用性、正確性和完整性。

          要使用的工具

          內(nèi)容測試大多通過手動完成。熟悉應(yīng)用程序的使用性和測試工程師能夠指出矛盾或缺少的信息,以及應(yīng)用程序和文檔之間的差異。

          要使用的工具

          不適用。

          自動化

          不適用。

          12:內(nèi)容測試

          成功/失敗 測試

          測試內(nèi)容在技術(shù)上的正確性。

          測試有關(guān)操作、流程和時(shí)間安排的步驟的順序是否正確。

          測試內(nèi)容的相關(guān)性。

          測試內(nèi)容不是模棱兩可并且是易于遵循的。

          測試內(nèi)容的一致和統(tǒng)一。

          測試內(nèi)容為每個(gè)主題都提供了完整的信息。

          測試需要進(jìn)一步說明的主題帶有有助于更好理解的適當(dāng)示例。

          測試主題帶有對相應(yīng)和相關(guān)主題的引用。

          測試內(nèi)容是否考慮到期望用戶的技術(shù)水平和熟悉的交流語言。

          返回頁首返回頁首

          安裝測試

          安裝測試用于驗(yàn)證應(yīng)用程序是否正確安裝在客戶端計(jì)算機(jī)上。

          13:安裝測試定義

          領(lǐng)域 定義

          范圍

          這些測試可驗(yàn)證應(yīng)用程序最后交付的功能和客戶端計(jì)算機(jī)上的安裝,并驗(yàn)證所有適用文件的交付。

          開始時(shí)間

          這些測試通常在開發(fā)和測試周期的最后進(jìn)行。

          要使用的工具

          要使用的工具包括 GUI 記錄和播放工具(應(yīng)該能夠自動運(yùn)行)。

          自動角色

          使用在功能測試過程中創(chuàng)建的版本驗(yàn)證測試 (BVT) 自動腳本,以便在安裝后快速驗(yàn)證應(yīng)用程序的主要功能。這就提供了驗(yàn)證安裝是否正確的快速方法。

          自動工具

          針對已安裝的應(yīng)用程序執(zhí)行 BVT 測試所使用的 GUI 記錄和播放工具。該工具提供了驗(yàn)證安裝的快速方法。

          表 14:安裝測試

          成功/失敗 測試

          測試應(yīng)用程序安裝、運(yùn)行腳本時(shí)未出現(xiàn)錯誤,以及所有主要功能都能通過測試。

          測試安裝在客戶端計(jì)算機(jī)上的所有文件的版本(包括代碼和內(nèi)容)都正確。

          測試可以卸載應(yīng)用程序并測試清理的驗(yàn)證。

          在安裝中驗(yàn)證文件的命名標(biāo)準(zhǔn)。

          驗(yàn)證安裝程序在遇到錯誤情況(例如磁盤空間不足)時(shí)可以正常退出。

          在安裝過程中驗(yàn)證注冊表項(xiàng),以及在卸載過程中驗(yàn)證注冊表的清理。

          執(zhí)行全新的計(jì)算機(jī)安裝。這臺計(jì)算機(jī)帶有新安裝的操作系統(tǒng)和少量必需的已安裝組件。

          測試具有不同軟件配置的計(jì)算機(jī)上的安裝。

          測試安裝程序創(chuàng)建了正確的 Start 菜單項(xiàng)。

          測試安裝程序?qū)⑽募糜谡_的文件夾中。

          測試程序集是否在部署服務(wù)器上進(jìn)行加密和數(shù)字簽名,并在客戶端下載時(shí)進(jìn)行驗(yàn)證。

          轉(zhuǎn)到原英文頁面

          posted on 2006-02-10 15:06 TrampEagle 閱讀(278) 評論(0)  編輯  收藏 所屬分類: 技術(shù)文摘
          主站蜘蛛池模板: 滨州市| 遂平县| 竹北市| 建湖县| 林甸县| 都安| 诏安县| 静宁县| 饶阳县| 开平市| 赤水市| 乃东县| 荃湾区| 女性| 新竹县| 南投县| 渭源县| 铜梁县| 社旗县| 依安县| 页游| 五指山市| 来宾市| 汾阳市| 余庆县| 鸡西市| 黄平县| 庄河市| 宝兴县| 微博| 横峰县| 剑阁县| 大名县| 花垣县| 平顺县| 磴口县| 潞城市| 沈阳市| 武川县| 鞍山市| 交口县|