相信大多數(shù)的軟件測試工程師都聽說過或者簡單了解過測試計(jì)劃,但是你真的知道什么是測試計(jì)劃么?你真的知道如何編寫測試計(jì)劃么癞松?
大多數(shù)人應(yīng)該是一臉茫然。
百度的結(jié)果五花八門入蛆,有沒有相對規(guī)范的標(biāo)準(zhǔn)呢响蓉?答案是沒有,至少我沒有找到哨毁。
那么今天我就結(jié)合經(jīng)驗(yàn)和對一些國內(nèi)技術(shù)前沿的公司跟大家聊一聊什么是測試計(jì)劃以及如何編寫測試計(jì)劃枫甲。
計(jì)劃的必要性
在我們?nèi)粘5墓ぷ骱蜕钪校?jīng)常需要做計(jì)劃扼褪。古人云:凡事預(yù)則立想幻,不預(yù)則廢(《禮記.中庸》),也就是強(qiáng)調(diào)預(yù)先計(jì)劃的重要性和必要性话浇。
我們做項(xiàng)目脏毯,項(xiàng)目需要定項(xiàng)目計(jì)劃;測試作為項(xiàng)目中的一部分幔崖,當(dāng)然也需要制定測試計(jì)劃食店。
- 測試計(jì)劃就像是我們寫論文一樣,首先做好提綱赏寇,才能一步一步的完善填充吉嫩,有了測試計(jì)劃就掌握了整個項(xiàng)目的進(jìn)度和方向,在工作中可以有個指導(dǎo)的作用嗅定,不至于偏離工作方向
- 測試計(jì)劃規(guī)定預(yù)期的目標(biāo)自娩,以什么樣的程度完成和在預(yù)期多久內(nèi)完成,這樣的規(guī)定能夠使工作人員做好心理準(zhǔn)備渠退,合理的期限和目標(biāo)能夠使工作人員不松懈忙迁,有效率的完成一個項(xiàng)目
- 計(jì)劃作為對未來工作的規(guī)劃,肯定會受到突發(fā)的或者不穩(wěn)定的因素影響而導(dǎo)致整個項(xiàng)目出現(xiàn)延期甚至無法進(jìn)行的結(jié)果智什。因此計(jì)劃中對于風(fēng)險(xiǎn)評估的必要性就在于羅列出影響整個項(xiàng)目進(jìn)行的因素动漾,并制定相應(yīng)緊急方案,將損失降至最小化荠锭。
- 人員的安排呈現(xiàn)合理化旱眯。任何一個項(xiàng)目內(nèi)的工作都有難易繁簡的劃分,因而才需要有專長的工程師進(jìn)行對應(yīng)的測試。難度較大的由資深測試人員安排删豺,難度小的由新進(jìn)實(shí)習(xí)生來進(jìn)行共虑,整個項(xiàng)目的進(jìn)行就會顯得合理化層次化條理化。同時將職責(zé)清晰地具體劃分到個人身上呀页,也有利于日后的糾錯妈拌,及時發(fā)現(xiàn)哪個環(huán)節(jié)出現(xiàn)問題。
- 測試計(jì)劃的制作是在需求分析完成之后所進(jìn)行蓬蝶,所以測試計(jì)劃的執(zhí)行在一定程度上也是對需求分析的進(jìn)一步的檢驗(yàn)尘分,若在制定過程中,發(fā)現(xiàn)有不合理的因素存在丸氛,還能及時反饋培愁,進(jìn)行調(diào)整,不至于使眾多的人力做了無用功缓窜。
- 測試計(jì)劃的安排也是一個項(xiàng)目中多個部門間合作的工作指導(dǎo)定续,一環(huán)扣一環(huán),工作的交接在時間上做好詳細(xì)的備注禾锤,才能讓部門的合作顯得默契私股。
一個測試計(jì)劃制定者的素養(yǎng)
- 有多年從事測試工作的經(jīng)驗(yàn),能夠條例清晰的羅列出測試中的流程和應(yīng)當(dāng)留心的步驟恩掷,以及不可缺少的風(fēng)險(xiǎn)規(guī)避的意識
- 對于部門的員工能力要有一定程度的了解倡鲸,才能合理的安排工作內(nèi)容
- 高壓下的冷靜處理能力,一旦項(xiàng)目出現(xiàn)突發(fā)的嚴(yán)重問題螃成,能夠冷靜找出出錯環(huán)節(jié)旦签。
- 人際溝通的能力,一個測試計(jì)劃也是有與其他部門之間的合作關(guān)系寸宏,需要與其保持及時有效的溝通,了解到他們的需求
那么我們什么時候來做測試計(jì)劃呢偿曙?
一般來說氮凝,在產(chǎn)品需求確認(rèn),做過測試需求分析之后我們就要開始編寫測試計(jì)劃望忆。當(dāng)然測試計(jì)劃編寫的工作要根據(jù)工作實(shí)際來決定罩阵,也就是具體情況具體分析(政治課學(xué)的哈~)
其實(shí),要想做好測試計(jì)劃必須有一定的測試經(jīng)驗(yàn)启摄。那么下面我就結(jié)合工作實(shí)際稿壁,跟大家聊一聊測試計(jì)劃的內(nèi)容。
測試計(jì)劃的內(nèi)容
- 測試范圍 明確測什么歉备?比如:產(chǎn)品的具體業(yè)務(wù)需求有哪些傅是?產(chǎn)品是web端的還是移動端的,還是兩者都有?
- 測試策略 明確怎么測喧笔。對不同業(yè)務(wù)需求帽驯,具體要有哪些測試類型、測試場景书闸、測試方法尼变。
- 資源安排 包括測試人員的安排,測試環(huán)境是怎樣的浆劲,測試工具的選擇等嫌术。
- 進(jìn)度安排 在明確測試范圍、方法和人員之后牌借,我們要考慮什么時候開始測試蛉威,預(yù)計(jì)要測試多久?以便和開發(fā)計(jì)劃走哺、上線計(jì)劃銜接蚯嫌。
- 發(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)才可以上線?
- 風(fēng)險(xiǎn)預(yù)防 最后晒旅,我們需要對整個測試過程中可能存在的風(fēng)險(xiǎn)栅盲,以及當(dāng)這些風(fēng)險(xiǎn)發(fā)生時的應(yīng)對措施提前進(jìn)行一些考慮和準(zhǔn)備,并在測試計(jì)劃中體現(xiàn)出來废恋。
我們把這些內(nèi)容模板化谈秫,形成測試計(jì)劃的模板。無論是在實(shí)際的工作中還是大家學(xué)習(xí)編寫測試計(jì)劃鱼鼓,都可以用這樣的模板來使用拟烫。
首先我們的依據(jù)是項(xiàng)目的交互稿和需求分析結(jié)果。
交互稿:
功能分析結(jié)果:
第一步我們來明確測試范圍
測試范圍的確定來自于需求文檔迄本,比如本次需求的目標(biāo):要求用戶可以成功參加課程硕淑。我們功能測試需求分析的結(jié)果為用戶成功參加課程,涉及到瀏覽課程嘉赎、參加課程置媳、學(xué)習(xí)課程三個模塊。
然后考慮兼容性測試公条、性能測試這些測試類型拇囊。我們把我們分析的結(jié)果填充到模板中的測試范圍這一節(jié)中,明確需要測試的也無需求和需要測試的測試類型靶橱。
接下來我們來寫測試策略的內(nèi)容
我們要根據(jù)不同的測試類型考慮不同的測試方法寥袭,對于功能測試路捧,我們根據(jù)需求分析的思維導(dǎo)圖和功能測試的測試用例覆蓋瀏覽課程、參加課程纠永、學(xué)習(xí)課程三個模塊就可以了鬓长;兼容性測試,我們要根據(jù)產(chǎn)品的應(yīng)用場景來考慮尝江,比如IE涉波、Chorme、ios炭序、android啤覆、不同機(jī)型等等;性能測試惭聂,根據(jù)產(chǎn)品架構(gòu)窗声、預(yù)估數(shù)據(jù)、線上數(shù)據(jù)來判斷需要執(zhí)行性能測試的功能接口(比如登錄接口)辜纲;接口測試笨觅,安全性測試等等要根據(jù)實(shí)際的項(xiàng)目需求來確定。
然后我們將需要用到的測試類型按照測試場景耕腾、測試方法等以引用文件的形式填寫到測試計(jì)劃中去见剩,以便讓所有項(xiàng)目人員清楚的知道要做哪些測試工作以及怎么做。
如果對軟件測試扫俺、接口測試苍苞、自動化測試、性能測試狼纬、LR腳本開發(fā)羹呵、面試經(jīng)驗(yàn)交流。感興趣可以175317069疗琉,群內(nèi)會有不定期的發(fā)放免費(fèi)的資料鏈接冈欢,這些資料都是從各個技術(shù)網(wǎng)站搜集、整理出來的没炒,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我涛癌,我會注明出處之后分享給大家。
接下來我們要考慮測試人員的分工和測試資源的分配
比如說送火,測試人員數(shù)量不夠或能力不夠的時候,就要額外申請測試人員先匪。
測試資源我們一般包括兩方面:測試人力資源和測試環(huán)境資源种吸。測試人力資源包含兩個維度:測試人員數(shù)量和測試人員經(jīng)驗(yàn)、能力呀非。環(huán)境資源一般包括:
在我們的測試計(jì)劃中坚俗,測試人員分配镜盯、測試環(huán)境資源、網(wǎng)絡(luò)資源猖败、工具使用都要明確寫出來速缆。
接下來,需要做測試進(jìn)度安排恩闻。
測試工作的進(jìn)度安排依賴于開發(fā)工作的節(jié)點(diǎn)和提交測試進(jìn)度的時間艺糜,并且直接影響預(yù)期的上線時間。所以我們需要根據(jù)產(chǎn)品業(yè)務(wù)的復(fù)雜度幢尚、所需要進(jìn)行的不同的測試類型的復(fù)雜度破停、產(chǎn)品上線的質(zhì)量要求的高低、測試人員的數(shù)量尉剩、能力和經(jīng)驗(yàn)這些因素真慢,來評估不同階段、不同類型的測試工作的工作量理茎。比如冒煙測試的工作量黑界、大概有幾輪回歸測試以及工作量、性能測試的工作量等等皂林。然后對測試人員的分工進(jìn)行安排朗鸠,明確職責(zé);那些人進(jìn)行功能測試式撼、誰來負(fù)責(zé)性能測試童社。最終來預(yù)估測試工作開始和結(jié)束的時間節(jié)點(diǎn),比如預(yù)計(jì)什么時候可以開始性能測試著隆;預(yù)計(jì)什么時候完成第二輪回歸測試之類扰楼。在整個測試過程中,測試團(tuán)隊(duì)需要輸出的文檔也都需要列明美浦,比如測試計(jì)劃弦赖、功能測試用例、性能測試方案浦辨、bug數(shù)據(jù)蹬竖、性能測試數(shù)據(jù)、測試報(bào)告等等流酬。
在我們攜程XXX項(xiàng)目的例子里币厕,大家可以清晰地看到進(jìn)度安排的詳細(xì)情況。
好的廚師需要有能夠判斷好的菜品可以出鍋的標(biāo)準(zhǔn)芽腾,同樣的道理旦装,在測試工作中也需要有標(biāo)準(zhǔn)或一致的目標(biāo),來判斷測試階段是否可以結(jié)束摊滔、產(chǎn)品是否可以上線阴绢。這個標(biāo)準(zhǔn)或者目標(biāo)一般來說包含兩個方面:一是測試工作完成的標(biāo)準(zhǔn)店乐,二是產(chǎn)品可以上線發(fā)布的標(biāo)準(zhǔn)。這兩個目標(biāo)既相互有關(guān)系呻袭,但又不完全相同眨八,兩者都需要在項(xiàng)目團(tuán)隊(duì)內(nèi)達(dá)成一致和共識。
測試完成是產(chǎn)品發(fā)布的前提左电,但產(chǎn)品上線前還有其他一些需要完成的工作廉侧。我們分別來說明。
首先是測試完成的標(biāo)準(zhǔn)券腔,也就是說做到什么樣算是測試工作做完了伏穆。主要包括:1、測試計(jì)劃里所有測試類型都已經(jīng)完成了 2纷纫、功能上枕扫、兼容性上沒有影響用戶使用的Bug 3、允許遺留小部分影響不是很大的Bug辱魁,但這個數(shù)量應(yīng)該小于一個值 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都已完備等等暴心。
在我們攜程的例子里,測試完成標(biāo)準(zhǔn)和上限標(biāo)準(zhǔn)有如下:
在我們的生活中杂拨,網(wǎng)網(wǎng)計(jì)劃是美好的专普,現(xiàn)實(shí)是殘酷的。
測試工作亦是如此弹沽,很少有計(jì)劃是完全可以順順利利執(zhí)行完的檀夹,計(jì)劃本身也需要更新維護(hù)。所以我們要對測試過程和產(chǎn)品質(zhì)量可能會發(fā)生的一些問題和風(fēng)險(xiǎn)做好應(yīng)對準(zhǔn)備策橘,避免問題真的發(fā)生后出現(xiàn)連鎖反應(yīng)炸渡,影響整個測試和項(xiàng)目工作。
測試風(fēng)險(xiǎn)一般包含這樣幾類:一是測試范圍的風(fēng)險(xiǎn)丽已,比如說一開始測試需求分析不準(zhǔn)確偶摔、不到位漏了測試點(diǎn),甚至某個測試類型遺漏了促脉,這樣問題就比較大了辰斋,所以測試需求分析是整個測試工作的基礎(chǔ),還有就是產(chǎn)品需求變更的風(fēng)險(xiǎn)瘸味,加需求宫仗、減需求、改需求都需要重新進(jìn)行測試需求分析旁仿,需要測得一定要測到藕夫,不需要測的就不要浪費(fèi)人力物力和工作量;二是測試進(jìn)度的風(fēng)險(xiǎn)枯冈,比如說做計(jì)劃時工作量估計(jì)的不準(zhǔn)毅贮,測試做著做著發(fā)現(xiàn)時間不夠?qū)е马?xiàng)目延期,還有測試依賴開發(fā)尘奏,可能開發(fā)工作沒有按時完成或改bug不及時導(dǎo)致進(jìn)度延后滩褥,還有可能測試人員因?yàn)閯e的項(xiàng)目更重要抽調(diào)走了或者請假、離職等原因造成人員變動炫加;三是產(chǎn)品質(zhì)量的風(fēng)險(xiǎn)瑰煎,比如開發(fā)的代碼質(zhì)量比較低或者測試人員是新人對業(yè)務(wù)不熟悉,能力和經(jīng)驗(yàn)有所欠缺等等俗孝。
在攜程某項(xiàng)目的例子中酒甸,列舉了一些可能遇到的風(fēng)險(xiǎn):
到這里我們就完成了一份測試計(jì)劃。有的人可能依舊存在疑問:做計(jì)劃真的有那么重要么赋铝?我們實(shí)際工作中有很多項(xiàng)目根本就沒有計(jì)劃依舊可以完成的安迩凇!我們來看一下不做計(jì)劃可能會有哪些問題~
首先革骨,如果沒有計(jì)劃我們無法預(yù)估工作量和需要的測試人員數(shù)量农尖。一個項(xiàng)目的工作量和需要的人員數(shù)量都沒有依據(jù),在公司里怎么來協(xié)調(diào)和安排呢苛蒲?
其次卤橄,測試人員的分工明確,會導(dǎo)致工作重復(fù)和遺漏臂外。出了問題大家可能都覺得不是自己的問題窟扑,導(dǎo)致工作混亂效率低下。
再就是測試進(jìn)度失控漏健。到底什么時候做完沒有一個預(yù)期嚎货,其他的團(tuán)隊(duì)怎么安排工作呢?進(jìn)度有沒有失控也沒有判斷依據(jù)蔫浆,臨到預(yù)計(jì)的上線時間才發(fā)現(xiàn)還有很多沒有測到殖属、沒測完,直接影響整個項(xiàng)目的進(jìn)行瓦盛。
還有就是應(yīng)對需求變更困難洗显,對可能出現(xiàn)的風(fēng)險(xiǎn)沒有準(zhǔn)備外潜。一旦出現(xiàn)問題,大家一片混亂挠唆,很容易導(dǎo)致測試遺漏和項(xiàng)目延期处窥。
最后就是沒有統(tǒng)一發(fā)布標(biāo)準(zhǔn),上線意見不一致玄组。測試團(tuán)隊(duì)認(rèn)為Bug太多不能上線滔驾,開發(fā)團(tuán)隊(duì)認(rèn)為都是小Bug不要緊,先上線再說俄讹,導(dǎo)致爭執(zhí)不下的局面哆致。、
當(dāng)然根據(jù)項(xiàng)目不同還可能存在其他一些列問題......
總而言之患膛,測試計(jì)劃的作用非常重要摊阀。
- 指導(dǎo)測試過程
- 協(xié)調(diào)項(xiàng)目安排
- 提高測試效率
- 提高測試質(zhì)量
做測試計(jì)劃對測試人員的能力和要求是非常高的,從另一個角度來說剩瓶,測試計(jì)劃可以體現(xiàn)一個測試人員的自我修養(yǎng)驹溃。一個測試人員需要很好的經(jīng)驗(yàn)沉淀、有很多好的全局意識才能做好一個項(xiàng)目的測試計(jì)劃延曙。
希望大家都能夠很好的勝任編寫測試計(jì)劃這項(xiàng)工作豌鹤。