附錄 A – 測(cè)試用例

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

本頁(yè)內(nèi)容
![]() |
功能測(cè)試 |
![]() |
白盒測(cè)試 |
![]() |
安全性測(cè)試 |
![]() |
性能測(cè)試 |
![]() |
集成測(cè)試 |
![]() |
內(nèi)容測(cè)試 |
![]() |
安裝測(cè)試 |
附錄 A 說(shuō)明了針對(duì) Offline Application Block 運(yùn)行以確保其正常工作的測(cè)試。在開(kāi)發(fā)自己的應(yīng)用程序時(shí),我們可以將它們作為要考慮的測(cè)試類(lèi)型的建議。
這些測(cè)試包括以下七個(gè)方面:
? |
功能測(cè)試,確保應(yīng)用程序符合指定的要求 |
? |
白盒測(cè)試,測(cè)試小范圍特定區(qū)域的代碼 |
? |
安全性測(cè)試,測(cè)試應(yīng)用程序及其數(shù)據(jù)是否受到保護(hù)、隱私是否受到保護(hù),以及數(shù)據(jù)是否正確加密 |
? |
性能測(cè)試,測(cè)試應(yīng)用程序在各種情況下的處理和響應(yīng)時(shí)間 |
? |
集成測(cè)試,確保應(yīng)用程序與其他系統(tǒng)和組件配合工作 |
? |
內(nèi)容測(cè)試,驗(yàn)證文檔的正確性 |
? |
安裝測(cè)試,驗(yàn)證應(yīng)用程序已正確安裝在客戶(hù)端計(jì)算機(jī)上 |
文檔的每個(gè)部分都與其中一個(gè)類(lèi)別相對(duì)應(yīng)。我們?yōu)槊總€(gè)類(lèi)別提供了兩個(gè)表格。
第一個(gè)表格包括:
? |
范圍,是指該測(cè)試類(lèi)別所覆蓋的領(lǐng)域 |
? |
時(shí)間,是指這些測(cè)試應(yīng)在開(kāi)發(fā)周期的何時(shí)開(kāi)始 |
? |
用于執(zhí)行這些測(cè)試的工具 |
? |
自動(dòng)測(cè)試是否適用于這些類(lèi)型的測(cè)試 |
第二個(gè)表格是屬于該類(lèi)別的示例測(cè)試的清單。
功能測(cè)試
功能測(cè)試可確保應(yīng)用程序符合指定的要求。
表 1:功能測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試覆蓋了智能客戶(hù)端應(yīng)用程序的功能,以確保它符合指定的要求。它們可提供應(yīng)用程序的有效性和使用性的反饋,以解決要求和實(shí)際應(yīng)用程序之間的偏差。它們使用基于功能和基于案例的方法來(lái)測(cè)試圖形用戶(hù)界面 (GUI)。 |
開(kāi)始時(shí)間 |
在確定要求后,就應(yīng)盡早計(jì)劃測(cè)試并撰寫(xiě)文檔。隨著越來(lái)越多的端到端功能投入使用,測(cè)試的數(shù)量將不斷增加。 |
要使用的工具 |
要使用的工具包括: 在 GUI 可用之前測(cè)試已公開(kāi)功能的示例窗體。 GUI 記錄和播放工具。 |
自動(dòng)角色 |
建議使用自動(dòng)功能針對(duì)新的軟件內(nèi)部版本啟用多個(gè)快速的版本驗(yàn)證測(cè)試。 |
表 2:功能測(cè)試
成功/失敗 | 測(cè)試 |
應(yīng)用程序具有脫機(jī)和聯(lián)機(jī)狀態(tài)的視覺(jué)顯示。 | |
應(yīng)用程序允許用戶(hù)通過(guò) Internet 登錄。 | |
應(yīng)用程序允許用戶(hù)通過(guò)企業(yè)網(wǎng)絡(luò)登錄。 | |
當(dāng)用戶(hù)登錄時(shí),應(yīng)用程序提示用戶(hù)是進(jìn)入脫機(jī)狀態(tài)還是聯(lián)機(jī)狀態(tài)(僅當(dāng)用戶(hù)處于聯(lián)機(jī)狀態(tài)時(shí)適用)。 | |
當(dāng)用戶(hù)注銷(xiāo)時(shí),應(yīng)用程序提示用戶(hù)同步化工作隊(duì)列數(shù)據(jù)(僅當(dāng)用戶(hù)在脫機(jī)狀態(tài)下對(duì)工作隊(duì)列進(jìn)行了更改,才會(huì)發(fā)生這種情況)。 | |
測(cè)試應(yīng)用程序在聯(lián)機(jī)時(shí)顯示工作項(xiàng)目。 | |
測(cè)試應(yīng)用程序在脫機(jī)時(shí)顯示工作項(xiàng)目。 | |
測(cè)試應(yīng)用程序能夠更改要求應(yīng)用程序聯(lián)機(jī)的工作項(xiàng)目。 | |
測(cè)試應(yīng)用程序能夠提示用戶(hù)為已更新的隊(duì)列數(shù)據(jù)同步化工作項(xiàng)目。 | |
測(cè)試用戶(hù)可以手動(dòng)強(qiáng)制系統(tǒng)脫機(jī)。 | |
測(cè)試用戶(hù)可以手動(dòng)將系統(tǒng)切換回聯(lián)機(jī)狀態(tài)。 | |
測(cè)試應(yīng)用程序具有自動(dòng)連接狀態(tài)檢測(cè)策略。 | |
測(cè)試應(yīng)用程序具有用于下載工作項(xiàng)目的下載界面。 | |
測(cè)試用戶(hù)可以下載工作項(xiàng)目、脫機(jī)、在脫機(jī)狀態(tài)下更新工作項(xiàng)目、聯(lián)機(jī)以及在聯(lián)機(jī)狀態(tài)下進(jìn)行同步。 | |
測(cè)試應(yīng)用程序在編輯數(shù)據(jù)時(shí)將其標(biāo)記為 dirty,并檢查陳舊數(shù)據(jù)和廢數(shù)據(jù)是否過(guò)期。只能從服務(wù)器覆蓋陳舊數(shù)據(jù)。 | |
測(cè)試檢查 MSDE 緩存存儲(chǔ)提供程序是否用于緩存數(shù)據(jù)。 | |
測(cè)試檢查獨(dú)立緩存存儲(chǔ)提供程序是否用于緩存數(shù)據(jù)。 | |
測(cè)試檢查“消息隊(duì)列”隊(duì)列存儲(chǔ)提供程序是否用于排隊(duì)數(shù)據(jù)。 | |
測(cè)試檢查 MSDE 隊(duì)列存儲(chǔ)提供程序是否用于排隊(duì)數(shù)據(jù)。 | |
測(cè)試在脫機(jī)狀態(tài)下對(duì)客戶(hù)端數(shù)據(jù)進(jìn)行的多個(gè)更新在聯(lián)機(jī)時(shí)進(jìn)行同步。 | |
測(cè)試可以為 ConnectionDetectionStrategy 配置多個(gè)提供程序。 | |
測(cè)試支持使用 ReferenceDataCache 的不同緩存存儲(chǔ)區(qū)。 | |
測(cè)試可以為 QueueProvider 配置多個(gè)提供程序。 | |
測(cè)試 ConnectionDetectionStrategy 的輪詢(xún)間隔配置。 | |
測(cè)試 Executor 操作的輪詢(xún)間隔配置。 | |
測(cè)試 QueueProvider 的最大隊(duì)列消息配置。 | |
測(cè)試緩存數(shù)據(jù)的過(guò)期配置。 | |
測(cè)試用于連接到 MSDE 的連接字符串配置。 | |
測(cè)試使用自定義提供程序的加密是通過(guò) ICryptographicProvider 接口實(shí)現(xiàn)的。 | |
測(cè)試下載頻率的配置屬性。 | |
測(cè)試錯(cuò)誤和邊界條件。 | |
測(cè)試可以跨多個(gè) Offline Application Block 的運(yùn)行實(shí)例來(lái)存儲(chǔ)和檢索數(shù)據(jù)。 |
白盒測(cè)試
白盒測(cè)試主要用于小范圍特定區(qū)域的代碼。
表 3: 白盒測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試覆蓋小范圍的代碼單元,并使用代碼演練、代碼檢查以及使用測(cè)試框架的單元級(jí)別測(cè)試來(lái)執(zhí)行。 |
開(kāi)始時(shí)間 |
這些測(cè)試在開(kāi)發(fā)周期的早期進(jìn)行。應(yīng)在代碼剛被開(kāi)發(fā)出來(lái)、并且還是可隨時(shí)演練的小型獨(dú)立代碼單元時(shí)執(zhí)行測(cè)試。 |
要使用的工具 代碼范圍的工具 內(nèi)存分析工具 |
要使用的工具包括: 查看代碼是否符合開(kāi)發(fā)準(zhǔn)則的代碼檢查 單元測(cè)試框架工具(應(yīng)該能夠自動(dòng)執(zhí)行) |
自動(dòng)角色 |
單元測(cè)試自動(dòng)化對(duì)于針對(duì)仍處于開(kāi)發(fā)中的應(yīng)用程序執(zhí)行可重復(fù)的全面測(cè)試是至關(guān)重要的。 |
表 4:白盒測(cè)試
成功/失敗 | 測(cè)試 |
演練代碼并檢查它是否滿(mǎn)足質(zhì)量要求,例如是否符合邏輯,是否符合開(kāi)發(fā)標(biāo)準(zhǔn)和最佳做法,以及是否具有高可讀性的注釋。 | |
使用代碼范圍的工具運(yùn)行代碼,以確保所有可用的代碼都在進(jìn)行測(cè)試。 | |
執(zhí)行代碼的內(nèi)存分析,以確保正確釋放對(duì)象和收集垃圾。 | |
使用單元測(cè)試框架工具來(lái)創(chuàng)建用于測(cè)試公共方法的單元測(cè)試。在代碼開(kāi)發(fā)過(guò)程中擴(kuò)展這些測(cè)試,并定期運(yùn)行它們。單元測(cè)試可作為一種快速檢查,用于確保代碼在更改后不會(huì)被損壞。要使單元測(cè)試具有更強(qiáng)的邏輯性,請(qǐng)將它們映射到“功能測(cè)試”部分中說(shuō)明的測(cè)試用例。 |
安全性測(cè)試
安全性測(cè)試用于測(cè)試應(yīng)用程序及其數(shù)據(jù)是否受到保護(hù),隱私是否受到保護(hù),以及數(shù)據(jù)是否正確加密。
表 5:安全性測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試覆蓋的范圍包括:驗(yàn)證隱私是否受到保護(hù)、數(shù)據(jù)是否加密、數(shù)據(jù)是否防篡改,以及應(yīng)用程序是否能夠承受各種類(lèi)型的惡意攻擊。安全性測(cè)試應(yīng)主要用于獨(dú)立的系統(tǒng)單元和整個(gè)應(yīng)用程序。 |
開(kāi)始時(shí)間 |
在確定要求后,就應(yīng)計(jì)劃這些測(cè)試。這些測(cè)試應(yīng)在實(shí)現(xiàn)安全措施和方法時(shí)執(zhí)行。 |
要使用的工具 |
要使用的工具包括: DOS 攻擊模擬 網(wǎng)絡(luò)探測(cè)工具 此外,請(qǐng)參閱清單章節(jié) |
自動(dòng)化 |
不適用 |
表 6:安全性測(cè)試
成功/失敗 | 測(cè)試 |
測(cè)試應(yīng)用程序能夠?qū)⒖紨?shù)據(jù)安全地下載到本地計(jì)算機(jī)。 | |
測(cè)試應(yīng)用程序能夠?qū)⒏潞蟮膮⒖紨?shù)據(jù)安全地上載到服務(wù)器。 | |
測(cè)試應(yīng)用程序能夠?qū)?duì)已下載數(shù)據(jù)的訪(fǎng)問(wèn)權(quán)限制給經(jīng)授權(quán)的用戶(hù)。 | |
測(cè)試可以確保通過(guò)公司 Intranet 訪(fǎng)問(wèn)服務(wù)的安全。 | |
測(cè)試可以確保通過(guò) Internet 訪(fǎng)問(wèn)服務(wù)的安全。 | |
測(cè)試可以安全存儲(chǔ)已下載的消息。 | |
跟蹤查看已下載的參考數(shù)據(jù)是否被篡改。 | |
測(cè)試檢查是否可以通過(guò)正確的登錄憑據(jù)限制對(duì)排隊(duì)數(shù)據(jù)的訪(fǎng)問(wèn)。 | |
測(cè)試檢查排隊(duì)數(shù)據(jù)是否已正確加密并簽名。 | |
測(cè)試檢查是否可以通過(guò)正確的登錄憑據(jù)限制對(duì)緩存數(shù)據(jù)的訪(fǎng)問(wèn)。 | |
測(cè)試檢查緩存數(shù)據(jù)是否已正確加密并簽名。 | |
測(cè)試檢查是否可以通過(guò)第三方證書(shū)(例如 Verisign)使用服務(wù)進(jìn)行下載。 | |
測(cè)試檢查程序集是否在部署服務(wù)器上進(jìn)行加密和數(shù)字簽名,并在客戶(hù)端下載時(shí)進(jìn)行驗(yàn)證。 | |
測(cè)試檢查為服務(wù)生成的代理是否具有有效的終結(jié)點(diǎn),以防止欺騙。 | |
測(cè)試檢查多個(gè)用戶(hù)的緩存數(shù)據(jù)和排隊(duì)數(shù)據(jù)共享一個(gè)客戶(hù)端是否安全。 | |
驗(yàn)證 DemandReflectPermission 在使用反射的代碼中正確實(shí)現(xiàn)。 |
性能測(cè)試
性能測(cè)試用于測(cè)試應(yīng)用程序在各種情況下的處理和響應(yīng)時(shí)間。
表 7:性能測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試覆蓋了在各種數(shù)據(jù)加載、內(nèi)存壓力條件、網(wǎng)絡(luò)可用性以及不同的連接速度下,應(yīng)用程序的處理和響應(yīng)性能。 |
開(kāi)始時(shí)間 |
在確定要求后,就應(yīng)該計(jì)劃這些測(cè)試。可以通過(guò)使用內(nèi)部測(cè)試存根和性能測(cè)試工具來(lái)對(duì)已完成的單元進(jìn)行測(cè)試。隨著越來(lái)越多的端到端功能投入使用,測(cè)試的數(shù)量將不斷增加。 |
要使用的工具 |
要使用的工具包括: 性能測(cè)試工具或自定義測(cè)試工具(應(yīng)自動(dòng)化) PerfMon 內(nèi)存清理工具 磁盤(pán)空間清理工具 性能分析工具 |
自動(dòng)化 |
建議使用自動(dòng)功能針對(duì)較新的軟件內(nèi)部版本啟用多個(gè)快速的性能測(cè)試。這將確保應(yīng)用程序符合可接受的性能標(biāo)準(zhǔn),同時(shí)還有助于比較研究。 |
表 8:性能測(cè)試
成功/失敗 | 測(cè)試 |
測(cè)試檢查在超出延遲時(shí)間段后是否會(huì)發(fā)生下載。 | |
測(cè)試檢查在超出延遲時(shí)間段后是否會(huì)發(fā)生上載。 | |
通過(guò)在一段時(shí)間內(nèi)在某一行中數(shù)百次地下載項(xiàng)目來(lái)測(cè)試性能。 | |
通過(guò)在一段時(shí)間內(nèi)在某一行中數(shù)百次地上載項(xiàng)目來(lái)測(cè)試性能。 | |
通過(guò)在一段時(shí)間內(nèi)下載和上載不同大小的數(shù)據(jù)來(lái)測(cè)試性能。 | |
通過(guò)使用不同的帶寬和延遲時(shí)間下載和上載數(shù)據(jù)來(lái)測(cè)試性能。 | |
通過(guò)使用有限的內(nèi)存和磁盤(pán)空間下載和上載數(shù)據(jù)來(lái)測(cè)試性能。 | |
分析以下類(lèi)型的數(shù)據(jù): 線(xiàn)程數(shù)量 系統(tǒng)池資源 爭(zhēng)用 進(jìn)程工作集 系統(tǒng)隊(duì)列 進(jìn)程 CPU 上下文 內(nèi)存和 IO 網(wǎng)絡(luò) 系統(tǒng)資源 進(jìn)程可用性 異常 進(jìn)程資源 事務(wù)處理時(shí)間。 |
集成測(cè)試
集成測(cè)試可確保應(yīng)用程序與其他系統(tǒng)和組件配合工作。
表 9:集成測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試覆蓋了應(yīng)用程序與外部組件和已存在系統(tǒng)的集成。測(cè)試應(yīng)用程序與 Web 服務(wù)的交互就是一個(gè)示例。這些測(cè)試可驗(yàn)證整個(gè)工作流,以及組成應(yīng)用程序的各個(gè)組件之間的所有交互。 |
開(kāi)始時(shí)間 |
在確定要求后,就應(yīng)該計(jì)劃這些測(cè)試。隨著不同系統(tǒng)部件的集成,測(cè)試的數(shù)量將不斷增加。 |
要使用的工具 |
不適用。 |
自動(dòng)化 |
不適用。 |
表 10:集成測(cè)試
成功/失敗 | 測(cè)試 |
測(cè)試客戶(hù)端應(yīng)用程序代碼和 Web 服務(wù)之間的集成。 | |
測(cè)試工作項(xiàng)目的下載和隨后的已修改工作項(xiàng)目的上載。 | |
測(cè)試脫機(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í)檢查同步。 | |
測(cè)試在服務(wù)器端篩選參考數(shù)據(jù)的方法,以下載數(shù)據(jù)庫(kù)的適用部分。 | |
測(cè)試應(yīng)用程序可以根據(jù)服務(wù)器通知,為用戶(hù)顯示與其他用戶(hù)所作更改沖突的工作項(xiàng)目列表。 | |
測(cè)試應(yīng)用程序可以根據(jù)定義的時(shí)間段將日志與服務(wù)器日志進(jìn)行同步。 | |
測(cè)試在客戶(hù)端修改數(shù)據(jù)的同時(shí)、該數(shù)據(jù)正在服務(wù)器中進(jìn)行更新所導(dǎo)致的沖突情況。 | |
測(cè)試能否通過(guò)在服務(wù)器上添加新的數(shù)據(jù)(工作項(xiàng)目)來(lái)刷新客戶(hù)端。 | |
測(cè)試添加到客戶(hù)端的新數(shù)據(jù)(工作項(xiàng)目)能否與服務(wù)器進(jìn)行同步。 | |
修改服務(wù)器中工作項(xiàng)目的架構(gòu)并更新客戶(hù)端。 | |
測(cè)試兩個(gè)或更多獨(dú)立聯(lián)機(jī)客戶(hù)端同時(shí)更新服務(wù)器上的數(shù)據(jù)的情況。 | |
測(cè)試兩個(gè)或更多脫機(jī)客戶(hù)端修改數(shù)據(jù)并更新服務(wù)器的情況。 | |
確保測(cè)試用例覆蓋了所支持平臺(tái)上應(yīng)用程序工作流的驗(yàn)證。 |
內(nèi)容測(cè)試
內(nèi)容測(cè)試用于驗(yàn)證文檔的正確性。
表 11:內(nèi)容測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試可驗(yàn)證在安裝和操作過(guò)程中為用戶(hù)提供的說(shuō)明內(nèi)容。這些測(cè)試覆蓋了補(bǔ)充的用戶(hù)指南和幫助文件。這些測(cè)試可驗(yàn)證內(nèi)容的使用性、正確性和完整性。 |
要使用的工具 |
內(nèi)容測(cè)試大多通過(guò)手動(dòng)完成。熟悉應(yīng)用程序的使用性和測(cè)試工程師能夠指出矛盾或缺少的信息,以及應(yīng)用程序和文檔之間的差異。 |
要使用的工具 |
不適用。 |
自動(dòng)化 |
不適用。 |
表 12:內(nèi)容測(cè)試
成功/失敗 | 測(cè)試 |
測(cè)試內(nèi)容在技術(shù)上的正確性。 | |
測(cè)試有關(guān)操作、流程和時(shí)間安排的步驟的順序是否正確。 | |
測(cè)試內(nèi)容的相關(guān)性。 | |
測(cè)試內(nèi)容不是模棱兩可并且是易于遵循的。 | |
測(cè)試內(nèi)容的一致和統(tǒng)一。 | |
測(cè)試內(nèi)容為每個(gè)主題都提供了完整的信息。 | |
測(cè)試需要進(jìn)一步說(shuō)明的主題帶有有助于更好理解的適當(dāng)示例。 | |
測(cè)試主題帶有對(duì)相應(yīng)和相關(guān)主題的引用。 | |
測(cè)試內(nèi)容是否考慮到期望用戶(hù)的技術(shù)水平和熟悉的交流語(yǔ)言。 |
安裝測(cè)試
安裝測(cè)試用于驗(yàn)證應(yīng)用程序是否正確安裝在客戶(hù)端計(jì)算機(jī)上。
表 13:安裝測(cè)試定義
領(lǐng)域 | 定義 |
范圍 |
這些測(cè)試可驗(yàn)證應(yīng)用程序最后交付的功能和客戶(hù)端計(jì)算機(jī)上的安裝,并驗(yàn)證所有適用文件的交付。 |
開(kāi)始時(shí)間 |
這些測(cè)試通常在開(kāi)發(fā)和測(cè)試周期的最后進(jìn)行。 |
要使用的工具 |
要使用的工具包括 GUI 記錄和播放工具(應(yīng)該能夠自動(dòng)運(yùn)行)。 |
自動(dòng)角色 |
使用在功能測(cè)試過(guò)程中創(chuàng)建的版本驗(yàn)證測(cè)試 (BVT) 自動(dòng)腳本,以便在安裝后快速驗(yàn)證應(yīng)用程序的主要功能。這就提供了驗(yàn)證安裝是否正確的快速方法。 |
自動(dòng)工具 |
針對(duì)已安裝的應(yīng)用程序執(zhí)行 BVT 測(cè)試所使用的 GUI 記錄和播放工具。該工具提供了驗(yàn)證安裝的快速方法。 |
表 14:安裝測(cè)試
成功/失敗 | 測(cè)試 |
測(cè)試應(yīng)用程序安裝、運(yùn)行腳本時(shí)未出現(xiàn)錯(cuò)誤,以及所有主要功能都能通過(guò)測(cè)試。 | |
測(cè)試安裝在客戶(hù)端計(jì)算機(jī)上的所有文件的版本(包括代碼和內(nèi)容)都正確。 | |
測(cè)試可以卸載應(yīng)用程序并測(cè)試清理的驗(yàn)證。 | |
在安裝中驗(yàn)證文件的命名標(biāo)準(zhǔn)。 | |
驗(yàn)證安裝程序在遇到錯(cuò)誤情況(例如磁盤(pán)空間不足)時(shí)可以正常退出。 | |
在安裝過(guò)程中驗(yàn)證注冊(cè)表項(xiàng),以及在卸載過(guò)程中驗(yàn)證注冊(cè)表的清理。 | |
執(zhí)行全新的計(jì)算機(jī)安裝。這臺(tái)計(jì)算機(jī)帶有新安裝的操作系統(tǒng)和少量必需的已安裝組件。 | |
測(cè)試具有不同軟件配置的計(jì)算機(jī)上的安裝。 | |
測(cè)試安裝程序創(chuàng)建了正確的 Start 菜單項(xiàng)。 | |
測(cè)試安裝程序?qū)⑽募糜谡_的文件夾中。 | |
測(cè)試程序集是否在部署服務(wù)器上進(jìn)行加密和數(shù)字簽名,并在客戶(hù)端下載時(shí)進(jìn)行驗(yàn)證。 |