為你的應用準備最佳負載測試的 9 個技巧
你已經努力開發你的Web應用,也許這沒有什麼偉大的,但它是眾多維持我們每日生活的方法中的一員,並且,或許它會改變世界。
無論怎樣,你知道它需要做一些測試,而且不止一次。測試工作應該貫穿於軟體開發過程的每一個階段,乃至軟體釋出之後。認識到測試者的工作永遠不會停止有點讓人頭疼,令人欣慰的是每一輪測試和矯正都會提高軟體質量。
應用故障有兩個原因:開發人員沒有做負載測試,或者更糟糕的是,他們花了時間來做負載測試,但是沒有做好充分的準備。沒有充足的預備工作,負載測試不可能發現它應該發現的所有問題。
那麼,怎麼才能準備一次最佳的負載測試呢?
好吧,這裡給出一些建議,一旦你準備開始負載測試,我們也給你提供了一個易用的高階測試工具來進行它——當然,它是可以免費下載的。
1. 什麼是你真正需要了解的?
確定你想了解你的應用或系統的哪些方面。每種型別的測試的執行方式都不同,且著眼於應用的不同方面。因此,基於不同的需求,你需要執行不同的測試。例如:
- 如果希望找到你的應用程式在很少或根本沒有負載情況下的執行基準,你將執行單使用者測試。
- 如果想確定系統在正常負載下的執行情況,你將執行負載測試。
- 如果想確定你的應用程式停止響應或響應緩慢導致不能正常工作的臨界點,你需要執行負載測試。
- 如果想了解你的應用程式是否有記憶體洩露問題,你要執行耐力測試。
2. 確定使用者數量
如果要載入測試,你會模擬多少虛擬使用者呢?要回答這個問題,你要估計大概多少併發使用者可能訪問你的網站,這取決於一天中的時間。很多測試者只是猜測,相反,你需要跟你的設計師和營銷人員談談並看看效能說明。你甚至可能要問他們設計的應用程式支援多少併發使用者,然後設計這麼多使用者及比這更多使用者的測試。
- 注意:你還要安排當實際使用者減少或消除時的測試。
3. 研究你的分析
不要假裝知道客戶如何用你的應用程式。真正瞭解使用者的唯一途徑是研究歷史(如分析)。通過研究你的分析,你可以建立實際上代表使用者的測試–而不是你認為的代表使用者的測試。在這方面,分析是測試人員最好的朋友!
4.組建你的團隊
你需要許多人蔘與到測試中來:開發人員,網路工程師,資料庫管理員,企業主-舉例來說。所有這些人都有著特定的權利來使應用變完美,每個人將從不同的角度定位問題。正確的解決方案將不會直接從眾多中的一個裡直接獲得,而將從兩個或多個綜合得出。確保團隊中的每個成員都是對測試有用的:
- 確保他們在特定領域的專業程度
- 提供穩定的反饋
- 產生對應用質量和效能的歸屬感
5.準備你的瀏覽器
使用測試軟體使你儘可能地接近你的真實使用者的體驗。你應該能夠在你選擇的瀏覽器中記錄你的測試場景,但你也需要預估你的使用者將會使用的其它瀏覽器。考慮你的產品使用率高的國家和地區,調查那裡使用率最高的瀏覽器。你將安裝這些瀏覽器在你開始測試時。然後你需要確保你的負載測試軟體儘可能真實地模擬使用者的行為。這包括:
- 多執行緒處理
- 思考時間
- 混合併發場景
- 複雜場景
- 引數化
- 從多個代理程式產生負載(網路/雲)
6. 準備測試你的應用
雖然在分階段環境中測試你的應用很有價值,由於很多原因,它也會在你的測試中留下一些漏洞。
- 分階段環境並不總是產品的真正副本
- 分階段環境只能從內部防火牆訪問
- 可能有一些針對你正在收集資訊的相同系統的測試
7. 預留時間分析結果
你應該準備花些時間以組為單位分析測試結果(記得在測試過程中存在的所有的那些人嗎?)。要仔細看結果,確保真正理解瓶頸、錯誤、弱點且有有效的補救措施,確保涉及每個人並安排足夠的時間。
8. 預留時間修改
在計劃表中也要留一定的時間去實現那些確定需要修改的測試!從時間方面考慮,不同的補救成本也不一樣。在時間和金錢方面,像實現快取策略、重構程式碼、資料庫優化以及硬體升級等這樣的補救措施需要更大的實現成本。舉個例子,新增額外的硬體需要花時間下訂單、收貨、測試硬體、安裝軟體和資料、測試、加到網路中並做更多測試。這可能花費數週或幾個月。
9. 計劃一個敏捷測試方法
一旦糾正,又是再次測試的時候了。俗話說得好,測試是一個過程,而不是目的。每次發現並糾正一個瓶頸,另一個問題又出現了。所以計劃一個敏捷測試方法是很重要的,從而可以使效能測試貫穿開發週期的每一步。附加測試應按以下執行:
- 程式碼何時被修改或更新
- 新硬體何時被引入
- 修改何時被新增到應用伺服器或DB伺服器
- 流量峰值預計在何時
深呼吸一下,然後放鬆!你已經完成了絕大部分艱苦的工作。現在你已花時間作了準備,對你的應用作負載測試將有助於你持續改進你的產品和業務。
免費下載WebLoadUI,當你想要作測試的時候就開始。在底下的評論區評論確保讓我們瞭解你的想法WebLoadUI使用者論壇。
參見:
相關文章
- 為開發者準備的9個實用PHP程式碼片段PHP
- 全棧必備——負載均衡的應用全棧負載
- 為設計師準備的5個最佳遊戲遊戲
- 為 OS X 開發者準備的 15 個超棒應用
- 為OS X開發者準備的15個超棒應用
- 測試基準資料的準備
- 模擬測試生成Apache Kafka負載的最佳工具:KLoadGenApacheKafka負載
- 簡歷準備及面試技巧,你應該知道的一切面試
- 為JavaScript開發人員準備的 21 個小技巧(一)JavaScript
- JB的測試之旅-測試資料的準備/構造
- 負載測試專案成功的5個關鍵要素負載
- Android Pie的9個隱藏功能:你可能錯過的若干最佳技巧Android
- 開源的負載測試/壓力測試工具 NBomber負載
- 負載測試工具Ripplet負載
- (一)效能測試(壓力測試、負載測試)負載
- ddosify:用Golang編寫的高效能負載測試工具Golang負載
- 從應用看A/B測試——DataTester的最佳實踐
- RAC負載均衡的簡單測試(三)負載
- RAC負載均衡的簡單測試(二)負載
- RAC負載均衡的簡單測試(一)負載
- RAC負載均衡的簡單測試(四)負載
- 為你下一個專案準備的50個Bootstrap外掛(上)boot
- 為你下一個專案準備的50個Bootstrap外掛(下)boot
- 當一個測試工程師準備找工作,需要準備什麼?工程師
- 網站滲透測試漏掃工具的應用技巧網站
- iOS 應用效能測試的相關方法、工具及技巧iOS
- TestLoadBalancer測試均衡負載負載
- Oracle應用備份:何為最佳方法?AVOracle
- 開發者測試-採用精準測試工具對Spring Boot應用進行測試Spring Boot
- 一份為 Node.js 應用準備的 Dockerfile 指南Node.jsDocker
- 效能測試必備知識(3)- 深入理解“平均負載”負載
- WEBLOGIC連線OracleRAC的負載均衡測試(轉載)WebOracle負載
- 【星雲測試】開發者測試-採用精準測試工具對Spring Boot應用進行測試Spring Boot
- 【星雲測試】開發者測試-採用精準測試工具對SpringBoot應用進行測試Spring Boot
- 專為Python初學者準備的IDE你用過嗎?PythonIDE
- 讓你的 Node.js 應用跑得更快的 10 個技巧Node.js
- 全鏈路壓測(10):測試要做的準備工作
- 新手必備的seo最佳化技巧 你get到了嗎?