當前位置:編程學習大全網 - 網絡軟體 - 淺談測試需求分析

淺談測試需求分析

原文: 淺談測試需求分析 - 知乎 (zhihu.com)

壹、什麽是需求分析

我理解的需求分析就是要弄清楚用戶需要的是什麽功能,用戶會怎樣使用系統。這樣我們測試的時候才能更加清楚的知道系統該怎麽樣運行,才能更好的設計測試用例,才能更好的測試。

測試需求分析是測試工作的第壹步,經過需求分析,對原始需求列表中列出的每壹個需求點,找到我們需要測試的測試要點;針對所確定的測試要點,分析測試執行時對應的測試方案/方法。

二、為什麽做需求分析

1、需求分析的必要性

如果要成功的做壹個測試項目,首先必須了解測試規模、復雜程度與可能存在的風險,這些都需要通過詳細的測試需求來了解。所謂知己知彼,百戰不殆。測試需求不明確,只會造成獲取的信息不正確,無法對所測軟件有壹個清晰全面的認識,測試計劃就毫無根據可言,只憑感覺不做詳細了解就下定論的項目是失敗的。

測試需求分析越詳細精準,表明對所測軟件的了解越深,對所要進行的任務內容就越清晰,就更有把握保證測試的質量與進度。

如果把測試活動比作軟件生命周期,測試需求分析就相當於軟件的需求規格,測試策略相當於軟件的架構設計,測試用例相當於軟件的詳細設計,測試執行相當於軟件的編碼過程。只是在測試過程中,我們把”軟件”兩個字全部替換成了”測試”。這樣,我們就明白了整個測試活動的依據來源於測試需求,所以需求分析是整個測試活動必不可少的環節。

2、不做需求分析的後果

不做需求分析或需求分析不到位,可能會產生很嚴重的問題,比如:

(1) 浪費時間和資源實現了用戶不需要的需求;

(2) 遺漏了需求文檔中沒提到,但很重要的需求,導致客戶滿意度降低。

(3) 需求分析不到位,錯誤的估計了測試的工作量,導致延誤發布周期,可能會降低發布質量。

以上的幾個問題,在實際開發中是比較常見的,主要的原因就是需求分析不到位,會導致影響客戶的滿意度。

三、怎麽做需求分析

1、 通過需求文檔了解需求的實現背景

拿到壹個需求後,我們首先應該通讀需求文檔,先通過需求文檔,對要做的需求的背景有個整體的了解,其實這個過程也是對需求文檔測試的過程,對需求整體的了解後,我們可以先記錄自己的壹些疑惑,為後面需求的分析做壹個準備工作,這個環節我們應該更多的了解壹些需求的目的和壹些用戶的使用場景。

例:3.3版本大立案流程需求,需求文檔中對於業務場景給了壹個流程圖

圖片忽略

從需求示意圖中我們大致可以了昆明大立案的整個流程,使用的法院只有中院與基層院,主要是壹個案件在基層院與中院的流轉過程,使用的人員主要是法院的立案庭的人員,但是我們不知道涉及的案件主要有哪些,以及出現這樣的場景是基於哪些業務邏輯,這些都是我們接下來要和需求人員了解的,這是我們分析這個需求和設計用例的基礎,也是我們分析需求合理性的依據。

2、 分析需求合理性

可以通過業務知識來分析需求的合理性,而不是單單通過系統是怎樣實現的來判斷需求是否合理,這也是測試人員必備的技能之壹,即需要我們有深厚的業務功底,然後在通過結合系統現有的實現來分析需求的合理性。

在我看來需求是否合理主要包括兩個方面:第壹,滿足客戶需求。第二,在系統原有的基礎上,盡量減少改動成本。

3、 確定測試的範圍和優先級

通過以上對需求的分析,我們就可以確定測試的範圍和優先級了。首先我們要確定好這個需求所涉及的全部測試點,然後通過分析,分析出測試範圍的優先級。

4、 細化測試點並確定測試方法

