需求分析與測試人員如何做好需求分析_第1頁
需求分析與測試人員如何做好需求分析_第2頁
需求分析與測試人員如何做好需求分析_第3頁
需求分析與測試人員如何做好需求分析_第4頁
需求分析與測試人員如何做好需求分析_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

需求分析與測試人員

如何做好需求分析江蘇微軟技術(shù)中心目錄1、什么是需求2、需求的分類3、需求分析的重要性4、為什么要做需求分析5、如何進(jìn)行需求分析6、測試需求分析的步驟7、舉例說明如何進(jìn)行測試需求分析8、測試人員在需求階段應(yīng)做哪些工作什么是需求需求是產(chǎn)品必須完成的事以及必須具備的品質(zhì)。功能性需求功能性需求是產(chǎn)品必須完成的那些事,要求一定的功能和品質(zhì)。例子:培訓(xùn)機(jī)構(gòu)的班主任可以給所在班級學(xué)員打考勤非功能性需求非功能性需求是產(chǎn)品必須具備的屬性或品質(zhì)。諸如觀感、可用性、安全性和法律限制等。例子:平臺用戶數(shù)為5萬人,每天登錄用戶數(shù)為10000左右,網(wǎng)絡(luò)的帶寬為100M帶寬。在工作時(shí)間根據(jù)資料名稱條件進(jìn)行搜索,可以在3秒內(nèi)得到搜索結(jié)果。這類需求通常在產(chǎn)品的功能確定之后(但并非總是如此)。也就是說,一旦知道了產(chǎn)品要做的事情,就可以確定它的行為方式,它需要具備什么品質(zhì)以及它的響應(yīng)速度、可用性、可讀性和安全性。

限制條件限制條件是全局性的需求。它們可以是對項(xiàng)目本身的限制,或是對產(chǎn)品最終設(shè)計(jì)的限制。例子:南京平臺必須在2010年開學(xué)的第一學(xué)期上線客戶是在說,如果顧客不能在給定的時(shí)間前使用該產(chǎn)品,那么它就沒有什么用了。其效果是,需求分析師必須對需求進(jìn)行限制,只包括那些在最后期限前能夠提供最大價(jià)值的需求。需求分析的重要性背景:馮大勇吃魚時(shí)嗓子被魚刺卡住了?,F(xiàn)在正坐在椅子上候診。大夫:(在桌上拿起一份掛號單,大聲的喊)馮大勇!馮大勇:(病怏怏的樣子,邊走邊咳嗽)我是。大夫:怎么了?(低頭整理手中的資料,自言自語,并打手勢,示意馮大勇坐下)馮大勇:我...(咳嗽)...我今天...(咳嗽)大夫:不用說了,我知道了。(從桌子下面拿出一個(gè)大盒子,放在桌子上)我看你適合吃這種藥。這是本院獨(dú)家開創(chuàng)的哮喘新藥“咽喉糖漿”,療程短,見效快,一個(gè)療程吃3盒,平均每天只需花費(fèi)3塊錢。給你先開6盒吧!(邊說邊開藥方)馮大勇非常驚訝地瞪大眼睛并止不住地彎腰大聲咳嗽,以至于把魚刺都咳出來了。馮大勇從口里掏出一條巨型魚刺,遞給醫(yī)生。醫(yī)生見到魚刺先是吃驚,而后又非常尷尬。需求分析的重要性醫(yī)生不了解病人的需求就用藥,是草菅人命;銷售員不了解客戶的需求就進(jìn)行推銷,不僅自己要徒勞無功地浪費(fèi)很多口舌,更重要的是完不成銷售的目標(biāo)。給客戶推銷軟件產(chǎn)品,也相當(dāng)于醫(yī)生給病人治病,應(yīng)當(dāng)首先充分、全面地了解客戶的需求所在、期望所在,然后才能帶給他一個(gè)完美的解決方案。需求分析的重要性需求分析沒有做好的后果一般會有下列現(xiàn)象:

1、浪費(fèi)時(shí)間和資源來滿足用戶并不需要的需求(過度實(shí)現(xiàn)一些功能);

2、開發(fā)出來的產(chǎn)品技術(shù)上先進(jìn),但不滿足用戶需求;

3、總是需要比較長的時(shí)間來達(dá)成對產(chǎn)品設(shè)計(jì)的共識;

4、在產(chǎn)品設(shè)計(jì),開發(fā)和測試工作中對于用戶需求的解釋不一致;

5、員工會厭倦因需求不斷被重新解釋而導(dǎo)致的返工;

6、未說明的或不正確的需求會導(dǎo)致員工與用戶間的不滿;

7、不穩(wěn)定的產(chǎn)品,用戶的不滿意對我們未來的市場造成損失;

