《軟件測試的又一次思考》

《軟件測試的又一次思考》

好久沒有寫思考主題的博客了,不是沒有寫的,而是最近確實有點忙。自己同時開發2個B/S項目,2個都已經上線。沒錯,你沒有聽錯。一個測試人員,開發了2個網站項目,自己的idea,已經上線了。告訴大家,只是想說,每一個測試人員,不要放棄學習,只要學習,你可以做的更好。

言歸正傳,之前寫過軟件測試的一次思考,所以,這篇題目叫“又”一次思考,希望把我的這些思考分享給大家聽。是自己做項目開發過程中,產生的一些軟件測試思考。

第一:軟件真的應該有那麼多bug嗎?

我這麼說一句話,如果一個項目是開發人員自己接的“私活”,或是自己開發的項目,軟件的質量絕對好的很,而且還不需要測試人員介入測試,自己就可以把軟件做的很好。而這個項目如果是公司的一個項目,很可能即使測試天天追着屁股改bug,bug還是一大堆。大家不相信嗎?這是鮮活的發生在我身邊的例子。我自己也開發項目,從前端到後臺,到運維部署,真的沒有太多的bug出來,因爲自己在開發中會主動反覆去驗證開發結果。

那爲什麼公司裏面的開發人員,就有那麼多的bug,需要測試人員來發現?有人說,公司時間緊,要的急。我說也不全是,很多開發“私活”時間要的更急,開發人員都是下班後回家加班趕進度。那關鍵的問題在哪裏?軟件真的應該有那麼多bug嗎?

問題的原因有幾點:

第一,公司開發中,出問題了,總有解決問題的人。而自己開發,問題出了,只有靠自己,所以,開發過程中的心態都是完全不一樣的。

第二,公司開發中,出了問題,叫bug,bug還要被發現,發現不了有一半算測試的,另一半纔算自己的。而自己開發中出了問題,後果都是自己承擔。所以,開發過程中的態度都是完全不一樣的。

第三,公司開發中,產品的收益歸公司,自己只是可能能拿到一點獎金。而自己開發中,有收益都是自己的。所以,開發過程中的積極性都是完全不一樣的。

心態、態度、積極性 3點完全不一樣。同一個開發,完全可以判若2人。所以,說的明白點,測試人員實際上是爲一個應該達到,但卻達不到的合作方式,從另一種方式上達到而存在。那既然是自認爲達不到,那麼,就有一個達不到的“x範圍”,同時,用另一種方式達到,那麼達到的“y範圍”一定是以“x範圍”爲參考。所以,可以這麼說,軟件開發實際上並不會有很多的bug,更多bug產生的原因是現有軟件生產方式中對“達不到”理論的錯誤堅持和信仰。(就像當印度國家精神中默認了女性社會地位低下,強姦犯罪率不高才怪了,何況即使抓到了犯罪者,不加以法律的懲罰,就是在支持繼續犯罪。)

第二:自動化測試的方向?

我們測試人員,確定一個軟件執行的結果是否是一個bug,將這個過程模型化,大概是這樣:計算一個函數f(), 輸入x值,得到f(x),判斷f(x) 是否等於y,不等於時判定爲bug,開發改寫f(x),測試再次循環走計算流程,進行判斷,直到f(x)=y。但實際情況卻如此複雜,一款軟件產品,有很多個f(),x的取值範圍不同, y的取值範圍也不同,在加上覆合函數,組合函數,變化着的函數,似乎我們是在參加一個永遠也計算不完的數學考試,所有人都擔心,哪一道數學題被遺漏,而導致y的結果錯誤沒被發現,使得整個考試失敗,或失去的那一分讓成績難看。這個局面確實有點尷尬,這就是所謂的測試“無窮論”。但我們是否可以再思考一下,在人類的世界觀中,或許這種無窮論的根基是起源於人類無窮的想象力,思考是無窮的,可能就是無窮的。但,如果是機器的世界觀呢?所有的可能性相加,達到一個值的時候,人類是否還可以將數字“1”確認爲“0”,而不再確認爲“1”?從這個角度講,測試一定不是無窮的,也就是說,“數學考試”的題目,是可以被確定數量的。
有人問了,那你拿什麼來證明?目前,測試行業所進行的自動化測試不就是在做這麼一個事情嗎?找到可被確認的“數學題”,讓機器去判斷對錯。如果測試是無窮的,那麼迴歸測試階段越來越多的採用自動化測試後上線軟件,測試還是無窮的。所以,反而正是人們將測試認爲是有窮盡的,並達到認爲的窮盡邊緣時,才發起了上線這一行爲。“邊緣”是一個什麼值?這個值,就是人類對科學規律認知的已知邊緣。對於大衆百姓來說,“邊緣”就是那句話,“這樣是對的”。
既然測試是有窮的,可被度量的。那麼,就存在被計算機判斷的基礎。現在大家所做的自動化測試,實際上就是對這種方式的一種實踐。只是,出於更多商業的目的,少有人去對基礎通用的自動化單元進行研發,而更多的關注於自己商用軟件的自動化業務流水線。導致社會的力量,更多的去實現短期的商業的保障,而不是建立長久的“代碼自動測試基礎庫”和這方面的AI訓練。
但,總會有人來嘗試做這方面的事情。軟件開發的發展,一定會在某一天發生質的改變,軟件開發一定會是人與機器的更深入結合和生產,而軟件測試,也一定會走上人與機器相結合的測試。就像當你有了外骨骼,你一定能舉起重自己幾倍的物體一樣。

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