背景信息:央視:彩票站的驚天秘密,站主利用漏洞中獎2800萬,2011年11月24日...本案例的主人公利用漏洞,知道中獎號碼后在買,5分鐘漏洞造就2800萬神話,數千次兌獎福彩未察覺。
看到這個新聞,不由得讓從事軟件測試的我們引發很多思考,從某種意義上來說,我不得不佩服這個站主的思維方式,很顯然的是,整個福彩的軟硬件系統肯定是經過相對嚴格的軟件測試和硬件測試的。那為什么還有出現這么低級的“軟件漏測”呢?到底是軟件測試的意識有問題?軟件測試工程師的責任心有問題?還是軟件測試需求分析與設計有問題?(也就是說根本就沒有想到這一點?)還是軟件測試管理層面的問題?但是不管是哪一個方面的問題,這個事件注定會給整個彩票行業帶來深刻的反省和思考,也會給軟件行業帶來反省和思考,更會給軟件測試帶來反省和思考。這個聯想到淘寶將很多賣家“商品價格被改為1元”軟件故障事件來看,不由讓人膽寒。在軟件測試行業里面來看,相對于其他企業而言,阿里巴巴集團包括淘寶都是比較重視軟件測試的,從51Testing企業招聘板塊也經常可以看到他們的招聘信息。從這一點來看,中國軟件質量、中國軟件測試任重而道遠。
分析這兩個事情,我發現這里面最根本的問題還是解決軟件測試質量根本之道的軟件測試需求分析與軟件測試設計,一個企業重視測試還是不重視軟件測試,軟件測試做得好還是不好,第一步也是最重要的一步是解決What to test和How to test。而不是盲目地去做自動化,盲目的測試開發。對于一個優秀的測試工程師而言,首先也是必須要會的就是測試分析與設計。那么接下來,我們來分析下,怎么樣才能做好軟件測試需求分析與軟件測試設計。從福彩的這個漏洞來看,是站主利用了這個漏洞,而不是普通的彩民。那為什么會這樣呢?我臆想下,可能當初在測試整個系統的時候更多的是從買彩票的彩民的角度來測試,本沒有過多考慮到彩票站站主這樣一類用戶。在做好軟件測試需求分析相關的方法論上有一種方法叫做“關聯圖分析法”這種方法簡單地來說,是從不同的“用戶類”的角度來思考,所謂用戶類用戶類不一定指人,可以把其他應用程序或者系統接口所用到的硬件組件也可以看成是附加用戶類成員。有一些受產品影響的人并不一定是產品的直接使用者,而是通過報表或者其他應用程序訪問產品的數據和服務,比如站長是區別與彩民之外的另一類用戶類。用戶類可以是執行者,也可以是應用軟件、系統硬件、目標實體、接口實體或者三維空間、時間等等。應用軟件:是指用戶通過其他軟件來操作被測特性的軟件。系統硬件:理解范圍可以寬些,系統有硬件和軟件組成,直接影響被測特性運行的硬件都認為是系統硬件。目標實體:可以理解為影響被測特性的公共模塊或者實體。接口實體:是指和被測特性有關聯的外界接口實體。三維空間、時間:可以理解為時間、空間、環境對被測特性的影響。比如:這個案例里面的福彩系統在開獎一段時間內在檢查。更通俗地說,我們測試一個系統,要關注的是全方位的,比如這個系統影響了誰?誰在用這個系統?誰為這個系統提供數據?誰來維護系統?這個系統在特殊的時間下是否有特殊的用戶行為等?
當然這個案例很容易想到要用這一種方法,其實軟件測試的方法和很多,好比軟件測試武功的武功秘籍,最重要的是掌握的方法要全面,并且要知道每一種方法的優點、缺點、適應范圍,就好比跆拳道中短距離進攻優勢很明顯,泰拳靠的是力量,柔術一定是貼身的,太極靠的是借力打力的套路。下面一個圖可以幫助大家更清晰地了解軟件測試的技術體系,其中包括最為重要的方法論體系。當然大家也可以關注我以前的一個文章:http://www.51testing.com/index.php?uid-94273-action-viewspace-itemid-197958
版權聲明:本文出自 linlinxu 的51Testing軟件測試博客:http://www.51testing.com/?94273
原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。