8、浪費(fèi)時(shí)間,增加成本,使得在一些投標(biāo)的項(xiàng)目中不能低價(jià);

需求分析的重要性1、如果你在編碼的時(shí)候發(fā)現(xiàn)某幾行有誤,那么改掉這幾行就行了。而如果在編碼階段發(fā)現(xiàn)需求有誤,那么你很可能需要改變所有代碼來適應(yīng)新的需求2、在需求階段消除問題的代價(jià)最小,而如果需求問題等到產(chǎn)品發(fā)布出去后才發(fā)現(xiàn)的話,那修復(fù)的成本就會N倍的增加。3、穩(wěn)定的需求是軟件開發(fā)的關(guān)鍵。有了穩(wěn)定的需求,軟件開發(fā)工作可能從結(jié)構(gòu)設(shè)計(jì)到詳細(xì)設(shè)計(jì)到代碼到測試都會平穩(wěn)順利的進(jìn)行。為什么要做需求分析1、“決策性”——要不要做這個(gè)產(chǎn)品,通過對市場需求的分析來決策項(xiàng)目是否需要立項(xiàng);

2、“方向性”——良好的需求分析可以對項(xiàng)目人員明確方向,讓項(xiàng)目成員知道下面應(yīng)該如何實(shí)施;

3、“策略性”——既然知道了為什么要做需求分析,就需要了解什么是需求分析,及如何做。需求分析并不是簡單的對與錯(cuò),比如說做一個(gè)產(chǎn)品,“做技術(shù)最先進(jìn)的軟件,還是做最好賣的軟件”,這個(gè)需求有錯(cuò)嗎,沒有,只能說需要從不同的地方去考慮,去定位。

如何進(jìn)行需求分析“需求分析”不代表“用戶要求什么就是什么”也不代表“我們能做什么就做什么”,做為需求人員,在進(jìn)行需求分析的時(shí)候,首先應(yīng)該明白用戶的需求,然后再加上自己的分析處理過程,知道哪些我們現(xiàn)在能做,哪些我們做不了,哪些我們咬咬牙齒能做,需求人員在做需求分析的時(shí)候不能一味的成為客戶的傳話筒,要有自己的分析。如何進(jìn)行需求分析一般可以從三個(gè)方面去考慮:

1、功能需求——產(chǎn)品應(yīng)該完成哪些功能,即向用戶提供的功能,一般來說這個(gè)都是比較硬性的標(biāo)準(zhǔn);

2、非功能性需求——用戶可能不能明確告訴你的一些需求,比如說性能達(dá)到什么要求,可靠性方面,響應(yīng)時(shí)間,擴(kuò)展性,性能方面等,這塊的內(nèi)容并不是說用戶需要,而是說不知道需要做成什么樣的,我們不能不做,做了只會對自己受益。要不然等到后期用戶使用感覺這慢,那不爽,那倒霉的還是是自己;

