如何讓軟件測試更理性?
一、前二天在寫一份PPT,看到波普爾哲學:
卡爾.波普爾的哲學:科學理論和人類所掌握到的一切知識,都不過是推測和假想,人在解決問題的過程中不可避免地摻入了想象力和創(chuàng)造性,人們只能依靠僅有的數(shù)據(jù)來證明一條科學理論。這一“可錯性”原則所推演出的“真?zhèn)尾粚ΨQ性”(真不能被證明,只有偽可以被證明)。
二、軟件測試是一份非理性的職業(yè)
1、軟件測試能證明軟件存在Bug,不能證明軟件不存在Bug。
2、軟件測試無止境,但測試周期有嚴格限制。
3、軟件質(zhì)量是一步一步積累、提高的。
4、《軟件測試的藝術》,雖然當前還是很苦逼的職業(yè)。
三、舉例個人經(jīng)歷過的3個不同行業(yè)的故障
● 故障:
1、2008年,同一個版本,上海、成都同時割接(通信行業(yè)專有說法)新版本,成都用戶投訴,手機不能訪問網(wǎng)站,上海正常。
2、2011年,新版本(金融行業(yè))上線后,4個用戶扣款失敗。
3、2012年,版本(團購)發(fā)布后商品價格設置為19.9,顯示變成18.89。
● 原因:
1、成都的無線信號比上海的差,網(wǎng)絡大量重發(fā)包,導致句柄耗盡。
2、新版本部署過程中,有4個正在扣款的任務;部署完成后,補償處理扣款任務失敗。接口有一個備注參數(shù)調(diào)整(英文->中文),支付方校驗前后參數(shù)不一致,扣款失敗。
3、19.9–>18.99,Java的浮點計算精度丟失。
● 總結(jié):特定環(huán)境、特定用戶、特定場景下發(fā)生的bug,測試人束手無策。
四、如何讓測試更理性
● 系統(tǒng)實現(xiàn)透明–>代碼質(zhì)量提高
1、告別黑盒。
2、學習代碼、框架,理解實現(xiàn)(一個月)。
3、code review開發(fā)代碼(長期)。
4、充分了解與外部的交付細節(jié)。
5、促進代碼質(zhì)量(長期)
● 測試設計更全面–>自動化持續(xù)積累
1、擁有:測試理論 + 業(yè)務知識 + 系統(tǒng)實現(xiàn)。
2、用最少的用例達到業(yè)務覆蓋。
3、用最多的思考,追求場景的豐富。
4、長期積累,如果實現(xiàn)自動化更佳。
五、做到什么程度才理性
1、本身就是一個非理性的職業(yè),沒有答案。
2、測試覆蓋率要多少?缺陷密度要多少?轉(zhuǎn)測試標準要如何?code review要多少?自動化率要多少?探索性測試多少?沒有答案。
3、根據(jù)公司、產(chǎn)品、團隊情況,做到當前的理性就可以,慢慢積累向更理性努力。
4、不過,如果一個人堅持理性主義,那么他本身就是有非理性主義因素的。
posted on 2012-05-09 09:28 順其自然EVO 閱讀(179) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