軟體測試人需要如何做好需求分析?
軟體測試人需要如何做好需求分析,在項目的開發和測試過程中該如何做好需求分析,怎樣與客戶協調需求?
謝邀----------
上乾貨,內部分享ppt中的一部分,正好涉及到需求分析這一塊,希望對題主有幫助
我們舉個例子來說明吧:有一段關於日誌文件的需求描述如下:「軟體要將所有的訪問者都要記錄下來,對每次訪問要記錄訪問開始時間、訪問結束時間、訪問者的IP地址這三個信息作為一條日誌記錄。要求以天為單位每天生成一個訪問記錄日誌文件。
在這段需求描述中,我們首先要想像自己是日誌模塊的開發者,根據這段需求描述,是否能夠開發出日誌模塊來呢?日誌文件要記錄的信息內容上面都提到了:訪問開始時間、結束時間、IP地址。乍一看好像可以根據這個需求描述進行開發。
但仔細來分析一下這段需求的話,就會發現並不是想像的那樣樂觀。先找出需求中涉及的三個顯性元素:
1、訪問者
2、訪問記錄
3、日誌文件
首先對訪問者和訪問記錄這兩個元素進行分析,先看訪問者有那些屬性,除了描述中提及的訪問時間和IP地址外,訪問者還有那些屬性呢?顯然訪問者 的訪問內容是最重要的屬性,僅記錄訪問時間和訪問者的IP地址是否足夠呢,從日誌能分析出什麼有用的信息呢?從時間信息上最多只能看出那段時間訪問的人數 較多,得到用戶的時間分布規律,但很難對用戶的行為有深入的分析,只有知道訪問者在訪問那些內容才能得到更有價值的信息。象Web伺服器軟體要記錄下訪問 的URL信息以便知道訪問者訪問的內容,所以訪問記錄中遺漏了關於訪問內容的信息。
從訪問記錄這個元素來分析,訪問記錄主要屬性是記錄格式,每條記錄是以什麼格式來記錄呢?沒有描述出來。有經驗的開發者就知道日誌記錄格式是一個很重要的問題,因為日誌記錄的分析一般是需要使用專門的分析軟體或者寫專門的分析程序來分析的。如何設計合理的記錄格式來利用已有的日誌分析軟體來進行 分析是首要考慮的問題。
再對日誌文件這個元素進行分析,先看看日誌文件有那些屬性,首先日誌文件具有文件名,還有存放位置,文件格式,文件內容、文件創建時間、文件大小、文件許可權等屬性。
需求描述中提到了每天要生成一個日誌文件,從文件創建時間屬性來看,每天有24小時,到底從什麼時候開始創建文件,從0點開始還是從幾點開始,沒有描述出來。
---從文件名屬性來看,如何命名日誌文件,需求中也沒有提及。從存放位置屬性來看,日誌文件存放在什麼地方也沒有說明。是不是所有的日誌文件都存放在應用程序同一子目錄下?
---從文件格式屬性來看,首先日誌文件是以文本方式存儲還是以二進位格式存儲?再者,文件的內容是以何種格式記錄,每條訪問記錄間如何分隔,是以回車換行作為分隔還是以其他字元作為分隔?都沒有描述。
---從文件內容屬性來分析,除了存放上述描述的內容外,是否還可以保存其他內容,如果不能保存其他內容的話,需求描述中應該加上一句」日誌文件中只能存儲訪問記錄信息,不得儲存其他記錄信息「。
---從文件大小屬性來分析,日誌文件的大小有沒有限制?如果某天處於訪問高峰期,訪問特別多,是否需要將日誌文件分拆成多個是一個需要考慮的問題。
---從文件許可權屬性來分析,日誌文件是否機器上的所有用戶都可以訪問還是只有特定的用戶可以訪問?文件是否需要設置許可權是一個需要考慮的問題。
所以在對上述需求描述進行分析後,你會發現需求描述中有很多的問題沒有描述清楚。也許有人會有疑問,如果將所有上面說到的問題都描述出來的話會不會工作量太大了?僅從需求分析的角度來講,需求規格描述得較細的話確實會增大很多工作量,但從整個開發過程來看,需求描述完整的話,後續階段的開發產生 歧義和遺漏的可能性就很小,實際上後續階段節約的時間會大大超過需求所多花的時間。
上面只是個簡單的例子,關於測試人員在需求階段需要做哪些工作?需求分析包含哪些步驟和工作,限於篇幅就不再贅述了,大家可以參考下這篇文章 測試人員如何做測試需求分析
推薦閱讀:
※為什麼google不在wp8上出應用軟體呢,而大量在IOS系統上出軟體應用?
※有哪些著名的破解軟體網站?
※為什麼很多厲害的軟體卻很容易就被破解,像ps,autocad之類的?
※我如果想寫個程序用這個程序去控制一些硬體,具體步驟是什麼,軟體是如何通過什麼介面去控制一個硬體的?
※為什麼很多人都討厭 360?