做軟件測試工作時間長了,少不了在一些功能測試、性能測試方法上產生交集,這也是很難避免,較差使用一些思維方法可能會產生意想不到的效果。
我們在性能測試工作中,也會有一些因為理解上的問題,鬧出笑話,今天我們就聊兩個比較常見、而且有意思的問題。
1、提升硬件就能提升性能,何必做軟件優化
在工作中經常會遇到這么一個場景,給客戶做了一個系統,隨著時間的推移,客戶系統的數據量、用戶量,逐步積累,系統的性能(一般指響應時間)越來越長,客戶會第一時間找到市場人員讓提升性能,最終解決方法毫無疑問地到了開發團隊,通過優化代碼、數據庫、內存等進行一次重構,在一定層度上可以提升性能。過了一段時間,相同的事情又來了一遍,這時候的開發團隊就會跳腳了,軟件優化也是有限度,不能一直依賴軟件優化來提升系統性能吧,這時候最多的回復就是:你能增加一臺服務器嗎?要么重新簽合同,全新架構重做,
建立共識是:系統性能是由系統組成中的軟件、中間件、硬件、網絡、數據庫、系統等諸多因素影響的,性能問題要比功能問題復雜的多,在優化的時候,一定是綜合所有要素提供最有效、最有性價比的方案才行,既不能簡單的增加服務器,也不能把所有的鍋都讓開發團隊背。
2、客戶提了不切實際的性能需求
記得之前見過一個客戶提的性能需求,也成了我經常提的案例,一個地區加油站做了一套會員系統,其中包括加油儲值、會員積分、積分兌換等功能,給我們提的性能要求是500人并發,雖然這不是很難實現,但是這個需求合理性上有待商榷,客戶系統注冊用戶在10000左右,在線用戶也就幾百,這哪里來的500人并發啊,能有50就不錯了,這就是對性能概念的不清晰而提出的不切實際的需求。
建立共識是:性能需求要根據具體的行業、使用場景來確定,我們可以留出一些余量,總之,對待性能問題要根據實際情況來決定,系統性能滿足用戶現在以及未來一定時間的使用需求就可以了,因為軟件有其生命周期,沒有一個軟件系統能夠永遠地使用下去,此外,在整個軟件生命周期內,還可以通過升級等手段來解決系統性能問題。因此,對于軟件性能把握一個適量的“度”即可。
3、性能測試環境的選擇
有人說性能測試可以在開發環境、測試環境中做,也有人堅持認為一定要在真實的線上環境做,其實這都合理,測試環境和開發環境的測試數據基本是無效的,而實際線上環境也不靠譜,這樣會影響系統的穩定性。
那又有人說了,可以部署一套和線上一樣的測試環境啊,這肯定也不靠譜,很少有公司會同意這么做的,成本也太高了。
建立的共識是:個人測試環境和真實環境都是不合理的,我們可以搭建一套線上環境的百分比環境(服務器數量,數據資源),這樣在一定層度上節省了資源、數據有效性上更具合理性。但不管怎樣,不管是什么環境,性能測試數據都是不準確的,可以理解為真實性能上下波動,我們能做的就是讓波動更小一點而已。
更多關于軟件測試培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。