前言:
測試計(jì)劃Testing plan止潘,描述了要進(jìn)行的測試活動的范圍、方法辫诅、資源和進(jìn)度的文檔凭戴;是對整個(gè)信息系統(tǒng)應(yīng)用軟件組裝測試和確認(rèn)測試。它確定測試項(xiàng)炕矮、被測特性么夫、測試任務(wù)者冤、誰執(zhí)行任務(wù)、各種可能的風(fēng)險(xiǎn)档痪。測試計(jì)劃可以有效預(yù)防計(jì)劃的風(fēng)險(xiǎn)涉枫,保障計(jì)劃的順利實(shí)施。
一腐螟、測試計(jì)劃的內(nèi)容
1愿汰、測試范圍
明確測什么?比如:產(chǎn)品的具體業(yè)務(wù)需求有哪些遭垛?產(chǎn)品是web端的還是移動端的尼桶,還是兩者都有?
2锯仪、測試策略
明確怎么測。對不同業(yè)務(wù)需求趾盐,具體要有哪些測試類型庶喜、測試場景、測試方法救鲤。
3久窟、資源安排
包括測試人員的安排,測試環(huán)境是怎樣的本缠,測試工具的選擇等斥扛。
4、進(jìn)度安排
在明確測試范圍丹锹、方法和人員之后稀颁,我們要考慮什么時(shí)候開始測試,預(yù)計(jì)要測試多久楣黍?以便和開發(fā)計(jì)劃匾灶、上線計(jì)劃銜接。
5租漂、發(fā)布標(biāo)準(zhǔn)
發(fā)布標(biāo)準(zhǔn)是測試完成和產(chǎn)品上線需要滿足的條件阶女,以便項(xiàng)目內(nèi)所有角色都有一致認(rèn)可的目標(biāo)。怎樣才算是測完了哩治?達(dá)到怎樣的標(biāo)準(zhǔn)才可以上線秃踩?
6、風(fēng)險(xiǎn)預(yù)防
最后业筏,我們需要對整個(gè)測試過程中可能存在的風(fēng)險(xiǎn)憔杨,以及當(dāng)這些風(fēng)險(xiǎn)發(fā)生時(shí)的應(yīng)對措施提前進(jìn)行一些考慮和準(zhǔn)備,并在測試計(jì)劃中體現(xiàn)出來驾孔。
二芍秆、測試范圍
測試范圍的確定來自于需求文檔惯疙,依據(jù)是項(xiàng)目的交互稿和需求分析結(jié)果
1、功能測試范圍的分析
功能點(diǎn)的拆分妖啥、接口測試霉颠、UI測試
2、系統(tǒng)測試范圍的分析
(1).容錯(cuò)處理荆虱。如斷網(wǎng)蒿偎、業(yè)務(wù)處理過程中斷等
(2).兼容性要求
(3).配置要求
(4).性能要求
(5).安全性要求
(6).可靠性、日志文件
三怀读、測試策略
為了更好確定軟件測試策略诉位,可以問如下一些問題:
(1).回歸測試的范圍如何確定?
(2).如何利用可重復(fù)性的測試菜枷?
(3).測試缺乏可預(yù)見性苍糠,如何收集衡量測試結(jié)果的指標(biāo)?
(4).如何建立穩(wěn)定的啤誊、模擬系統(tǒng)實(shí)際運(yùn)行的測試環(huán)境岳瞭?
(5).如何從無窮的輸入數(shù)據(jù)中選擇合理的、有效的測試數(shù)據(jù)集蚊锹?
(6).如何衡量這份測試策略的有效性瞳筏?
1、基于測試技術(shù)的測試策略
(1).任何情況下都要使用邊界值分析方法
(2).等價(jià)類劃分法是對邊界值分析方法的有效補(bǔ)充
(3).如果功能的輸入數(shù)據(jù)/條件存在多種組合情況牡昆,則使用因果圖
(4).錯(cuò)誤推測法
(5).對照程序邏輯來審查已有測試用例的邏輯覆蓋程度
(6).白盒測試
2姚炕、分階段的測試策略
(1).嚴(yán)格執(zhí)行代碼審查
(2).單元測試和集成測試,準(zhǔn)備自動化測試
(3).系統(tǒng)測試中丢烘,以每次發(fā)布用戶基線為結(jié)束標(biāo)志
(4).不能忽略安全性測試柱宦、可用性測試、配置測試和數(shù)據(jù)完整性測試
(5).在功能測試铅协、安全性測試捷沸、配置測試中進(jìn)行探索性測試
3、基于測試方案的綜合測試策略
(1).測試優(yōu)先級狐史,優(yōu)先級越高痒给,越早測試,測試力度越大
(2).使用盡可能少的測試用例骏全,發(fā)現(xiàn)盡可能多的程序錯(cuò)誤
(3).測試策略盡量簡單苍柏、清晰
(4).基于缺陷分析的測試策略
四、資源安排
測試人力資源包含兩個(gè)維度:
1姜贡、測試人員數(shù)量
2试吁、測試人員經(jīng)驗(yàn)、能力。
環(huán)境資源一般包括:
1熄捍、測試服環(huán)境(盡量與線上環(huán)境保持一致)
2烛恤、終端環(huán)境(PC配置,手機(jī)型號)
3余耽、測試工具(bug管理工具缚柏,用例管理工具,性能測試工具等)
在我們的測試計(jì)劃中碟贾,測試人員分配币喧、測試環(huán)境資源、網(wǎng)絡(luò)資源袱耽、工具使用都要明確寫出來杀餐。
五、進(jìn)度安排
測試工作的進(jìn)度安排依賴于開發(fā)工作的節(jié)點(diǎn)和提交測試進(jìn)度的時(shí)間朱巨,并且直接影響預(yù)期的上線時(shí)間史翘。所以我們需要根據(jù)產(chǎn)品業(yè)務(wù)的復(fù)雜度、所需要進(jìn)行的不同的測試類型的復(fù)雜度冀续、產(chǎn)品上線的質(zhì)量要求的高低恶座、測試人員的數(shù)量、能力和經(jīng)驗(yàn)這些因素沥阳,來評估不同階段、不同類型的測試工作的工作量自点。
可以用工作分解結(jié)構(gòu)表方法評估工作量:
1桐罕、列出本項(xiàng)目需要完成的各項(xiàng)任務(wù)
2、細(xì)化每個(gè)任務(wù)桂敛,尤其是測試階段功炮,需要對模塊進(jìn)行拆分,拆分到可衡量和細(xì)化的維度
3术唬、預(yù)先設(shè)計(jì)測試點(diǎn)薪伏,按照測試點(diǎn)來估算
4、給每個(gè)維度估算時(shí)間粗仓,需要優(yōu)化和重復(fù)操作的部分
5嫁怀、在已估算結(jié)果上浮動10%-15%
六、發(fā)布標(biāo)準(zhǔn)
測試完成的標(biāo)準(zhǔn)借浊,也就是說做到什么樣算是測試工作做完了塘淑。主要包括:
1、測試計(jì)劃里所有測試類型都已經(jīng)完成了
2蚂斤、功能上存捺、兼容性上沒有影響用戶使用的Bug
3、允許遺留小部分影響不是很大的Bug曙蒸,但這個(gè)數(shù)量應(yīng)該小于一個(gè)值
4捌治、性能上符合設(shè)計(jì)目標(biāo)和上線要求 這些標(biāo)準(zhǔn)都是針對測試工作本身的要求岗钩。
在滿足了測試本身的前提下,產(chǎn)品要發(fā)布還需要滿足要求:
1肖油、產(chǎn)品需求都已完成
2兼吓、交互視覺走查都已完成
3、一流的小部分Bug項(xiàng)目組完成了風(fēng)險(xiǎn)評估构韵,都認(rèn)可且問題不大
4周蹭、產(chǎn)品使用說明或用戶手冊或更新log都已完備等等。
七疲恢、風(fēng)險(xiǎn)預(yù)防
測試風(fēng)險(xiǎn)分類:
1凶朗、測試范圍的風(fēng)險(xiǎn),比如說一開始測試需求分析不準(zhǔn)確显拳、不到位漏了測試點(diǎn)祸泪,甚至某個(gè)測試類型遺漏了,這樣問題就比較大了袒啼,所以測試需求分析是整個(gè)測試工作的基礎(chǔ)锉试,還有就是產(chǎn)品需求變更的風(fēng)險(xiǎn),加需求揍移、減需求次和、改需求都需要重新進(jìn)行測試需求分析,需要測得一定要測到那伐,不需要測的就不要浪費(fèi)人力物力和工作量踏施;
2、測試進(jìn)度的風(fēng)險(xiǎn)罕邀,比如說做計(jì)劃時(shí)工作量估計(jì)的不準(zhǔn)畅形,測試做著做著發(fā)現(xiàn)時(shí)間不夠?qū)е马?xiàng)目延期,還有測試依賴開發(fā)诉探,可能開發(fā)工作沒有按時(shí)完成或改bug不及時(shí)導(dǎo)致進(jìn)度延后日熬,還有可能測試人員因?yàn)閯e的項(xiàng)目更重要抽調(diào)走了或者請假、離職等原因造成人員變動肾胯;
3竖席、產(chǎn)品質(zhì)量的風(fēng)險(xiǎn),比如開發(fā)的代碼質(zhì)量比較低或者測試人員是新人對業(yè)務(wù)不熟悉阳液,能力和經(jīng)驗(yàn)有所欠缺等等怕敬。
測試風(fēng)險(xiǎn)的控制方法:
1、根據(jù)風(fēng)險(xiǎn)發(fā)生的概率和帶來的影響確定風(fēng)險(xiǎn)的優(yōu)先級帘皿,然后才去措施避免那些可以避免的風(fēng)險(xiǎn)东跪;
2、風(fēng)險(xiǎn)轉(zhuǎn)移,比如去掉新功能虽填,轉(zhuǎn)移風(fēng)險(xiǎn)丁恭;
3、不可避免的風(fēng)險(xiǎn)斋日,就設(shè)法降低風(fēng)險(xiǎn)牲览,如提高測試用例的覆蓋率;
4恶守、事先做好風(fēng)險(xiǎn)管理計(jì)劃第献,喜歡里程碑和驗(yàn)收管理;
5兔港、有一套應(yīng)急庸毫、有效的處理方法,比如全員了解衫樊,注意日常觀察飒赃,及時(shí)發(fā)現(xiàn)風(fēng)險(xiǎn)出現(xiàn)的征兆;
6科侈、做計(jì)劃時(shí)载佳,要留有余地
7、制定文檔標(biāo)準(zhǔn)臀栈。
以上蔫慧,測試計(jì)劃可以體現(xiàn)一個(gè)測試人員的自我修養(yǎng)。