不知道你們有沒有這樣的想法,爲何別人的需求分析寫的這麼好呢?而本身寫需求分析的時候老是腦殼瓜子都抓破了,還被老大批評?今天我就給你們講一下——一個優秀的測試工程師如何進行需求分析呢?windows
好的測試工程師,須要有測試的思惟方式。瀏覽器
測試分析和設計能力,就是這種思惟方式最好的體現。服務器
接觸過測試的人都應該清楚「測試需求分析」的重要性。就比如是建樓的地基,地基不牢,再好、再高的大樓均可能在頃刻間崩塌。工具
那麼如何科學的進行測試需求分析呢?BAT乃至Facebook等國外的先進互聯網公司的頂尖測試工程師又是如何進行需求分析呢?咱們常規的需求分析又有哪些不足呢?今天利用上班時間好好和你們一塊兒聊一聊測試需求分析的那些事兒。性能
軟件測試的生命週期測試
在討論測試需求分析以前,我想跟你們明確一下軟件測試的生命週期。不少朋友對整個測試過程的週期不甚瞭解,致使測試工做混亂不堪,名有明確的思路。這樣是不管如何都不能作好軟件測試工做的。設計
測試需求分析:從產品需求挖掘出咱們須要的測試需求cdn
測試設計:根據測試需求,設計測試方案和測試用例對象
制定測試計劃:根據項目實際安排人員週期blog
執行測試:依照測試計劃,執行測試用例
質量評估:提交Bug,提交測試報告
爲何要作測試需求分析?
舉一個現實生活中你們常常用到的例子。生活中可能常常有人這麼問你:我想買臺電腦,有什麼推薦麼?那麼咱們是否是須要問這麼幾個問題:買來幹嗎的?臺式機仍是筆記本?你預算多少啊?對系統有啥要求麼?
只有這些問題咱們都明確了以後,咱們纔可以幫忙去推薦。也就是說,經過這些問題,咱們才能瞭解對方的需求。一樣,咱們作測試工做,產品需求並不等於測試需求,若是沒有測試需求分析,就會致使咱們對產品瞭解不完整、不許確,對產品的測試也會不透徹。因此,測試需求分析是必不可少的環節。
如何進行測試需求分析呢?
分析任何一個事物,咱們都須要一個分析對象,一樣測試需求分析首先要有一個分析對象。做爲測試需求分析的對象,通常有這麼幾種形式:產品需求文檔、交互稿、技術文檔、會議紀要等其餘參考資料。根據這些資料文檔,咱們從測試的角度進行分析。
產品需求文檔
交互稿
技術文檔、會議紀要等其餘參考
在測試需求分析的過程當中咱們須要用到一些思惟導圖的工具,幫助咱們從廣度和深度更加直觀的去分析需求。他能夠把咱們整個的思考過程層次化、結構化的表達出來。思惟導圖的工具備不少,在這裏主要跟你們分享、比較下北月用過的幾個,孰優孰劣,你們本身去判斷。
分析結果也有多種的表現形式,以最開始買電腦的故事爲例,能夠變現爲:
將這些肯定的條件合起來,咱們就能夠獲得買電腦的需求。
測試需求分析的類型(從廣度上分析)
測試需求分析的類型其實你們也再熟悉不過,你們能夠參考清流的文章"這樣考慮測試點,作個合格的測試工程師",在這裏北月很少說。
舉個栗子
接下來咱們以「網易雲課堂」的一個小功能爲例,從功能、性能、兼容性方面簡單的實現測試需求分析。下圖是網易雲課堂一個功能的交互稿:
那麼測試需求是什麼呢?
首先咱們先考慮功能測試測試點:須要分析用戶參加課程的行爲,可能會出現哪幾種狀況?用戶是否登陸?參加課程是否成功?參加課程失敗的緣由多是什麼?
在這裏須要注意,在需求文檔、交互稿裏沒有明確的狀況須要咱們測試人員發散思惟去考慮到而不是由於需求文檔沒有明確而不考慮。
其次咱們考慮性能測試需求。通常性能測試的需求不會明確表示在需求文檔和交互稿裏面,須要咱們去和產品、開發溝通,依靠咱們的經驗去明確。好比說,上萬用戶同時參加某個課程,是否是會出現有人沒法參加課程的狀況?程序響應速度會不會變慢?會對服務器產生哪些影響?所以性能測試需求,咱們要對大量用戶同時參加課程進行測試;那麼咱們想到,參加課程須要用戶提早登錄,所以咱們還要對大量用戶同時登錄進行測試。
接下來是兼容性。咱們知道目前市面上的手機有不少品牌,但手機系統主要分爲Android和IOS,還有少部分的windows;PC系統主要有windows、mac和Linux;瀏覽器主要有火狐、谷歌、IE等。
咱們首先要確認,咱們的系統目標是要支持那些系統?哪些平臺?哪些瀏覽器?而後根據系統目標去考慮兼容性的測試內容。
如今,對於測試需求分析,你們有沒有大概的瞭解呢?歡迎你們跟我一塊兒交流測試方面的問題哦:672899761。