1. 程式人生 > >軟體測試價值觀-SMBT新理念

軟體測試價值觀-SMBT新理念

軟體測試價值觀-SMBT新理念

作者:張元禮

近年來有不少軟體測試同行不少有些困惑-軟體測試人員的價值在哪裡?我們怎麼才能做好軟體測試?怎麼才能讓自己的價值在團隊中得到最佳的體現?在這裡SMBT理念會給你答案,你所有的困惑將會迎刃而解。

一、SMBT是什麼?

SMBTShortest timeMost bugBest bugTrack bug這幾個單詞的縮寫,其含義就是“測試人員要在最短的時間內發現最多最有價值的Bug,並將Bug跟蹤到底”,這就是我們測試人員追求的最高價值。其核心包括:一個宗旨、四個關鍵域

附:SMBT圖示

二、SMBT宗旨

以產品成敗為出發點,站在整個專案團隊的立場上思考問題、解決問題,而不是單一的從測試團隊或者個人為出發點。

在這點我想說明的是:在一些企業裡面的某些產品團隊因為或多或少的原因導致產品失敗,最後影響整個產品團隊的考核,這個時候必然會有一部分測試人員跳出來說我們測試做的挺好的,產品失敗和我們沒什麼關係,為什麼給我們也考核得那麼差。這時我想對那些測試人員或者主管測試的負責人說,你們真的錯了,你們是為整個產品團隊服務的,雖然產品失敗的因素可能會很多、可能和你沒直接關係,試想一下難道真的和你一點關係都沒有麼?如果現在用SMBT的宗旨來看待這個問題,你勢必會找到你錯在了哪裡!我們不能有本位主義的思想來禁錮自己,我們一切要為整個產品團隊出發,只有這樣你才能在整個產品研發過程中充分發揮你的才能為整個產品服務,而不是單單的測試活動,因為單單的測試活動是遠遠不夠的,這是傳統的測試理念和思維給我們帶來的弊端,也是SMBT

產生的根本。

三、SMBT關鍵域

1.         Shortest time:最短時間、儘早、儘快

一方面Bug無限,時間有限,這個道理大家都知道,我們在測試工作中測試的時間是有限的,我們的每一項測試的時間都不可能很充足,隨著網際網路行業的競爭越來越大,產品更新換代的週期日益縮小,企業稍微慢一步,整個產品就完全沒有競爭優勢,勢必會被競爭對手搶佔先機,即使你有創新的想法,但沒有最快的速度上市,也難得商機。不管是網際網路行業還是其他行業,現在都是快魚吃慢魚的時代,在這種環境下,對我們的研發團隊、我們的測試人員提出更高的要求,那就是快--快,一點都不能慢。測試時間長了即使你產品的質量再好,因為時間關係錯失商機、流失使用者,我們所有的付出都將白費。

另一方面從研發模式來講,現在很多企業都比較推崇敏捷研發模式,這也是追求快速響應的一個途徑,然而對於測試來講,我們一定要儘早的發現Bug,讓開發人員儘早的修改,或者讓產品人員調整需求,而不是到了產品最後某些本應該前期發現的Bug結果到了產品快上線的時候才發現,一旦這個時間出現比較嚴重的Bug,這將會對整個產品的研發進度造成嚴重的影響,同時因為這個Bug的修復勢必會對本來感覺已經穩定的系統帶來重大的質量干擾,因為修復Bug在很大程度上必然會帶來新的Bug,至於修復Bug的難度那就更不用說了。特別是在產品研發的後期發現需求流程上的問題,這將是災難性的後果!

2.         Most bug:最多Bug

量變到質變是事物的變化規律,測試也如此,只有Bug的量上去了,產品的質量才能有所改觀,如果Bug在數量上上不去,這對測試活動有信心談何容易,一旦遇到這種情況測試經理們就頭痛起來了,因為這必定是一個危險的訊號,我們的信心將會蕩然無存,除非系統質量足夠的好,測試手段足夠的高超,否則我們將會面臨產品上市後的最大危機。

3.         Best bug:最有價值Bug

之前談到我們儘早發現Bug、發現最多的Bug,難道這樣就可以了麼,很顯然特別的片面,進一步的說我們還要發現有價值的Bug。那麼什麼樣的Bug才算有價值呢?直白一點就是最影響系統使用、對系統功能模組有嚴重影響或者破壞作用的Bug,最能決定研發週期的Bug,比如說如果事先能把需求類的Bug在需求階段提出來解決而不是等研發末期提出來,還有就是影響系統架構的Bug以及一些隱藏很深修復難度及波及面廣的Bug,所有這些都是從量變到質變的過程。

4.         Track bug:跟蹤Bug

經常會遇到一些專案在專案末期了才去關注以前提交的Bug,測試人員儘管很早就提出了很多嚴重的Bug,沒有引起開發人員的注意或者測試人員跟進不給力,在這個時候需求類Bug提交的早、也提交的多、並且也很有價值,甚至有些直到產品釋出上線運營了有客戶投訴或者在運營過程中再次暴露的時候才引起關注,此類情況的發生直接說明前期所做的測試工作算是白做了,根本沒有對產品質量做保證和提升嘛。也就是說我們測試人員缺乏明顯的跟進,只發現Bug而不跟進Bug修改這是測試人員最大的悲哀,反之如果測試人員做到了這點也是測試人員的最大價值體現,我們找到Bug不算什麼,關鍵還是要讓Bug得到解決,這樣才能對整個產品負責,也只有這樣測試人員的價值才能得到真正的發揮和體現。

四、SMBT運用

1.         領會SMBT的宗旨,建立良好的心態,做一個有責任心的測試人員,明確自己的工作不僅僅是測試工作,而是為整個產品團隊服務的工作,當然這得根據自己的精力和能力來限定範圍,不能什麼都抓什麼都做。

2.         如何實現Shortest time

1)        儘早介入到產品研發活動中,特別是產品需求階段是很容易被忽略的,有問題儘早發現;

2)        對測試活動及相關的安排進行合理的部署,測試策略、測試方法及測試工具的選擇對測試效率的影響至關重要。

3.         如何實現Most bugBest bug

1)        加強測試設計的能力,提升測試技術基礎勢在必行,剖析被測物件的內在,而不僅是表象。

2)        站在產品使用者的立場思考問題做好測試設計、深入挖掘使用者行為和心理、深入理解系統執行機制及實現原理,這些都做到了,還做不到Most bugBest bug真的很難。

3)        不能單一的追求Most bugBest bug,要兩者兼顧,要在Most的基礎上Best

4.         如何實現Track bug

1)        以主人翁的心態對待每一個Bug,我們不僅負責測試出Bug,還要將這個Bug的修改情況負責跟蹤到底,直到最終解決不再復現為此,也只有這樣我們的測試工作才算完成。另外還要以積極的心態高效的跟進,不能有半點耽誤和延遲。

2)        不光要配合Bug修改,更重要的是要起到督促的作用,測試人員的行為要為整個專案負責。

領會SMBT宗旨,將SMBT四個關鍵域融會貫通、運用自如,此乃測試最高境界也!

PS:坦誠的講,鄙人自知對SMBT的理解或許存在一些不完善的地方,在此也算是起到拋磚引玉的作用吧。希望測試界的廣大同仁及讀者能夠對SMBT進行完美的補充,讓SMBT更加完善,理念更加深入透徹。也希望測試工作者能夠靈活運用到企業中,更好的改進測試工作,提升測試價值,保持測試行業的絕對競爭優勢!