為你的應(yīng)用準(zhǔn)備最佳負(fù)載測試的9個技巧
你已經(jīng)努力開發(fā)你的 Web 應(yīng)用,也許這沒有什么偉大的,但它是眾多維持我們每日生活的方法中的一員,并且,或許它會改變世界。
無論怎樣,你知道它需要做一些測試,而且不止一次。測試工作應(yīng)該貫穿于軟件開發(fā)過程的每一個階段,乃至軟件發(fā)布之后。認(rèn)識到測試者的工作永遠(yuǎn)不會停止有點讓人頭疼,令人欣慰的是每一輪測試和矯正都會提高軟件質(zhì)量。
應(yīng)用故障有兩個原因:開發(fā)人員沒有做負(fù)載測試,或者更糟糕的是,他們花了時間來做負(fù)載測試,但是沒有做好充分的準(zhǔn)備。沒有充足的預(yù)備工作,負(fù)載測試不可能發(fā)現(xiàn)它應(yīng)該發(fā)現(xiàn)的所有問題。
那么,怎么才能準(zhǔn)備一次最佳的負(fù)載測試呢?
好吧,這里給出一些建議,一旦你準(zhǔn)備開始負(fù)載測試,我們也給你提供了一個易用的高級測試工具來進(jìn)行它——當(dāng)然,它是可以免費下載的。
1. 什么是你真正需要了解的?
確定你想了解你的應(yīng)用或系統(tǒng)的哪些方面。每種類型的測試的運行方式都不同,且著眼于應(yīng)用的不同方面。因此,基于不同的需求,你需要運行不同的測試。例如:
- 如果希望找到你的應(yīng)用程序在很少或根本沒有負(fù)載情況下的執(zhí)行基準(zhǔn),你將運行單用戶測試。
- 如果想確定系統(tǒng)在正常負(fù)載下的執(zhí)行情況,你將運行負(fù)載測試。
- 如果想確定你的應(yīng)用程序停止響應(yīng)或響應(yīng)緩慢導(dǎo)致不能正常工作的臨界點,你需要運行負(fù)載測試。
- 如果想了解你的應(yīng)用程序是否有內(nèi)存泄露問題,你要運行耐力測試。
2. 確定用戶數(shù)量
如果要加載測試,你會模擬多少虛擬用戶呢?要回答這個問題,你要估計大概多少并發(fā)用戶可能訪問你的網(wǎng)站,這取決于一天中的時間。很多測試者只是猜測,相反,你需要跟你的設(shè)計師和營銷人員談?wù)劜⒖纯葱阅苷f明。你甚至可能要問他們設(shè)計的應(yīng)用程序支持多少并發(fā)用戶,然后設(shè)計這么多用戶及比這更多用戶的測試。
- 注意:你還要安排當(dāng)實際用戶減少或消除時的測試。
3. 研究你的分析
不要假裝知道客戶如何用你的應(yīng)用程序。真正了解用戶的唯一途徑是研究歷史(如分析)。通過研究你的分析,你可以創(chuàng)建實際上代表用戶的測試--而不是你認(rèn)為的代表用戶的測試。在這方面,分析是測試人員最好的朋友!
4. 組建你的團(tuán)隊
你需要許多人參與到測試中來:開發(fā)人員,網(wǎng)絡(luò)工程師,數(shù)據(jù)庫管理員,企業(yè)主-舉例來說。所有這些人都有著特定的權(quán)利來使應(yīng)用變完美,每個人將從不同的角度定位問題。正確的解決方案將不會直接從眾多中的一個里直接獲得,而將從兩個或多個綜合得出。確保團(tuán)隊中的每個成員都是對測試有用的:
- 確保他們在特定領(lǐng)域的專業(yè)程度
- 提供穩(wěn)定的反饋
- 產(chǎn)生對應(yīng)用質(zhì)量和性能的歸屬感
5. 準(zhǔn)備你的瀏覽器
使用測試軟件使你盡可能地接近你的真實用戶的體驗。你應(yīng)該能夠在你選擇的瀏覽器中記錄你的測試場景,但你也需要預(yù)估你的用戶將會使用的其它瀏覽器。考慮你的產(chǎn)品使用率高的國家和地區(qū),調(diào)查那里使用率最高的瀏覽器。你將安裝這些瀏覽器在你開始測試時。然后你需要確保你的負(fù)載測試軟件盡可能真實地模擬用戶的行為。這包括:
- 多線程處理
- 思考時間
- 混合并發(fā)場景
- 復(fù)雜場景
- 參數(shù)化
- 從多個代理進(jìn)程產(chǎn)生負(fù)載(網(wǎng)絡(luò)/云)
6. 準(zhǔn)備測試你的應(yīng)用
雖然在分階段環(huán)境中測試你的應(yīng)用很有價值,由于很多原因,它也會在你的測試中留下一些漏洞。
- 分階段環(huán)境并不總是產(chǎn)品的真正副本
- 分階段環(huán)境只能從內(nèi)部防火墻訪問
- 可能有一些針對你正在收集信息的相同系統(tǒng)的測試
7. 預(yù)留時間分析結(jié)果
你應(yīng)該準(zhǔn)備花些時間以組為單位分析測試結(jié)果(記得在測試過程中存在的所有的那些人嗎?)。要仔細(xì)看結(jié)果,確保真正理解瓶頸、錯誤、弱點且有有效的補(bǔ)救措施,確保涉及每個人并安排足夠的時間。
8. 預(yù)留時間修改
在計劃表中也要留一定的時間去實現(xiàn)那些確定需要修改的測試!從時間方面考慮,不同的補(bǔ)救成本也不一樣。在時間和金錢方面,像實現(xiàn)緩存策略、重構(gòu)代碼、數(shù)據(jù)庫優(yōu)化以及硬件升級等這樣的補(bǔ)救措施需要更大的實現(xiàn)成本。舉個例子,添加額外的硬件需要花時間下訂單、收貨、測試硬件、安裝軟件和數(shù)據(jù)、測試、加到網(wǎng)絡(luò)中并做更多測試。這可能花費數(shù)周或幾個月。
9. 計劃一個敏捷測試方法
一旦糾正,又是再次測試的時候了。俗話說得好,測試是一個過程,而不是目的。每次發(fā)現(xiàn)并糾正一個瓶頸,另一個問題又出現(xiàn)了。所以計劃一個敏捷測試方法是很重要的,從而可以使性能測試貫穿開發(fā)周期的每一步。附加測試應(yīng)按以下執(zhí)行:
- 代碼何時被修改或更新
- 新硬件何時被引入
- 修改何時被添加到應(yīng)用服務(wù)器或 DB 服務(wù)器
- 流量峰值預(yù)計在何時
深呼吸一下,然后放松!你已經(jīng)完成了絕大部分艱苦的工作。現(xiàn)在你已花時間作了準(zhǔn)備,對你的應(yīng)用作負(fù)載測試將有助于你持續(xù)改進(jìn)你的產(chǎn)品和業(yè)務(wù)。
免費下載 WebLoadUI,當(dāng)你想要作測試的時候就開始。在底下的評論區(qū)評論確保讓我們了解你的想法 WebLoadUI 用戶論壇。
原文鏈接:http://www.oschina.net/translate/9-tips-to-prepare-your-app-for-optimal-load-testing