一個優秀的軟體測試工程師該如何進行需求分析

資深測試發表於2018-04-26
一個優秀的軟體測試工程師該如何進行需求分析

不知道大家有沒有這樣的想法,為什麼別人的需求分析寫的這麼好呢?而自己寫需求分析的時候總是腦袋瓜子都抓破了,還被老大批評?今天我就給大家講一下——一個優秀的測試工程師如何進行需求分析呢?

好的測試工程師,需要有測試的思維方式。

測試分析和設計能力,就是這種思維方式最好的體現。

接觸過測試的人都應該清楚“測試需求分析”的重要性。就好比是建樓的地基,地基不牢,再好、再高的大樓都可能在頃刻間崩塌。

那麼如何科學的進行測試需求分析呢?BAT乃至Facebook等國外的先進網際網路公司的頂尖測試工程師又是如何進行需求分析呢?我們常規的需求分析又有哪些不足呢?今天利用上班時間好好和大家一起聊一聊測試需求分析的那些事兒。

一個優秀的軟體測試工程師該如何進行需求分析

  • 軟體測試的生命週期

在討論測試需求分析之前,我想跟大家明確一下軟體測試的生命週期。很多朋友對整個測試過程的週期不甚瞭解,導致測試工作混亂不堪,名有明確的思路。這樣是無論如何都不能做好軟體測試工作的。

一個優秀的軟體測試工程師該如何進行需求分析

測試需求分析:從產品需求挖掘出我們需要的測試需求

測試設計:根據測試需求,設計測試方案和測試用例

制定測試計劃:根據專案實際安排人員週期

執行測試:依照測試計劃,執行測試用例

質量評估:提交Bug,提交測試報告

  • 為什麼要做測試需求分析?

舉一個現實生活中大家經常用到的例子。生活中可能經常有人這麼問你:我想買臺電腦,有什麼推薦麼?那麼我們是不是需要問這麼幾個問題:買來幹嘛的?桌上型電腦還是筆記本?你預算多少啊?對系統有啥要求麼?

一個優秀的軟體測試工程師該如何進行需求分析

只有這些問題我們都明確了之後,我們才能夠幫忙去推薦。也就是說,通過這些問題,我們才能瞭解對方的需求。同樣,我們做測試工作,產品需求並不等於測試需求,如果沒有測試需求分析,就會導致我們對產品瞭解不完整、不準確,對產品的測試也會不透徹。所以,測試需求分析是必不可少的環節。

  • 如何進行測試需求分析呢?

一個優秀的軟體測試工程師該如何進行需求分析

分析任何一個事物,我們都需要一個分析物件,同樣測試需求分析首先要有一個分析物件。作為測試需求分析的物件,一般有這麼幾種形式:產品需求文件、互動稿、技術文件、會議紀要等其他參考資料。根據這些資料文件,我們從測試的角度進行分析。

  1. 產品需求文件

  2. 互動稿

  3. 技術文件、會議紀要等其他參考

  • 在測試需求分析的過程中我們需要用到一些思維導圖的工具,幫助我們從廣度和深度更加直觀的去分析需求。他可以把我們整個的思考過程層次化、結構化的表達出來。思維導圖的工具有很多,在這裡主要跟大家分享、比較下北月用過的幾個,孰優孰劣,大家自己去判斷。

一個優秀的軟體測試工程師該如何進行需求分析

  • 分析結果也有多種的表現形式,以最開始買電腦的故事為例,可以變現為:

一個優秀的軟體測試工程師該如何進行需求分析

將這些確定的條件合起來,我們就可以得到買電腦的需求。

  • 測試需求分析的型別(從廣度上分析)

測試需求分析的型別其實大家也再熟悉不過,大家可以參考清流的文章"這樣考慮測試點,做個合格的測試工程師",在這裡北月不多說。

  • 舉個栗子

接下來我們以“網易雲課堂”的一個小功能為例,從功能、效能、相容性方面簡單的實現測試需求分析。下圖是網易雲課堂一個功能的互動稿:

一個優秀的軟體測試工程師該如何進行需求分析

一個優秀的軟體測試工程師該如何進行需求分析

那麼測試需求是什麼呢?

首先我們先考慮功能測試測試點:需要分析使用者參加課程的行為,可能會出現哪幾種情況?使用者是否登入?參加課程是否成功?參加課程失敗的原因可能是什麼?

一個優秀的軟體測試工程師該如何進行需求分析

在這裡需要注意,在需求文件、互動稿裡沒有明確的情況需要我們測試人員發散思維去考慮到而不是因為需求文件沒有明確而不考慮。

其次我們考慮效能測試需求。一般效能測試的需求不會明確表示在需求文件和互動稿裡面,需要我們去和產品、開發溝通,依靠我們的經驗去明確。比如說,上萬使用者同時參加某個課程,是不是會出現有人無法參加課程的情況?程式響應速度會不會變慢?會對伺服器產生哪些影響?因此效能測試需求,我們要對大量使用者同時參加課程進行測試;那麼我們想到,參加課程需要使用者提前登陸,因此我們還要對大量使用者同時登陸進行測試。

一個優秀的軟體測試工程師該如何進行需求分析

接下來是相容性。我們知道目前市面上的手機有很多品牌,但手機系統主要分為Android和IOS,還有少部分的windows;PC系統主要有windows、mac和Linux;瀏覽器主要有火狐、谷歌、IE等。

一個優秀的軟體測試工程師該如何進行需求分析

一個優秀的軟體測試工程師該如何進行需求分析

我們首先要確認,我們的系統目標是要支援那些系統?哪些平臺?哪些瀏覽器?然後根據系統目標去考慮相容性的測試內容。

現在,對於測試需求分析,大家有沒有大概的瞭解呢?歡迎大家跟我一起交流測試方面的問題哦:672899761。



相關文章