前文說過了測試計劃的編寫要點和計劃文檔的內(nèi)容構(gòu)成。本篇來介紹另一個測試工作中的重要文檔 - 測試方案。也有稱作測試策略文檔。
測試計劃和測試方案的區(qū)別
有時候大家可能會把測試方案和測試計劃看作一份文檔。確實,從內(nèi)容上看,兩者有一些重復(fù)的部分,而且測試計劃中也會包含測試策略。但兩者的作用是完全不同的。
- 測試計劃:是軟件研發(fā)過程中測試工作的指導(dǎo)性文件,總體考慮測試過程中的各項要素。
- 測試方案:是針對產(chǎn)品如何開展測試的手段和方法的總體設(shè)計。
對于有的不是非常復(fù)雜的軟件項目,測試方案也會直接體現(xiàn)在測試計劃中,而不會單獨
編寫一份獨立的文檔
主要區(qū)別如下表:
| 對比項 | 測試計劃 | 測試方案 |
|---|---|---|
| 文檔類型 | 項目組織性的文檔 | 產(chǎn)品技術(shù)性文檔 |
| 作用 | 指導(dǎo)測試工作"做什么" | 說明測試工作"怎么做" |
| 編寫階段 | 計劃階段,需求確認后 | 設(shè)計階段,測試計劃完成 |
| 編寫輸入 | 項目計劃、需求文檔 | 需求文檔、軟件概要設(shè)計 |
| 撰寫人 | 測試負責人 | 主測人員 |
測試方案的主要內(nèi)容
測試方案作為單獨文檔存在時,主要包含的內(nèi)容如下(有些內(nèi)容和測試計劃重復(fù),本篇就不再詳細介紹):
文檔信息
本部分和測試計劃類似,不贅述
引言
本部分和測試計劃的總體介紹部分作用基本類似。主要包含的內(nèi)容:
- 編寫目的
- 項目背景
- 測試目標
- 參考文檔
- 輸出文檔清單
- 術(shù)語、縮略語對照表
配置要求
這部分是對執(zhí)行測試需要的相關(guān)配置的詳細說明,如環(huán)境的配置要求。一般以表格形式,如:
| 配置項 | 配置要求 |
|---|---|
| 操作系統(tǒng) | 版本要求... |
| 服務(wù)器配置 | 型號,數(shù)量,CPU、MEM、Disk... |
| 網(wǎng)絡(luò)要求 | |
| 瀏覽器配置 | 型號、版本 |
| 移動設(shè)備要求 | 型號、系統(tǒng)版本、分辨率等 |
對于復(fù)雜的測試環(huán)境,還需要說明環(huán)境拓撲圖。
測試范圍
這里參照測試計劃中的測試范圍。主要是列明In Scope的部分,因為后續(xù)的具體測試策略主要是跟待測內(nèi)容相關(guān)。
測試方法和工具
總體說明在本次測試中采用到的測試方法,以及主要應(yīng)用場景。比如黑盒測試、白盒測試、等價類法、因果圖法、錯誤推定法、邊界值分析法等。
工具部分則說明需要準備的測試工具,自動化測試框架等。
測試數(shù)據(jù)
說明測試過程中需要準備的測試數(shù)據(jù)要求,數(shù)據(jù)來源和數(shù)據(jù)產(chǎn)生方案。
測試類型和策略
這部分是測試方案文檔的重點內(nèi)容。這里建議將本軟件產(chǎn)品相關(guān)的測試類型都列出,不牽涉的可以說明本次測試不涉及,但相關(guān)小節(jié)最好保留(好處是避免了測試方案編寫的內(nèi)容遺漏)。
對于每一個測試類型,均需考慮對應(yīng)的測試范圍、測試目的、優(yōu)先級、使用的技術(shù)、方法、工具、測試要點(可使用表格)
功能測試
重點驗證版本中需要重點驗證的功能特性。 一般關(guān)注以下要點:
- 功能錯誤或遺漏: 這個就是說需要提供給用戶的功能出現(xiàn)了錯誤或者出現(xiàn)了遺漏。舉個夸張點的例子,比如一個聊天類的軟件,做出來以后,發(fā)消息的功能失效或者根本就沒有。
- 界面問題: 這個在軟件缺陷的清單中絕對是一個占比很大的問題。包括系統(tǒng)界面上各種控件的位置、顯示、交互等方面的問題
- 數(shù)據(jù)結(jié)構(gòu)及訪問性錯誤: 不能正常獲取到正確的數(shù)據(jù)
- 性能錯誤: 這里的性能錯誤一般指的是軟件本身的性能問題,而不是類似大量用戶并發(fā)訪問導(dǎo)致的問題。比如大數(shù)據(jù)量加載導(dǎo)致的問題
- 初始化及終止錯誤: 一般指軟件啟動和退出過程中出現(xiàn)的問題。
性能測試
根據(jù)項目的性能需求確認需要執(zhí)行的測試內(nèi)容。
- 負載測試:確定負載性能是否滿足需求要求
- 容量測試:確認系統(tǒng)能承載的最大容量,一般以后臺監(jiān)控指標達到警戒線為準
- 壓力測試:確定系統(tǒng)的極限承壓能力,一般壓到系統(tǒng)崩潰,無法正常提供服務(wù)
- 穩(wěn)定測試:以稍高于正常流量的負載對系統(tǒng)持續(xù)施壓,觀測系統(tǒng)長時間可用性的能力。施壓期限一般524或724 以需求為準
性能測試一般都需要借助一定的測試工具來執(zhí)行,目前主流的測試工具一般有:LoadRunner,Jmeter,Locust等
兼容性測試
兼容性測試主要是看軟件產(chǎn)品的兼容情況,這里又分多個維度:
- 平臺兼容性:比如是否兼容不同的系統(tǒng)平臺,包括操作系統(tǒng)版本、中間件版本這些。
- 硬件兼容性:對不同硬件設(shè)備的兼容,如軟件運行在64位、32位設(shè)備上,小型機、PCserver、普通PC,甚至平板,手機、電視盒子等等
- 軟件自兼容性:軟件產(chǎn)品本身的前向兼容,后發(fā)的版本一般需要兼容歷史版本
- 軟件互操作兼容:這個維度比較特殊,很多軟件產(chǎn)品存在家族產(chǎn)品,那么跟自己家族的其他產(chǎn)品不產(chǎn)生互斥就很重要。甚至對一些主流地位的常用軟件的兼容也是重點需要驗證的部分
- 瀏覽器兼容:對于web類的軟件產(chǎn)品,瀏覽器兼容也是個重要的測試類別。因為目前常用的瀏覽器存在多種不同內(nèi)核,常常因此產(chǎn)生兼容性問題
文檔測試
文檔測試重點針對產(chǎn)品的附加文檔類功能進行測試。測試要點包括:
- 完整性,文檔的內(nèi)容是否齊全,有無內(nèi)容遺漏
- 正確性,文檔編寫有無錯誤,除內(nèi)容外,還包括格式、語法、拼寫都是檢查重點。
- 一致性,文檔中相同的內(nèi)容,前后是否存在不一致甚至矛盾的地方
- 易理解性,主要是看文檔是否能讓人比較容易讀懂。典型的,一些技術(shù)類文檔中,喜歡用大量的縮略語,這個如果沒有說明,不是非常內(nèi)行的人是很難搞清楚的
- 易瀏覽性,這個則主要是文檔結(jié)構(gòu)了。比如文檔的內(nèi)容經(jīng)常跳轉(zhuǎn),再比如文檔中嵌有很長的表格,但表頭又不跟頁,瀏覽起來就很不方便。
安裝部署測試
安裝和部署重點考慮:
如果軟件是有不同平臺下運行的要求,則我們再不同平臺下都需要分別進行驗證。
參照部署文檔,確定我們安裝過程的合理和正確性??紤]安裝過程中對一些異常情況如網(wǎng)絡(luò)中斷、存儲空間不足,不同的組網(wǎng)拓撲結(jié)構(gòu)等。
基于不同數(shù)據(jù)樣本的安裝部署
安全測試
安全測試區(qū)別于滲透測試,安全測試重點在于確認系統(tǒng)的防御能力。滲透測試的目的是攻破目標系統(tǒng)以證明系統(tǒng)安全問題。
安全測試需要一定的專業(yè)能力,可以參考OWASP的安全測試白皮書進行參考。
本地化測試
本地化測試一般是針對我們的軟件產(chǎn)品存在不同地區(qū)的差異化版本要求時的測試。測試要點包括:
- 語言: 語言的語義翻譯、翻譯的字段長度、不同語言的書寫習(xí)慣(如阿拉伯語從右向左)等對軟件界面的影響。
- 本地化格式:貨幣單位、日期、分隔符
- 當?shù)仫L俗和法規(guī):這個一般需要合規(guī)部門參與提供建議,考慮到當?shù)氐娘L俗。
- 政治敏感內(nèi)容:同上,一些政治性的敏感內(nèi)容,典型的如一些爭議地區(qū)的歸屬劃分等。
可靠性測試
確認軟件產(chǎn)品在一些異常情況下的可靠性。比如高可用,一些災(zāi)害場景和極端情況如斷電斷網(wǎng)情況的軟件可靠性。
測試資源
說明參與測試的人員分配和職責。參照測試計劃
通過標準
說明版本測試通過的標準,參照測試計劃的準出
測試用例
一般以附件文檔或路徑的方式存在。列出測試執(zhí)行中使用的用例
補充說明
這是個容易忽略但其實非常重要的章節(jié)。主要闡述在后續(xù)測試流程及測試過程中需要重點關(guān)注的注意事項。如:
本版本測試存在版本遷移場景,需要重點驗證數(shù)據(jù)遷移腳本和文件遷移的有效性。需要提前準備遷移數(shù)據(jù)樣例集
本版本后端技術(shù)架構(gòu)存在重大重構(gòu),關(guān)聯(lián)影響模塊和范圍需要開發(fā)團隊出具驗證方案
附錄
列出文檔中引用的其他參考文檔和附屬內(nèi)容
以上就是編寫軟件測試方案的主要考慮的內(nèi)容。遵循一定的方案設(shè)計思路,可以使制定測試策略時更為全面,避免遺漏,為后續(xù)的測試細節(jié)設(shè)計提供更好的指導(dǎo)。