?? 周二的時候與一位朋友交流時膊畴,朋友向我知不知道《測試計劃書》應(yīng)該怎么寫澄者,我很驚訝:"網(wǎng)上應(yīng)該有很多啊,結(jié)合自己的實際情況寫一篇就好了."只是朋友很無奈的說網(wǎng)上很多,要么就是一成不變的模版,要么就是滿幅的長篇大論,有借鑒意義,但對于寫,作用不大.由于驚嘆于朋友所說,抱著"負(fù)責(zé)任"的態(tài)度,搜索了一下,令人失望的是真如朋友所說.相信也會有很多的PM朋友在工作中也會遇到類似問題,畢竟我們有那么多文檔要寫,有鑒于此區(qū)區(qū)利用業(yè)余時間簡單整理了一份《測試計劃書》特此拿出來與大家分享
測試計劃
一、目的
在軟件程序中往往存在著許多預(yù)料不到的問題扶认,可能會被疏漏侨拦,許多隱藏的錯誤只有在特定的環(huán)境下才可能暴露出來。如果不把著眼點放在盡可能查找錯誤這樣一個基礎(chǔ)上辐宾,這些隱藏的錯誤和缺陷就很難被查出來狱从,會遺留到運行階段中去。站在用戶的角度我們希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷叠纹,并進(jìn)行修復(fù)矫夯,從而為用戶提供好的產(chǎn)品;同時經(jīng)過測試發(fā)現(xiàn)系統(tǒng)中的漏洞吊洼,為公司的運營以及后期維護(hù)降低成本
二、背景
根據(jù)自己的項目實際情況填寫就好
三制肮、測試摘要
測試是程序的執(zhí)行過程冒窍,目的在于發(fā)現(xiàn)錯誤递沪,一個好的測試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤;而一個成功的測試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯誤的測試综液。在整個測試環(huán)節(jié)中會因為環(huán)境款慨、人員以及需求的變更從而導(dǎo)致相應(yīng)的風(fēng)險,對于所有可以導(dǎo)致的風(fēng)險羅列如下:
1業(yè)務(wù)不熟:測試人員對被測系統(tǒng)的業(yè)務(wù)流程不熟悉谬莹,體現(xiàn)在對需求的理解上把握不準(zhǔn)檩奠、理解不透側(cè)、理解錯誤等附帽。
2定位效應(yīng):測試過的可靠的功能埠戳,特別是在多次回歸且沒有發(fā)現(xiàn)問題,在此后往往會認(rèn)為此功能是可靠的蕉扮。
3疲態(tài):某一些功能點一直由某一位測試人員測試整胃,經(jīng)過多次回歸后,測試人員對該功能點的測試顯示出倦意和缺乏興趣喳钟。
4同化效應(yīng):經(jīng)過和開發(fā)的長時間接觸屁使,往往會被開發(fā)的思維邏輯所同化,漸漸喪失從用戶角度出發(fā)的測試觀察點奔则。
5測試用例/數(shù)據(jù)設(shè)計不充分:某些時候由于編寫測試人員的個人因素或時間的
限制等方面因素導(dǎo)致蛮寂。
6錯誤或缺失測試方法:對功能點沒有采用正確的測試方法,或某些測試方法被忽視易茬,如邊界測試等酬蹋,導(dǎo)致測試不充分。
7測試用例實施不充分:測試用例由于各種原因沒有完全測試疾呻,如在回歸測試中除嘹。
四、測試范圍
1. 功能測試
1.1基本功能模塊測試
根據(jù)《開發(fā)需求說明手冊》分析各個功能模塊岸蜗。針對各個功能模塊進(jìn)行功能的測試尉咕。
2 WEB功能測試
2.1鏈接測試
鏈接測試的內(nèi)容:
測試所有鏈接是否按指示的那樣確實鏈接到了應(yīng)該鏈接的頁面;
測試所鏈接的頁面是否存在璃岳;
保證Web 網(wǎng)站上沒有孤立的頁面年缎。所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL 地址才能訪問铃慷。
鏈接測試可以手動進(jìn)行单芜,也可以自動進(jìn)行。
鏈接測試必須在集成測試階段完成犁柜,也就是說洲鸠,在整個Web 網(wǎng)站的所有頁面開發(fā)完成之后進(jìn)行鏈接測試。
主要測試網(wǎng)站的鏈接是否正常,其中包括測試鏈接頁面的正確性扒腕、頁面是否存在绢淀、是否存在孤立頁面。
2.2表單測試
表單就是一些需要在線顯示和填寫的表格瘾腰。
表單有一些標(biāo)準(zhǔn)操作皆的,如確認(rèn)、保存蹋盆、提交等费薄。
主要測試表單的正確性和規(guī)范性,是否適合常用表單的使用習(xí)慣栖雾。
主要測試方法為:邊界值測試楞抡、等價類測試,以及異常類測試岩灭。
2.3 Cookies測試
測試內(nèi)容
Cookies是否能正常工作拌倍;
Cookies是否按預(yù)定的時間進(jìn)行保存;
刷新對Cookies 有什么影響等噪径。
2.4設(shè)計語言測試
測試的語言柱恤,除了HTML 的版本問題外,不同的腳本語言找爱,例如使用Java梗顺、JavaScript、ActiveX车摄、VBScript或Perl 等開發(fā)的應(yīng)用程序也要在不同的版本上進(jìn)行驗證寺谤。
2.5數(shù)據(jù)庫測試
數(shù)據(jù)校驗
根據(jù)業(yè)務(wù)規(guī)則,需要對用戶輸入進(jìn)行校驗吮播,則要保證這些校驗功能正常工作变屁。
一般測試數(shù)據(jù)的一致性錯誤和輸出錯誤。數(shù)據(jù)一致性錯誤主要是由于用戶提交的表單信息不正確而造成的意狠,而輸出錯誤主要是由于網(wǎng)絡(luò)速度或程序設(shè)計問題等引起的粟关,針對這兩種情況,可分別進(jìn)行測試环戈。再就是數(shù)據(jù)的安全性測試闷板,一般采用SQL注入的方法。
3. 可用性測試
可用性/易用性方面的測試一般采用手工測試的方法進(jìn)行評判院塞。
3.1導(dǎo)航測試
導(dǎo)航測試的內(nèi)容:
測試網(wǎng)站的導(dǎo)航能力是否良好遮晚,比如頁面結(jié)構(gòu)、導(dǎo)航拦止、菜單县遣、連接等是否良好。
常采用手工對網(wǎng)頁進(jìn)行瀏覽、根據(jù)一般用戶的瀏覽習(xí)慣來進(jìn)行評判艺玲。
一般此過程讓最終用戶參與這種測試括蝠,效果將更加明顯。
導(dǎo)航是否直觀饭聚?
Web 系統(tǒng)的主要部分是否可以通過主頁訪問?
Web系統(tǒng)是否需要站點地圖搁拙、搜索引擎或其他的導(dǎo)航器幫助秒梳?
測試Web 系統(tǒng)的頁面結(jié)構(gòu);
導(dǎo)航條箕速、菜單酪碘、連接的風(fēng)格是否一致?
各種提示是否準(zhǔn)確盐茎,確保用戶憑直覺就知道是否還有內(nèi)容兴垦,內(nèi)容在什么地方。
最好讓最終用戶參與導(dǎo)航測試字柠,效果將更加明顯探越。
3.2圖形測試
圖形測試的內(nèi)容:
(1)?要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起窑业,以免浪費傳輸時間钦幔。圖片尺寸要盡量地小,并且要能清楚地說明某件事情常柄。
(2)?驗證所有頁面字體的風(fēng)格是否一致鲤氢。
(3)?背景顏色應(yīng)該與字體顏色和前景顏色相搭配。
(4)?圖片的大小和質(zhì)量也是一個很重要的因素西潘,一般采用JPG 或GIF 壓縮卷玉。
常采用手工測試。
3.3內(nèi)容測試
內(nèi)容測試用來檢驗web網(wǎng)站系統(tǒng)提供信息的正確性喷市、準(zhǔn)確性和相關(guān)性相种。如文字標(biāo)題是否與文字內(nèi)容符合,是否存在不需要的文字东抹。
常采用界面瀏覽的方式蚂子。
3.4整體界面測試
測試整個網(wǎng)站系統(tǒng)的頁面結(jié)構(gòu)設(shè)計是否符合用戶需求規(guī)范,是否給用戶的一個整體感缭黔。
一般常采用界面瀏覽的方式食茎,最好是有最終用戶的參與。
例如馏谨,當(dāng)用戶瀏覽Web 網(wǎng)站時别渔,應(yīng)考慮
是否感到舒適?是否憑直覺就知道要找的信息在什么地方?整個Web 應(yīng)用系統(tǒng)的設(shè)計風(fēng)格是否一致哎媚?
4.安全性測試
4.1登錄驗證
網(wǎng)站系統(tǒng)基本采用先注冊喇伯,后登陸的方式。因此拨与,必須測試有效和無效的用戶名和密碼稻据,要注意到是否大小寫敏感,可以試多少次的限制买喧,是否可以不登陸而直接瀏覽某個頁面等捻悯。
4.2緩沖區(qū)溢出
溢出攻擊是通過溢出來控制計算機(jī)的指令序列,讓計算機(jī)執(zhí)行自己的惡意代碼淤毛,是利用緩沖區(qū)溢出漏洞所進(jìn)行的攻擊行動今缚。緩沖區(qū)溢出是一種非常普遍、非常危險的漏洞低淡。
4.3日志文件
為了保證網(wǎng)站系統(tǒng)的安全性姓言,日志文件是至關(guān)重要的。需要測試相關(guān)信息是否寫進(jìn)了日志文件蔗蹋、是否可追蹤何荚。
4.4安全漏洞(待定)
服務(wù)器端的腳本常常構(gòu)成安全漏洞,這些漏洞又常常被黑客利用纸颜。所以兽泣,還要測試沒有經(jīng)過授權(quán),就不能在服務(wù)器端放置和編輯腳本的問題胁孙。
4.5跨站式腳本攻擊(XSS)
跨站腳本攻擊是指攻擊者編寫惡意腳本利用網(wǎng)站漏洞從用戶那里惡意盜取信息唠倦。
5. 配置和兼容性測試
5.1平臺測試
平臺測試就是要測試兼容性問題:
同一個應(yīng)用可能在某些操作系統(tǒng)下能正常運行涮较,但在另外的操作系統(tǒng)下可能會運行失敗。
因此狂票,需要在各種操作系統(tǒng)下對Web 系統(tǒng)進(jìn)行兼容性測試。
5.2瀏覽器測試
使用不同的瀏覽器對網(wǎng)站進(jìn)行瀏覽測試闺属,查看網(wǎng)站在不同瀏覽器中的兼容性問題。
瀏覽器是Web系統(tǒng)客戶端最核心的軟件掂器,來自不同廠商的瀏覽器對JavaScript、ActiveX国瓮、plug-ins或不同的HTML 有不同的支持狞谱。
另外,框架和層次結(jié)構(gòu)風(fēng)格在不同的瀏覽器中也有不同的顯示跟衅,甚至根本不能顯示。不同的瀏覽器對安全性和設(shè)置也不一樣伶跷。
5.3分辨率測試
對屏幕的分辨率進(jìn)行調(diào)節(jié)來查看網(wǎng)站在不同分辨率下的顯示效果,比如秘狞;分辨率低時界面文字顯示太大撩穿,而
分辨率高時又有些文字顯示時太小。
頁面版式在640x400谒撼、600x800 或1024x768 的
分辨率模式下是否顯示正常?
5.4 連接速率測試
用戶在下載文章或演示的時候,可能會等待比較長的時間雾狈,但卻不會耐心等待首頁的出現(xiàn)廓潜。需要對鏈接速度進(jìn)行測試。
五善榛、測試的目標(biāo)與原則
測試的目標(biāo)是要以最少的時間和人力找出軟件中潛在的各種錯誤和缺陷辩蛋。如果成功地實施了測試,就能夠發(fā)現(xiàn)軟件中的錯誤移盆。測試的附帶收獲是悼院,它能夠證明軟件的功能和性能與需求說明相符。此外咒循,實施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)据途。因此測試中需要明確的目標(biāo)與原則如下:
1確保產(chǎn)品滿足性能和效率的要求
2確保產(chǎn)品是健壯的和適應(yīng)用戶環(huán)境的
3測試的原則---Good?Enough
4程序員應(yīng)避免檢查自己的程序。
5在設(shè)計測試用例時叙甸,應(yīng)當(dāng)包括合理的輸入條件和不合理的輸入條件颖医。
6充分注意測試中的群集現(xiàn)象。
7嚴(yán)格執(zhí)行測試計劃裆蒸,排除測試的隨意性熔萧。
8應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查。
9妥善保存測試計劃僚祷,測試用例佛致,出錯統(tǒng)計和最終分析報告,為維護(hù)提供方便辙谜。
六俺榆、測試提交文檔
《產(chǎn)品錯誤代碼說明文檔》、《測試報告》筷弦、《功能測試方案(報告)》肋演、《測試用例》抑诸、《總體測試方案》(可根據(jù)項目情況進(jìn)行裁剪,不同文檔需需要明確備注時間與日期)
七爹殊、測試質(zhì)量目標(biāo)
測試質(zhì)量目標(biāo)
確認(rèn)者
所有的測試案例已經(jīng)執(zhí)行過
所有的功能測試已經(jīng)執(zhí)行通過
所有的重要等級為1/2的bug已經(jīng)解決并已測試驗證
每一部分的測試已經(jīng)被負(fù)責(zé)人驗證完成
重要的功能不允許有等級為1/2/3的bug
一般的功能或與最終使用者不直接聯(lián)系的功能不允許有超過1/2的bug
部分輕量的功能可以有等級錯誤
發(fā)現(xiàn)錯誤等級的bug正在下將并接近0
在截止日內(nèi)沒有發(fā)現(xiàn)錯誤等級為1/2的bug
七蜕乡、測試環(huán)境
1、機(jī)型(配置)
平臺 ? ? ? ? ?機(jī)型(配置) ? ? ? ? ? ? ?Ip地址 ? ? ? ??用途及說明 ? ? ? ? ??軟件及版本 ? ? ? ?預(yù)計空間
2梗夸、軟件測試環(huán)境
軟件需求 ? ? ? ? ? ? ? ? ?用途
3測試工具
測試工具 ? ? ? ? ? ? ? ? ?用途
八层玲、測試策略
測試人員在部署完環(huán)境,明確需求后辛块,開始著手進(jìn)行測試工作润绵,并進(jìn)行需求review胞谈、設(shè)計review、測試案例設(shè)計卿捎、執(zhí)行測試午阵。產(chǎn)品達(dá)到軟件產(chǎn)品質(zhì)量要求和測試要求后進(jìn)行下一個測試環(huán)節(jié)享扔,并提交相關(guān)的測試文檔。
1戚啥、測試類型
測試類型 ? ? ? ? ? ??是否采用 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??說明
功能測試 ? ? ? ? ? ? ? ?采用 ? ? ? ? ? ?根據(jù)系統(tǒng)需求文檔和設(shè)計文檔猫十,檢查產(chǎn)品是否正確實現(xiàn)了功能拖云。
流程測試 ? ? ? ? ? ? ? ?采用 ? ? ? ? ? ?按操作流程進(jìn)行的測試应又,主要有業(yè)務(wù)流程、數(shù)據(jù)流程尤筐、邏輯流程、正反流程盆繁,檢查軟件在按流程操作時是否能夠正確處理
邊界值測試 ? ? ? ? ? ??采用 ? ? ? ? ? ?選擇邊界數(shù)據(jù)進(jìn)行測試油昂,確保系統(tǒng)功能正常,程序無異常拦惋。
容錯性測試 ? ? ? ? ? ??采用 ? ? ? ? ? ?檢查系統(tǒng)的容錯能力厕妖,錯誤的數(shù)據(jù)輸入不會對功能和系統(tǒng)產(chǎn)生非正常的影響挑庶,且程序?qū)﹀e誤的輸入有正確的提示信息
異常測試 ? ? ? ? ? ? ? ?采用 ? ? ? ? ? ? ?檢查系統(tǒng)能否處理異常
啟動停止測試 ? ? ? ??采用 ? ? ? ? ? ??檢查每個模塊能否正常啟動停止挠羔、異常停止后能否正常啟動
易用性測試 ? ? ? ? ? ??采用 ? ? ? ? ? ??檢查系統(tǒng)是否易用友好
界面測試 ? ? ? ? ? ? ? ??采用 ? ? ? ? ? ??檢查界面是否美觀合理
接口測試 ? ? ? ? ? ? ? ??采用 ? ? ? ? ? ?檢查系統(tǒng)能否與外部接口正常工作
配置測試 ? ? ? ? ? ? ? ??采用 ? ? ? ? ? ?檢查配置是否合理破加、配置是否正常
兼容性測試 ? ? ? ? ? ??采用 ? ? ? ? ? ?對于B/S架構(gòu)的系統(tǒng)來說需要考慮用戶端瀏覽器的版本范舀。锭环。
文擋測試 ? ? ? ? ? ? ? ??采用 ? ? ? ? ??檢查文檔是否足夠泊藕、描述是否合理
回歸測試 ? ? ? ? ? ? ? ??采用 ? ? ? ? ??檢查程序修改后有沒有引起新的錯誤、是否能夠正常工作以及能否滿足系統(tǒng)的需求
2測試技術(shù)
測試技術(shù) ? ? ? ? ? ??是否采用 ? ? ? ? ? ? ??說明
編寫測試用例 ? ? ? ?采用 ? ? ? ? ??在產(chǎn)品編碼階段編寫測試用例
單元測試 ? ? ? ? ? ? ??采用 ? ? ? ? ??根據(jù)需要對相應(yīng)單元進(jìn)行測試
確認(rèn)測試 ? ? ? ? ? ? ??采用 ? ? ? ? ? 對照feature list 進(jìn)行基本需求的確認(rèn)玫锋,確認(rèn)產(chǎn)品是否正確實現(xiàn)了功能撩鹿。
驗收測試 ? ? ? ? ? ? ??采用 ? ? ? ? ? ?對測試修復(fù)后進(jìn)行驗收
九节沦、測試計劃
1、測試時間進(jìn)度
測試階段 ? ? ? ? ?開始時間 ? ? ? ? ? ? ? ? ?完成時間 ? ? ? ? ? ??測試人員 ? ? ? ? ? ?階段完成標(biāo)志
設(shè)計測試用例
通過審核
測試環(huán)境準(zhǔn)備
部署完成
功能測試
完成指標(biāo)
集成測試
完成指標(biāo)
系統(tǒng)測試
完成指標(biāo)
驗收測試
完成指標(biāo)
文檔編寫
建檔備案
十甫贯、測試實施任務(wù)和時間安排
測試功能 ? ? ? ??開始時間 ? ? ? ??完成時間 ? ? ? ? ?測試人員 ? ? ? ? ?說明
可用性測試
流程測試
功能測試
安全性測試
兼容性測試
Web功能測試
界面測試
配置測試
當(dāng)然這份測試計劃中的內(nèi)容也不是特別全获搏,一部分自動化的測試內(nèi)容沒有涉及到常熙,但只要根據(jù)相應(yīng)需要測試的內(nèi)容真寫上就可以了。
當(dāng)然關(guān)于自動化測試的內(nèi)容可以通過關(guān)注公眾號仿贬;PM產(chǎn)品之顛來獲取茧泪,當(dāng)然我也會持續(xù)更新聋袋。