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