3、限制條件——在需求分析中需要考慮一些條件約束,規(guī)則等,比如客戶的約束,行業(yè)的約束,法律的約束以及自己的約束等,這些都需要在需求分析考慮清楚,要不然做出一款白人狂毆黑人的游戲給黑人玩,那就慘了……測試需求分析的步驟1、熟悉需求背景及商業(yè)目標(biāo):a)了解清楚項(xiàng)目發(fā)起的原因,是為了解決用戶的什么問題。b)當(dāng)前的解決方案是不是最優(yōu)的,為什么會這樣做?2、業(yè)務(wù)模型法:a)考慮本項(xiàng)目與外部系統(tǒng)的交互,劃分系統(tǒng)邊界(除了本項(xiàng)目的需求中要求做的事情,其他的都可以是外部系統(tǒng),本系統(tǒng)和外部系統(tǒng)之間的交互就是系統(tǒng)的邊界),可以參考系統(tǒng)分析說明書。b)確定測試范圍和關(guān)注點(diǎn)。系統(tǒng)的邊界是測試的重點(diǎn),特別需要關(guān)注邊界交互時(shí)的數(shù)據(jù)交互。測試需求分析的步驟3、業(yè)務(wù)場景法:a)考慮用例的調(diào)用者;考慮每一個(gè)用例提供的服務(wù)是供哪些外部用例或者系統(tǒng)調(diào)用,找出所有的調(diào)用者。調(diào)用的前提、約束都要考慮。每一個(gè)調(diào)用都可以考慮成一個(gè)大的業(yè)務(wù)流程。(一般和外部有交互的用例出錯(cuò)的概率比較大,需要重點(diǎn)關(guān)注)b)考慮系統(tǒng)內(nèi)部各個(gè)用例之間的交互,形成內(nèi)部業(yè)務(wù)流程圖。需要分析每個(gè)用例之間的約束關(guān)系、執(zhí)行條件,組織出各種業(yè)務(wù)流程圖。測試需求分析的步驟4、功能分解法a).業(yè)務(wù)功能:與用戶實(shí)際業(yè)務(wù)直接相關(guān)的功能或細(xì)節(jié)。b).輔助功能:輔助完成業(yè)務(wù)功能的一些功能或者是細(xì)節(jié),比如,設(shè)置過濾條件。c).數(shù)據(jù)約束:功能的細(xì)節(jié),主要是用于控制在執(zhí)行功能時(shí),數(shù)據(jù)的顯示范圍、數(shù)據(jù)之間的關(guān)系等。d).易用性需求:功能的細(xì)節(jié),產(chǎn)品中必須提供了,便于功能操作使用的一些細(xì)節(jié),比如快捷鍵就是典型的易用性需求。e).編輯約束:功能的細(xì)節(jié),在功能執(zhí)行時(shí),對輸入數(shù)據(jù)項(xiàng)目的一些約束性條件,比如只能輸入數(shù)字。f).參數(shù)需求:功能的細(xì)節(jié),在功能中,需要根據(jù)參數(shù)設(shè)置不同,進(jìn)行不同處理的細(xì)節(jié)。g).權(quán)限需求:功能的細(xì)節(jié),這里的權(quán)限是指在功能的執(zhí)行過程,根據(jù)根據(jù)不同的權(quán)限進(jìn)行不同處理的,不包括直接限制某個(gè)功能的權(quán)限。一個(gè)有趣的例子某日,老師在課堂上想考考學(xué)生們的智商,就問一個(gè)男孩:“樹上有十只鳥,開槍打死一只,還剩幾只?”男孩反問:“是無聲槍么?”“不是?!薄皹屄曈卸啻?”“80~100分貝?!薄澳蔷褪钦f會震的耳朵疼?”“是?!薄霸谶@個(gè)城市里打鳥犯不犯法?”‘不犯?!薄澳_定那只鳥真的被打死啦?”“確定。”老師已經(jīng)不耐煩了,”拜托,你告訴我還剩幾只就行了,OK?”“OK。鳥里有沒有聾子?”“沒有?!薄坝袥]有關(guān)在籠子里的?”“沒有?!薄斑吷线€有沒有其他的樹,樹上還有沒有其他鳥?”“沒有?!薄胺綀A十里呢?”“就這么一棵樹!”“有沒有殘疾或餓的飛不動的鳥?”“沒有,都身體倍棒。”“算不算懷孕肚子里的小鳥?”“都是公的。”“都不可能懷孕?”“………,決不可能?!薄按蝤B的人眼里有沒有花?保證是十只?”“沒有花,就十只?!崩蠋熌X門上的汗已經(jīng)流下來了,下課鈴響起,但男孩仍繼續(xù)問:“有沒有傻的不怕死的?”“都怕死?!薄坝袥]有因?yàn)榍閭H被打中,自己留下來的?”“笨蛋,之前不是說都是公的嘛!”“同志可不可以啊!”“…………,性取向都很正常!”“會不會一槍打死兩只?”“不會。”“一槍打死三只呢?”“不會?!薄八闹荒?”“更不會!”“五只呢?”“絕對不會!!!”“那六只總有可能吧?”“除非你他媽的是豬生的才有可能!”“…好吧,那么所有的鳥都可以自由活動么?”“完全可以?!薄八鼈兪艿襟@嚇起飛時(shí)會不會驚慌失措而互相撞上?”“不會,每只鳥都裝有衛(wèi)星導(dǎo)航系統(tǒng),而且可以自動飛行?!薄岸?,如果您的回答沒有騙人,”學(xué)生滿懷信心的回答,“打死的鳥要是掛在樹上沒掉下來,那么就剩一只,如果掉下來,就一只不剩。”老師當(dāng)即倒!舉例說明如何進(jìn)行測試需求分析先看一段關(guān)于日志文件的需求描述如下:“軟件要將所有的訪問者都要記錄下來,對每次訪問要記錄訪問開始時(shí)間、訪問結(jié)束時(shí)間、訪問者的IP地址這三個(gè)信息作為一條日志記錄。要求以天為單位每天生成一個(gè)訪問記錄日志文件。”舉例說明如何進(jìn)行測試需求分析在這段需求描述中,我們首先要想象自己是日志模塊的開發(fā)者,根據(jù)這段需求描述,是否能夠開發(fā)出日志模塊來呢?日志文件要記錄的信息內(nèi)容上面都提到了:訪問開始時(shí)間、結(jié)束時(shí)間、IP地址。乍一看好像可以根據(jù)這個(gè)需求描述進(jìn)行開發(fā)。但仔細(xì)來分析一下這段需求的話,就會發(fā)現(xiàn)并不是想象的那樣樂觀。先找出需求中涉及的三個(gè)顯性元素:1、訪問者