確定了測試範圍和優先級後,就可以對各模塊進行細化,可以用MindManager列出個模塊下的測試點,各模塊或大的測試點需要寫出對應的測試方法,或測試策略。是否需要性能測試、白盒測試,是否需要提前準備數據,或會遇到什麽樣的測試難點,采取怎樣的應對措施。

5、 確定哪些工作測試人員可以提前介入

根據以往的經驗我們都知道,在開發壹個比較復雜的需求的周期中,測試的前期準備工作通常都是比較充足的,當然特殊情況除外,因此在確定了測試範圍和優先級後,測試人員和測試負責人應該先確定壹下哪些需求測試是可以提前介入的,比如,15FB新增新案件來源和新結案方式字段的需求,前期的新舊關系對應文檔,測試就是可以提前進行介入,在需求完成了對應關系文檔後,測試在進行重新梳理壹下,這樣既提高了文檔的可靠性,也相當於測試提前介入測試了,規避了後面的測試的進度風險和質量風險。

6、 查缺補漏

做完了需求的細化後,要對自己做的需求分析從頭到尾在捋壹遍,查看有沒有什麽遺漏的,因為需求也又可能遺漏的地方。主要關註有沒有場景需求沒有考慮全面, 涉及的修改範圍被遺漏了,以及壹些特殊的關聯配置沒有考慮到的,另外如果需求做了壹些變動也要及時補充需求分析,主要是分析變動可能帶來的風險,以及準備哪些應對之策。

四、如何提高分析能力

1、熟悉業務,了解系統

任何系統都有大的業務背景,只要熟悉了業務知識才能更有效的使用系統。

任何系統在使用過程中,都有壹個熟悉的過程,對系統越熟悉,越容易發現系統問題和業務問題。

2、用客觀的思考方式站在用戶的角度分析

作為測試人員如果想提升需求分析能力,首先應該做到的就是站在客戶的角度分析客戶需要什麽和客戶想要什麽,至於這個需求該不該做,那是需求人員的職責,這個需求做起來復不復雜那是開發人員的事情,作為測試人員需要考慮的事就是在滿足客戶要求的基礎上(這個很重要),然後在站在業務或者系統現有實現的角度,給需求和開發人員壹些設計上的建議,換句話說就是如果拋開客戶,妳這個需求做的在高大上,在酷炫,都是沒有意義的。

3、多思考,不要拘束於慣性思維

我們知道壹個人做壹個工作時間越久,也就是我們說的經驗越豐富,可能這個思維方式就會越被限定住。比如,測試的統計表多了,當拿到壹個新增的統計表的時候,首先想到的是公用用例上所列的測試點基本上就是最全的了,我都不用思考,直接用就行了。

其實這是壹個誤區,公用用例的目的是幫助我們減少壹些不必要的內耗,但是我們的思維不要被它所限定,如果公用用例中某個點是錯的,那我們豈不要壹錯再錯了。所以作為壹個測試人員如果想要提升自己的需求分析能力,壹定要多思考,不要被這種慣性思維束縛,不要被所謂的經驗束縛。

4、不要閉門造車,利用好網絡資源

提升需求分析能力,多思考是非常重要的,但是不是讓妳傻思考,當妳的進步遇到瓶頸的時候,不要閉門造車,做井底之蛙,要充分利用網絡上的學習資源,學習壹些前輩的經驗,並把這些運用到實際的需求分析中去。山外青山樓外樓,多瀏覽和關註壹些關於需求分析的網站或者微信公眾號,廣開言路,相信會對妳的需求分析能力有非常大的提升。

5、善於總結分享

基於以上四點我們還要做到善於總結,樂於分享,把經常見到的用例設計的誤區和壹些好的需求分析實例,和需求分析習慣分享給周圍的小夥伴,這樣可以集眾人之所長,不斷提升我們的需求分析能力。

不積跬步,無以至千裏; 不積小流,無以成江河;

  • 上一篇:當年那個為美“破解”北鬥衛星的清華高材生,如今怎樣了?
  • 下一篇:單向可控矽和雙向可控矽如何區分?各有什麽特點區別?
  • copyright 2024編程學習大全網