文章目錄
- 軟件測試的生命周期
- 軟件測試的各個階段
- 線上環境
- 測試中的BUG
- 描述測試BUG
- BUG的級別
- 為啥要定義BUG的級別?
- BUG有哪些級別呢?
- BUG的生命周期
- 測試與開發發生爭執怎么辦?
- 測試與開發會發生啥爭執?
- 為啥會發生這樣的爭執?
- 測試與開發發生爭執怎么辦呢?
- BUG評審
- BUG評審的三個代表
- BUG評審要解決的兩個問題
軟件測試的生命周期
有人看完上面這個圖就會想,這不是和前面說過的軟件生命周期差不多嗎?沒錯,就是因為軟件測試貫穿軟件的整個生命周期,所以在軟件開發的每個階段,對應的都有測試需要干的工作
軟件測試的各個階段
階段 | 內容 |
---|---|
需求分析 | 看看軟件需求設計上是否存在業務邏輯錯誤、冗余、沖突等問題 |
測試計劃 | 制定測試計劃:什么時候開發測試,什么時候結束測試,耗時多久 |
測試設計與開發 | 編寫測試用例 確定測試方法,測試工具,測試形式等等 |
測試執行 | 充分利用測試用例和測試工具對項目盡可能做到全方面的測試覆蓋 |
測試評估 | 產出一個測試報告 |
上線 | 測試線上環境 |
運行維護 | 由于測試人員對項目產品的業務和操作非常了解,加上測試人員的溝通表達能力一般都比較強,所以測試人員可以參與用戶使用軟件的培訓,在試運行項目時收集問題并及時反饋給相關負責人 |
線上環境
實際在工作中,上線要分成多個步驟:沙盒、小流量、全流量、全線上。
為什么又要細分這幾個階段呢?因為上線的過程中也可能會存在問題,即使線下測試沒有問題,如果直接推到線上可能會發現問題。
- 沙盒:企業內部的線上環境,可以供內部人員進行測試;
- 小流量:部分線上真實的用戶可以使用到,測試人員要在線上手動測試,還要觀察有沒有錯誤日志,還要接收用戶在使用過程中發現的問題;
- 全線上:所有的真實用戶都可以使用到
線上環境和線下測試環境并不是完全一樣的,因此每一步都需要跟進測試。
測試中的BUG
測試中的BUG和我們開發中的BUG有些不一樣
- 首先,如果你程序中實現的功能和軟件需求中提到的功能不一樣,那不管它有沒有報錯,它就是BUG!
- 如果用戶用的不舒服,即使程序完全符合軟件需求,這也是BUG
比如下面這個例子,軟件需求中沒有規定按鈕的大小,但是用戶看著不好看,這也算BUG
描述測試BUG
描述bug的基本要素:問題出現的版本、問題出現的環境、問題出現的步驟、預期結果、實際結果
舉個例子,看下面的網頁,在谷歌瀏覽器上呈現出來,它的二維碼會被登錄界面遮住。這個問題應該怎么描述呢?
BUG的級別
為啥要定義BUG的級別?
- 同時存在多個BUG,我要優先修復級別更高的BUG
- 評價一個程序員的績效,不僅要看他工作中出現BUG的數量,還要看他搞出來的BUG的級別,搞出BUG越嚴重,那他就越菜
BUG有哪些級別呢?
bug級別一般分為:崩潰、嚴重、一般、次要
BUG的生命周期
測試與開發發生爭執怎么辦?
測試與開發會發生啥爭執?
- 測試說:你這個BUG的級別是崩潰級別
- 開發說:我覺得我這個BUG不至于級別那么高
為啥會發生這樣的爭執?
- 測試找的BUG越多,績效越高
- 開發出現的BUG越多,績效越少
測試與開發發生爭執怎么辦呢?
- 先反思自己BUG描述得清不清楚
- 從用戶使用感受的角度說明問題
- 根據公司BUG定級文檔,給出自己BUG定級的依據
- 不僅指出問題,最好還要給出解決方案
- 如果前面四條不管用,就發起BUG評審,讓第三方來評判
BUG評審
BUG評審的三個代表
- 測試代表
- 開發代表
- 產品代表
BUG評審要解決的兩個問題
- 如何解決這個BUG
- 如何預防這個BUG