2、訪問記錄

3、日志文件

舉例說明如何進(jìn)行測試需求分析首先對訪問者和訪問記錄這兩個(gè)元素進(jìn)行分析,先看訪問者有那些屬性,除了描述中提及的訪問時(shí)間和IP地址外,訪問者還有那些屬性呢?顯然訪問者的訪問內(nèi)容是最重要的屬性,僅記錄訪問時(shí)間和訪問者的IP地址是否足夠呢,從日志能分析出什么有用的信息呢?從時(shí)間信息上最多只能看出那段時(shí)間訪問的人數(shù)較多,得到用戶的時(shí)間分布規(guī)律,但很難對用戶的行為有深入的分析,只有知道訪問者在訪問那些內(nèi)容才能得到更有價(jià)值的信息。象Web服務(wù)器軟件要記錄下訪問的URL信息以便知道訪問者訪問的內(nèi)容,所以訪問記錄中遺漏了關(guān)于訪問內(nèi)容的信息。舉例說明如何進(jìn)行測試需求分析從訪問記錄這個(gè)元素來分析,訪問記錄主要屬性是記錄格式,每條記錄是以什么格式來記錄呢?沒有描述出來。有經(jīng)驗(yàn)的開發(fā)者就知道日志記錄格式是一個(gè)很重要的問題,因?yàn)槿罩居涗浀姆治鲆话闶切枰褂脤iT的分析軟件或者寫專門的分析程序來分析的。如何設(shè)計(jì)合理的記錄格式來利用已有的日志分析軟件來進(jìn)行分析是首要考慮的問題。再對日志文件這個(gè)元素進(jìn)行分析,先看看日志文件有那些屬性,首先日志文件具有文件名,還有存放位置,文件格式,文件內(nèi)容、文件創(chuàng)建時(shí)間、文件大小、文件權(quán)限等屬性。舉例說明如何進(jìn)行測試需求分析需求描述中提到了每天要生成一個(gè)日志文件,從文件創(chuàng)建時(shí)間屬性來看,每天有24小時(shí),到底從什么時(shí)候開始創(chuàng)建文件,從0點(diǎn)開始還是從幾點(diǎn)開始,沒有描述出來。從文件名屬性來看,如何命名日志文件,需求中也沒有提及。從存放位置屬性來看,日志文件存放在什么地方也沒有說明。是不是所有的日志文件都存放在應(yīng)用程序同一子目錄下?從文件格式屬性來看,首先日志文件是以文本方式存儲還是以二進(jìn)制格式存儲?再者,文件的內(nèi)容是以何種格式記錄,每條訪問記錄間如何分隔,是以回車換行作為分隔還是以其他字符作為分隔?都沒有描述。從文件內(nèi)容屬性來分析,除了存放上述描述的內(nèi)容外,是否還可以保存其他內(nèi)容,如果不能保存其他內(nèi)容的話,需求描述中應(yīng)該加上一句“日志文件中只能存儲訪問記錄信息,不得儲存其他記錄信息”。從文件大小屬性來分析,日志文件的大小有沒有限制?如果某天處于訪問高峰期,訪問特別多,是否需要將日志文件分拆成多個(gè)是一個(gè)需要考慮的問題。從文件權(quán)限屬性來分析,日志文件是否機(jī)器上的所有用戶都可以訪問還是只有特定的用戶可以訪問?文件是否需要設(shè)置權(quán)限是一個(gè)需要考慮的問題。舉例說明如何進(jìn)行測試需求分析所以在對上述需求描述進(jìn)行分析后,你會發(fā)現(xiàn)需求描述中有很多的問題沒有描述清楚。也許有人會有疑問,如果將所有上面說到的問題都描述出來的話會不會工作量太大了?僅從需求分析的角度來講,需求規(guī)格描述得較細(xì)的話確實(shí)會增大很多工作量,但從整個(gè)開發(fā)過程來看,需求描述完整的話,后續(xù)階段的開發(fā)產(chǎn)生歧義和遺漏的可能性就很小,實(shí)際上后續(xù)階段節(jié)約的時(shí)間會大大超過需求所多花的時(shí)間。測試人員在需求階段應(yīng)做哪些工作首先,測試用例和測試工作本身是不斷完善的,在開發(fā)過程的初期,可以認(rèn)為是需求階段,或者沒有規(guī)范需求工作的設(shè)計(jì)階段。如果有一個(gè)比較明確的需求文檔,可以在這個(gè)階段檢查完了需求文檔以后開始設(shè)計(jì)測試用例。這里,對于需求文檔的檢查主要是兩個(gè)方面:檢查需求文

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論