一鹦肿、什么是需求分析
我理解的需求分析就是要弄清楚用戶需要的是什么功能低斋,用戶會怎樣使用系統(tǒng)铝宵。這樣我們測試的時(shí)候才能更加清楚的知道系統(tǒng)該怎么樣運(yùn)行喂饥,才能更好的設(shè)計(jì)測試用例则果,才能更好的測試蓄坏。
測試需求分析是測試工作的第一步董习,經(jīng)過需求分析,對原始需求列表中列出的每一個需求點(diǎn)周拐,找到我們需要測試的測試要點(diǎn)铡俐;針對所確定的測試要點(diǎn),分析測試執(zhí)行時(shí)對應(yīng)的測試方案/方法妥粟。
二审丘、為什么做需求分析
1、需求分析的必要性
如果要成功的做一個測試項(xiàng)目勾给,首先必須了解測試規(guī)模备恤、復(fù)雜程度與可能存在的風(fēng)險(xiǎn),這些都需要通過詳細(xì)的測試需求來了解锦秒。所謂知己知彼露泊,百戰(zhàn)不殆。測試需求不明確旅择,只會造成獲取的信息不正確惭笑,無法對所測軟件有一個清晰全面的認(rèn)識,測試計(jì)劃就毫無根據(jù)可言生真,只憑感覺不做詳細(xì)了解就下定論的項(xiàng)目是失敗的沉噩。
測試需求分析越詳細(xì)精準(zhǔn),表明對所測軟件的了解越深,對所要進(jìn)行的任務(wù)內(nèi)容就越清晰,就更有把握保證測試的質(zhì)量與進(jìn)度蔓挖。
如果把測試活動比作軟件生命周期讶踪,測試需求分析就相當(dāng)于軟件的需求規(guī)格禾乘,測試策略相當(dāng)于軟件的架構(gòu)設(shè)計(jì)秉继,測試用例相當(dāng)于軟件的詳細(xì)設(shè)計(jì)统台,測試執(zhí)行相當(dāng)于軟件的編碼過程蝠咆。只是在測試過程中康聂,我們把”軟件”兩個字全部替換成了”測試”贰健。這樣,我們就明白了整個測試活動的依據(jù)來源于測試需求恬汁,所以需求分析是整個測試活動必不可少的環(huán)節(jié)伶椿。
2、不做需求分析的后果
不做需求分析或需求分析不到位氓侧,可能會產(chǎn)生很嚴(yán)重的問題脊另,比如:
(1) 浪費(fèi)時(shí)間和資源實(shí)現(xiàn)了用戶不需要的需求;
(2) 遺漏了需求文檔中沒提到约巷,但很重要的需求偎痛,導(dǎo)致客戶滿意度降低。
(3) 需求分析不到位载庭,錯誤的估計(jì)了測試的工作量,導(dǎo)致延誤發(fā)布周期廊佩,可能會降低發(fā)布質(zhì)量囚聚。
以上的幾個問題,在實(shí)際開發(fā)中是比較常見的标锄,主要的原因就是需求分析不到位顽铸,會導(dǎo)致影響客戶的滿意度。
三料皇、怎么做需求分析
1谓松、 通過需求文檔了解需求的實(shí)現(xiàn)背景
拿到一個需求后,我們首先應(yīng)該通讀需求文檔践剂,先通過需求文檔鬼譬,對要做的需求的背景有個整體的了解,其實(shí)這個過程也是對需求文檔測試的過程逊脯,對需求整體的了解后优质,我們可以先記錄自己的一些疑惑,為后面需求的分析做一個準(zhǔn)備工作军洼,這個環(huán)節(jié)我們應(yīng)該更多的了解一些需求的目的和一些用戶的使用場景巩螃。
例:3.3版本大立案流程需求,需求文檔中對于業(yè)務(wù)場景給了一個流程圖
圖片忽略
從需求示意圖中我們大致可以了昆明大立案的整個流程匕争,使用的法院只有中院與基層院避乏,主要是一個案件在基層院與中院的流轉(zhuǎn)過程,使用的人員主要是法院的立案庭的人員甘桑,但是我們不知道涉及的案件主要有哪些拍皮,以及出現(xiàn)這樣的場景是基于哪些業(yè)務(wù)邏輯歹叮,這些都是我們接下來要和需求人員了解的,這是我們分析這個需求和設(shè)計(jì)用例的基礎(chǔ)春缕,也是我們分析需求合理性的依據(jù)盗胀。
2、 分析需求合理性
可以通過業(yè)務(wù)知識來分析需求的合理性锄贼,而不是單單通過系統(tǒng)是怎樣實(shí)現(xiàn)的來判斷需求是否合理票灰,這也是測試人員必備的技能之一,即需要我們有深厚的業(yè)務(wù)功底宅荤,然后在通過結(jié)合系統(tǒng)現(xiàn)有的實(shí)現(xiàn)來分析需求的合理性屑迂。
在我看來需求是否合理主要包括兩個方面:第一,滿足客戶需求冯键。第二惹盼,在系統(tǒng)原有的基礎(chǔ)上,盡量減少改動成本惫确。
3手报、 確定測試的范圍和優(yōu)先級
通過以上對需求的分析,我們就可以確定測試的范圍和優(yōu)先級了改化。首先我們要確定好這個需求所涉及的全部測試點(diǎn)掩蛤,然后通過分析,分析出測試范圍的優(yōu)先級陈肛。
4揍鸟、 細(xì)化測試點(diǎn)并確定測試方法
確定了測試范圍和優(yōu)先級后,就可以對各模塊進(jìn)行細(xì)化句旱,可以用MindManager列出個模塊下的測試點(diǎn)阳藻,各模塊或大的測試點(diǎn)需要寫出對應(yīng)的測試方法,或測試策略谈撒。是否需要性能測試腥泥、白盒測試,是否需要提前準(zhǔn)備數(shù)據(jù)啃匿,或會遇到什么樣的測試難點(diǎn)道川,采取怎樣的應(yīng)對措施。
5立宜、 確定哪些工作測試人員可以提前介入
根據(jù)以往的經(jīng)驗(yàn)我們都知道冒萄,在開發(fā)一個比較復(fù)雜的需求的周期中,測試的前期準(zhǔn)備工作通常都是比較充足的橙数,當(dāng)然特殊情況除外尊流,因此在確定了測試范圍和優(yōu)先級后,測試人員和測試負(fù)責(zé)人應(yīng)該先確定一下哪些需求測試是可以提前介入的灯帮,比如崖技,15FB新增新案件來源和新結(jié)案方式字段的需求逻住,前期的新舊關(guān)系對應(yīng)文檔,測試就是可以提前進(jìn)行介入迎献,在需求完成了對應(yīng)關(guān)系文檔后瞎访,測試在進(jìn)行重新梳理一下,這樣既提高了文檔的可靠性吁恍,也相當(dāng)于測試提前介入測試了扒秸,規(guī)避了后面的測試的進(jìn)度風(fēng)險(xiǎn)和質(zhì)量風(fēng)險(xiǎn)。
6冀瓦、 查缺補(bǔ)漏
做完了需求的細(xì)化后伴奥,要對自己做的需求分析從頭到尾在捋一遍,查看有沒有什么遺漏的翼闽,因?yàn)樾枨笠灿挚赡苓z漏的地方拾徙。主要關(guān)注有沒有場景需求沒有考慮全面, 涉及的修改范圍被遺漏了感局,以及一些特殊的關(guān)聯(lián)配置沒有考慮到的尼啡,另外如果需求做了一些變動也要及時(shí)補(bǔ)充需求分析,主要是分析變動可能帶來的風(fēng)險(xiǎn)询微,以及準(zhǔn)備哪些應(yīng)對之策崖瞭。
四、如何提高分析能力
1拓提、熟悉業(yè)務(wù)读恃,了解系統(tǒng)
任何系統(tǒng)都有大的業(yè)務(wù)背景隧膘,只要熟悉了業(yè)務(wù)知識才能更有效的使用系統(tǒng)代态。
任何系統(tǒng)在使用過程中,都有一個熟悉的過程疹吃,對系統(tǒng)越熟悉蹦疑,越容易發(fā)現(xiàn)系統(tǒng)問題和業(yè)務(wù)問題。
2萨驶、用客觀的思考方式站在用戶的角度分析
作為測試人員如果想提升需求分析能力歉摧,首先應(yīng)該做到的就是站在客戶的角度分析客戶需要什么和客戶想要什么,至于這個需求該不該做腔呜,那是需求人員的職責(zé)叁温,這個需求做起來復(fù)不復(fù)雜那是開發(fā)人員的事情,作為測試人員需要考慮的事就是在滿足客戶要求的基礎(chǔ)上(這個很重要)核畴,然后在站在業(yè)務(wù)或者系統(tǒng)現(xiàn)有實(shí)現(xiàn)的角度膝但,給需求和開發(fā)人員一些設(shè)計(jì)上的建議,換句話說就是如果拋開客戶谤草,你這個需求做的在高大上跟束,在酷炫莺奸,都是沒有意義的。
3冀宴、多思考灭贷,不要拘束于慣性思維
我們知道一個人做一個工作時(shí)間越久,也就是我們說的經(jīng)驗(yàn)越豐富略贮,可能這個思維方式就會越被限定住甚疟。比如,測試的統(tǒng)計(jì)表多了刨肃,當(dāng)拿到一個新增的統(tǒng)計(jì)表的時(shí)候古拴,首先想到的是公用用例上所列的測試點(diǎn)基本上就是最全的了,我都不用思考真友,直接用就行了黄痪。
其實(shí)這是一個誤區(qū),公用用例的目的是幫助我們減少一些不必要的內(nèi)耗盔然,但是我們的思維不要被它所限定桅打,如果公用用例中某個點(diǎn)是錯的,那我們豈不要一錯再錯了愈案。所以作為一個測試人員如果想要提升自己的需求分析能力挺尾,一定要多思考,不要被這種慣性思維束縛站绪,不要被所謂的經(jīng)驗(yàn)束縛遭铺。
4、不要閉門造車恢准,利用好網(wǎng)絡(luò)資源
提升需求分析能力魂挂,多思考是非常重要的,但是不是讓你傻思考馁筐,當(dāng)你的進(jìn)步遇到瓶頸的時(shí)候涂召,不要閉門造車,做井底之蛙敏沉,要充分利用網(wǎng)絡(luò)上的學(xué)習(xí)資源果正,學(xué)習(xí)一些前輩的經(jīng)驗(yàn),并把這些運(yùn)用到實(shí)際的需求分析中去盟迟。山外青山樓外樓秋泳,多瀏覽和關(guān)注一些關(guān)于需求分析的網(wǎng)站或者微信公眾號,廣開言路攒菠,相信會對你的需求分析能力有非常大的提升迫皱。
5、善于總結(jié)分享
基于以上四點(diǎn)我們還要做到善于總結(jié)要尔,樂于分享舍杜,把經(jīng)常見到的用例設(shè)計(jì)的誤區(qū)和一些好的需求分析實(shí)例新娜,和需求分析習(xí)慣分享給周圍的小伙伴,這樣可以集眾人之所長既绩,不斷提升我們的需求分析能力概龄。
不積跬步,無以至千里饲握; 不積小流私杜,無以成江河;