測試人員的修煉測試思想成熟度模型

1    測試人員的修煉——測試思想成熟度模型

     上週在一次小組會議上,我問到大家做測試的目的是什麼?剛纔的實習生小姑娘回答說,是爲了發現BUG。繼續問,測試之後發現了什麼?回答說,發現我們產品的BUG滿天飛。然後再問測試的目的是什麼呢?她說,是爲了發現關鍵的BUG。非常好,能夠發現影響到產品質量的關鍵BUG,就初步具備了軟件測試人的素質。在我的測試思想成熟度模型中,定義爲”測試一段“。

     從測試目的出發,總結了測試人員的思想成熟度模型。從一段到七段,由初級到高級。

測試一段:發現BUG,發現有價值的關鍵的BUG。
測試二段:定位BUG,積極主動的定位BUG。
測試三段:解決BUG或提出解決方案。
測試四段:總結和分享
測試五段:思考和預防
測試六段:規範流程
測試七段:成本意識

 

(以後要畫個圖)

     這是一個真實的例子,我們在一次迭代中的例行迴歸測試時,場景準備(略),數據準備(略),執行(略)。重點說驗收測試結果,首先觀察系統頁面展示,程序運行正常無告警。其次查看日誌,無各級erro報告。然後查看數據庫中相關業務表,結果也是對的,沒有發現異常。以上各項指標已符合預期輸出,有些測試人員到這裏,就認爲這個CASE通過了。如果真是這樣的話,我們就錯失機會了。還好實際上,我們的測試人員是足夠優秀的,在寫測試報告的過程中,從程序輸出的日誌裏發現了異常,剛剛測試的程序,走了另外一個分支(國外的業務邏輯,國內是不使用的),而我們的業務邏輯完全沒有被覆蓋到。所以之前的測試是無效的,需重新驗證。事後想想,如果走錯版本分支這件事不被及時發現的話,版本直接發佈到現場,後果是不堪設想的。我們知道,我們發現了一個嚴重的BUG,如果不修復,接下來的一系列測試CASE將無法展開(都是基於國內分支的)。所以說測試不但是一個正明的過程,更是一個正僞的過程。正僞過程中,通過逆向思維能夠發現更重要的問題。至此,我們完成了測試人員的第一級修煉,到達“測試一段”。

 

   可是程序爲什麼會走錯分支呢?查看了DB中相於流程分支的配置,正常的。程序的版本,正常的。諮詢了相應的開發,國內邏輯沒有變,與國外是完全不同的,日誌裏會打印版本信息。同時,又是一個棘手的BUG,如何定位是一個挑戰。
     誰來定位問題,對此存在很多爭論,有些測試人員認爲定位BUG是開發的事,測試只管發現並提交BUG。那些執相反意見的人,比如開發人員或對自己有較高要求的測試人員,認爲這樣說是不負責的,等等,然後爭論。其實沒必要,從思維的角度觀察,如果一個測試人員認爲定位BUG完全是開發人員的負責的話,我們可以發現客觀的原因是,這名測試人員的思想成熟度不夠高,還停留在測試一段的水平。世界觀決定方法論。

     有了主動定位BUG的思想,就具有了向上的階梯。定位問題的能力涉及非常廣泛和深奧遠超軟件工程的範圍,單說軟件產品,定位問題涉及到軟件運行的平臺環境(主機、數據庫、中間件、網絡等),程序(業務程序、框架程序、外圍接口),業務數據,配置等。上面的這個事例中,我們最終發現是DB中一個基礎配置項(決定業務分支)的確被修改過,之後又被改回正確的值,當我們查看的時候,DB中的配置是OK的。而程序在運行時直接使用的配置是加載在專門的共享內存容器中的(從DB加載到共享內存中),被改掉之後做了刷新,恢復之後,沒有做刷新的動作。所以,導致了業務流程全部走到一個無效的分支。問題終於定位了,測試人員主動探尋並定準BUG所在的修煉,使我們成爲測試二段。

 

     問題終於定位了。有人說,這下好了,可以鬆一口氣了。解決問題的分工,我們公司通常由開發解決程序問題,QA解決配置和數據問題。例子中,這個BUG是由配置引起的,所以QA改一下配置然後刷新就解決了。事實上我們也是這麼做的。在接下來的測試過程中,陸續測出了很多BUG,並及時提交給開發修復了代碼,最終發佈了一個比較穩定的版本。

 

     可是,問題真的解決了麼?

事情沒有這麼簡單。兩週後,下一個的迭代中,我們再次發現了類似的BUG,同樣的配置又被修改了。於是問題有了新的引申,需要重新定位和更全面的解決方案。
     一翻努力之後,問題浮出水面了。另外一個產品線,在這個環境中部署了一套自動化的CASE,在準備場景的時候對基礎配置重新做了初始化,這個配置對他們產品線沒有影響,只是爲了方便把配置表做了全表替換。到此,真正的問題找到了。之後,雙方做在一起共同梳理了基礎配置。使得雙方的測試都可以正常執行,不再相互影響。

     找到問題真正所在,並從根源上解決,做到了這一點,那麼恭喜你,可以晉升爲測試三段了。

 

     接下來的修煉歷程,從認知理論出發,解決了一個問題,並不帶表我們真正懂了,掌握一門知識離不開總結和分享。寫個郵件,將以上對問題的分析和處理過程分享給團隊其他成員或其他團隊,讓大家共勉,避免類似問題再次發生。再回到解決問題的角度來思考,總結和分享的過程,實現了從解決單點問題,發展到瞭解決多點問題,甚至繼續擴展到一個面。這是一個很大進步。


     
今天先寫到這裏,後面還有很多在醞釀,將慢慢呈現給各位朋友。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章