① 軟體測試工程師如何做好需求分析
軟體測試工程師如何做好需求分析
什麼是需求?
需求是產品必須完成的事以及必須具備的品質。
功能性需求
功能性需求是產品必須完成的那些事,要求一定的功能和品質。
例子:培訓機構的班主任可以給所在班級學員打考勤
非功能性需求
非功能性需求是產品必須具備的屬性或品質。諸如觀感、可用性、安全性和法律限制等。
例子: 平台用戶數為5萬人,每天登錄用戶數為10000左右,網路的帶寬為100M帶寬。在工作時間根據資料名稱條件進行搜索,可以在3秒內得到搜索結果。
這類需求通常在產品的功能確定之後(但並非總是如此)。也就是說,一旦知道了產品要做的事情,就可以確定它的行為方式,它需要具備什麼品質以及它的響應速度、可用性、可讀性和安全性。
限制條件
限制條件是全局性的需求。它們可以是對項目本身的限制,或是對產品最終設計的限制。
例子:南京平台必須在2010年開學的第一學期上線
客戶是在說,如果顧客不能在給定的時間前使用該產品,那麼它就沒有什麼用了。其效果是,需求分析師必須對需求進行限制,只包括那些在最後期限前能夠提供最大價值的需求。
需求分析的重要性
需求分析沒有做好的後果一般會有下列現象:
1、浪費時間和資源來滿足用戶並不需要的需求(過度實現一些功能);
2、開發出來的產品技術上先進,但不滿足用戶需求;
3、總是需要比較長的時間來達成對產品設計的.共識;
4、在產品設計,開發和測試工作中對於用戶需求的解釋不一致;
5、員工會厭倦因需求不斷被重新解釋而導致的返工;
6、未說明的或不正確的需求會導致員工與用戶間的不滿;
7、不穩定的產品,用戶的不滿意對我們未來的市場造成損失;
8、浪費時間,增加成本,使得在一些投標的項目中不能低價;
1、如果你在編碼的時候發現某幾行有誤,那麼改掉這幾行就行了。而如果在編碼階段發現需求有誤,那麼你很可能需要改變所有代碼來適應新的需求
2、在需求階段消除問題的代價最小,而如果需求問題等到產品發布出去後才發現的話,那修復的成本就會N倍的增加。
3、穩定的需求是軟體開發的關鍵。有了穩定的需求,軟體開發工作可能從結構設計到詳細設計到代碼到測試都會平穩順利的進行。
為什麼要做需求分析
1、“決策性”--要不要做這個產品,通過對市場需求的分析來決策項目是否需要立項;
2、“方向性”--良好的需求分析可以對項目人員明確方向,讓項目成員知道下面應該如何實施;
3、“策略性”--既然知道了為什麼要做需求分析,就需要了解什麼是需求分析,及如何做。需求分析並不是簡單的對與錯,比如說做一個產品,“做技術最先進的軟體,還是做最好賣的軟體”,這個需求有錯嗎,沒有,只能說需要從不同的地方去考慮,去定位。
如何進行需求分析
“ 需求分析”不代表“用戶要求什麼就是什麼”也不代表“我們能做什麼就做什麼”,做為需求人員,在進行需求分析的時候,首先應該明白用戶的需求,然後再加上 自己的分析處理過程,知道哪些我們現在能做,哪些我們做不了,哪些我們咬咬牙齒能做,需求人員在做需求分析的時候不能一味的成為客戶的傳話筒,要有自己的 分析。
一般可以從三個方面去考慮:
1、功能需求--產品應該完成哪些功能,即向用戶提供的功能,一般來說這個都是比較硬性的標准;
2、非功能性需求--用戶可能不能明確告訴你的一些需求,比如說性能達到什麼要求,可靠性方面,響應時間,擴展性,性能方面等,這塊的內容並不 是說用戶需要,而是說不知道需要做成什麼樣的,我們不能不做,做了只會對自己受益。要不然等到後期用戶使用感覺這慢,那不爽,那倒霉的還是是自己;
3、限制條件--在需求分析中需要考慮一些條件約束,規則等,比如客戶的約束,行業的約束,法律的約束以及自己的約束等,這些都需要在需求分析考慮清楚,要不然做出一款白人狂毆黑人的游戲給黑人玩,那就慘了……
測試需求分析的步驟
1 、 熟悉需求背景及商業目標:
a) 了解清楚項目發起的原因,是為了解決用戶的什麼問題。
b) 當前的解決方案是不是最優的,為什麼會這樣做?
2 、業務模型法:
a) 考慮本項目與外部系統的交互,劃分系統邊界(除了本項目的需求中要求做的事情,其他的都可以是外部系統,本系統和外部系統之間的交互就是系統的邊界),可以參考系統分析說明書。
b) 確定測試范圍和關注點。系統的邊界是測試的重點,特別需要關注邊界交互時的數據交互。 ;
② 怎麼能看懂軟體測試需求
軟體測試的需求需要你有一套思維邏輯:
我教給你一些方法:
去看產品的PRD文檔,一般的PRD文檔都會包含產品的流程圖以及原型圖,這些圖會幫助你理解這個產品的流程和邏輯,根據邏輯設計相關的TC。
看懂產品需求,要定位好這個產品的背景、目的、參與人員,為誰服務,這樣你才能理解這個產品是幹嘛的,知道是幹嘛,自然很容易理解它需要提供哪些功能。
從服務客戶的角度考慮,作為服務某種客戶的需求,它應該具備哪些能力,這樣可能不僅僅你能看懂需求,同時也能給需求提出相關性不足的問題,成為更加專業的測試工程師。
③ 測試條件的最佳描述
測試條件的最佳描述是與實現特定測試目標相關的測試基礎方面。
3、兼容性測試條件:
這類測試條件主要用於檢查軟體在不同操作系統、瀏覽器、硬體平台等環境下的兼容性。例如,測試軟體在不同版本的Windows操作系統上是否能正常運行,以及在不同瀏覽器環境下的表現等。
4、安全性測試條件:
這類測試條件主要用於評估軟體的安全性能。例如,測試軟體是否存在漏洞,是否容易受到攻擊等。
5、回歸測試條件:
這類測試條件主要用於驗證軟體在經過修改或升級後,原有的功能和性能是否仍然保持穩定。例如,在對軟體的某個功能模塊進行修改後,需要重新設置回歸測試條件,以確保修改後的功能仍然正常。