認識軟件性能測試10大誤區

曾經我們幫助客戶進行軟件性能測試的時候,客戶不解的問,不是必須通過功能測試后才可以測試性能嗎?可能有很多人會存在這樣的疑問,在這里,我們的多位專家根據多年經驗總結出性能測試的10大誤區,希望能給大家帶來幫助。

  誤區1:應用程序必須通過功能測試后才可以測試性能。

  應該盡早的進行性能測試。性能測試可以發生在各個測試階段中,即使是在單元層,一個單獨模塊的性能也可以使用白盒測試來進行評估,然而,只有當整個系統的所有成分都集成到一起后,才能檢查一個系統的真正性能。

  性能測試從早開始,完成一個小模塊,對小模塊的接口進行性能測試,一般耗費資源很少,但可以防止問題在項目最后出現,花費很大的精力去修改。

  而有些資料中提到的:在系統代碼開發和功能測試完成之后,進行性能測試的說法,是為了檢查系統整體性能的做法。一般經常出現在驗收性能測試中。

  誤區2:軟件性能測試要向功能測試一樣,覆蓋到所有功能。

  性能測試的主要目的是為了系統調優。不可能對所有的系統功能都進行性能測試。在測試設計時需要結合當時的實際系統,先分析軟件可能存在的瓶頸,此時可依據80/20原則分析:對系統資源的利用、數據大量傳輸、數據轉換、用戶使用頻率、邏輯復雜度等進行分析,選擇要執行的功能和場景,再依次制定性能測試的方案。

  誤區3:系統吞吐率隨著并發量增加而增加。

  隨著并發量的增加吞吐率并不是線性增長的。并發量從小逐漸增大,開始階段吞吐率隨著并發量的增加線性變化;當并發量達到某一值時,系統處理能力趨于飽和(也可能某一硬件條件達到臨界值),此時再逐漸增大并發,會有一些請求處于等待狀態,所以響應時間變慢,吞吐率趨于穩定;當并發量達到系統的最大處理能力后,再增加并發,系統處理能力會下降,吞吐率也會下降,最終可能發生宕機。

  誤區4:客戶給出性能指標,我們一定要想法設法達到。

  根據用戶提供的指標進行可行性分析,分析這些指標在理想狀態下是否可以達到。比如有這么一個要求:有一臺服務器,希望能承載10000個用戶每秒200kb的傳輸。從CPU、Disk、網卡等方面分析都是很難達到的,也是很難測試的。需要和客戶商討增加硬件配置或者通過其他途徑來解決。

  誤區5:壓力測試、負載測試、容量測試等這些不同類型的測試一個一個分開來執行。

  現實場景是復雜的,測試也需要盡可能的模擬負載的場景。在一個整體的系統性能測試場景中,應該包括各個類型的測試。而需要檢查某一個方面的指標或分析某個性能問題時,盡量保證場景簡單、單一、容易模擬。

  誤區6:做性能測試主要就是性能測試工具的使用;我做不好性能測試,是因為對測試工具不熟悉;測試工具可以自動生成我所需要的報表;依靠性能測試工具就能準確定位系統瓶頸;

  測試工具在測試中只能起到輔助性作用。而測試方案、測試場景的分析、問題的定位這才是性能測試的關鍵。不要期望測試工具能夠生成你想要的東西(報表、瓶頸分析),工具只是盡可能多的提供我們分析的依據。

  誤區7:在線用戶數就是并發用戶數。并發用戶數高意味著PV(頁面瀏覽量)大。

  并發用戶數*用戶訪問頁面數=PV

  誤區8:提高一下硬件配置就可以提高性能了,因此性能測試不重要。

  隨著軟件規模的擴大,提高硬件配置只是解決性能問題的一個基本手段。因為如果軟件自身存在性能問題,再多的資源可能也不夠用,例如:內存泄露問題,隨著時間的增加,內存終究會被耗盡,最后導致系統崩潰;數據庫連接等配置信息、數據庫死鎖是和硬件很難掛鉤的;算法邏輯問題導致程序緩慢。即使要提高配置,也要首先用性能測試的方式得出哪些硬件可能存在瓶頸。

  誤區9:性能測試獨立于功能測試

  一方面,整體性能測試的場景設計要求的系統功能非常熟悉;另一方面,功能測試可以發現性能問題,性能測試也能發現功能問題。很多性能問題時由于軟件自身功能缺陷引起的。如果應用系統功能不完善或者代碼運行效率低下,通常會帶來一些性能問題。功能測試可能會發現這些問題。

  誤區10:隨便找個環境下進行一下性能測試就可以了。

  做性能問題分析可以在類生產環境上進行,配置可以有些差別,但是,整體性性能測試、驗收性性能測試要盡量在用戶生產環境下進行。








====================================分割線================================



最新內容請見作者的GitHub頁:http://qaseven.github.io/

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394991.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394991.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394991.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mac php oracle11g,Oracle11G函數整理

返回字符的字符函數 1、CHR(n) [n為正整數,如果ngt;256,就去MOD(n,256)] select CHR(65) a1,CHR(67)||CHR(65)||CHR(84) a2 FR返回字符的字符函數1、CHR(n) [n為正整數,如果n>256,就去MOD(n,256)]2、CONCAT(ch1,ch2) 拼接字符串…

軟工_個人博客作業3

PART1 博文閱讀感想 十幾篇博客一氣讀下來,有一個詞一直縈繞在我的腦海里——緊張!緊張!還是緊張! 首先這緊張來自于自己的學習方面。作為計算機系的科班出身,當然與生俱來就有一種優越感——我們是專業的,…

Linux環境中配置環境變量無效

1.在Linux系統中的【 ~/.baserc 】文件與【 /etc/profile 】配置環境變量后(可以使任意環境變量)無效的現象,如下為解決辦法: 使用命令: 1 vim ~/.zshrc 在 【# User configuration】下添加環境變量; 如圖說明: 2.也可…

手機能打開的表白代碼_手機拍照還能加文字?打開這個自帶按鈕,一鍵就能添加方便...

手機拍照還能文字?打開這個自帶按鈕,一鍵就能添加方便我們日常生活中,經常會在朋友圈里面看到,這樣的圖片,不僅圖片好看,上面還帶有精美的文字,里面還添加了時間、地點、天氣,在配上…

如何使create-react-app與Node Back-end API一起使用

This is a very common question among newer React developers, and one question I had when I was starting out with React and Node.js. In this short example I will show you how to make create-react-app work with Node.js and Express Back-end.這在新的React開發人…

Spring Cloud Eureka 入門 (二)服務提供者詳解

2019獨角獸企業重金招聘Python工程師標準>>> 摘要: 原創出處:www.bysocket.com 泥瓦匠BYSocket 希望轉載,保留摘要,謝謝! “優秀不是過去是一種心態” 「Spring Cloud Eureka 入門系列」Spring Cloud Eureka 入門 (一…

題解 CF682C 【Alyona and the Tree】

簡單搜索題,我們每找到一組不滿足題目給出條件的點和邊就將其整個子樹刪除,然后最終答案加上該子樹的大小即可。注意,搜索的時候如果當前的邊權和sum已經為負了,應該將其改為0(可以想想為什么) 注&#xff…

現在mfc的現狀如何_天璣云客:微信代運營現在什么現狀?如何挑選合適的代運營公司?...

來源:天璣云客綜合整理團隊成員均來自“中國房地產策劃代理百強企業”TOP10以及”中國企業500強“TOP20企業并擔任重要職位。和你一起聊運營、產品、技術研發、房地產以及各種新興行業有哪些有趣的營銷玩法。由于微信公眾號/小程序的影響力日益增強,以及…

第五百一十八天 how can I 堅持

閑是真能閑出病來,無名的焦慮啊。不想這樣。 天越來越冷了。后天就放假了,有點小激動,這一天天的。 今晚沒玩游戲,看了會《微微一笑很傾城》,只能是崇拜那些玩游戲好的,就是玩不好,哎。。。 睡覺…

第三方登錄 人人php,人人網第三方登錄接口方案

之前閑暇有空,就去了解了下人人網的第三方登錄的接口,呵呵..發布想了解的都了解下.一. REST接口模式使用HTTP post 協議or HTTP get 協議發出請求.HTTP 協議同REST服務器通信.Java Struts 1.2 .do 的模式請求.代碼:1.URL編碼的示例代碼(java): value java.net.UR…

easy ui dialog 關閉之后的怪異問題

最近在工作中使用easy ui做東西,然后發現了一些不可思議的現象,筆記一下,前事不忘后事之師!事故現場:增加頁面和修改頁面是分離的兩個jsp文件.在頁面加載時會用jquery去控制一些數據加載和一些邏輯.理論上來說不希望增加頁面和修改頁面互相干擾.單獨拿增加模塊測是正常的.加載修…

node.js gbk編碼_如何使用Node.js將Chrome的霸王龍編碼為電報游戲

node.js gbk編碼by Fernando Garca lvarez通過費爾南多加西亞阿爾瓦雷斯 如何使用Node.js將Chrome的霸王龍編碼為電報游戲 (How to code Chrome’s T-Rex as a Telegram game using Node.js) Last month I was really interested in learning how the Telegram game platform …

二進制文件更新程序_APR 6.17程序文件更新

蘭博基尼程序文件更新Lamborghini Huracan EURO MY2018 5.2L V10 DKBC 4T0907552L S0002 Stage 1 V1.1 [APR Mobile]奧迪程序文件更新Audi A3 / VW GTI NA MY2014 2.0TSI CNTC 5G0906259A S0001 Stage 1 V2.0.3 [2WD] [Single Program]Audi A3 / VW GTI NA MY2014 2.0TSI CNTC …

android 事件攔截 (Viewpager不可以左右滑動)

以前沒有做過真正的需求,所以從來沒有覺得事件攔截分發處理有什么好懂的。 現在做需求了,真的是什么需求都有,你作為開發都要去研究實現。比如說,只能點不能滑動的viewpager。其實這都可以不用viewpager了。直接用fragment的repl…

mysql安裝設置數據目錄下,linux下安裝mysql數據+配置

《linux下安裝mysql數據配置》由會員分享,可在線閱讀,更多相關《linux下安裝mysql數據配置(2頁珍藏版)》請在人人文庫網上搜索。1、Redhat下安裝MySQL數據庫 說明:安裝環境:本地VMWare虛擬機redhat MySQL安裝目錄:/hom…

力扣——k個一組翻轉鏈表

給出一個鏈表,每 k 個節點一組進行翻轉,并返回翻轉后的鏈表。 k 是一個正整數,它的值小于或等于鏈表的長度。如果節點總數不是 k 的整數倍,那么將最后剩余節點保持原有順序。 示例 : 給定這個鏈表:1->2->3->4…

撥盤Demo大賽,獲獎公布-20170710

2019獨角獸企業重金招聘Python工程師標準>>> 為了答謝微信小程序聯盟的新老會員,極樂科技支持舉辦的撥盤大賽終于落幕,本次大賽有662人關注,報名參賽8位,獲獎名單如下: ##一、獲得1000元現金獎勵的參賽者 會…

2018年編程語言排行榜_這是2018年學習的最佳編程語言

2018年編程語言排行榜by Alexander Petkov通過亞歷山大佩特科夫(Alexander Petkov) 這是2018年學習的最佳編程語言 (Here are the best programming languages to learn in 2018) This is the definitive guide for anyone wanting to choose the right programming language …

ZJUTACM

描述 這回是浙江工業大學的ACM程序設計競賽,歡迎你的到來!但是,請稍等!裁判Joe說了,必須正確回答他的問題,才可以看到PIPI的氣球MM,KUKU的氣球GG.Joe手上有7張卡片,每張卡片上有一個大寫字母,分別是Z,J,U,T,A,C,M.現在他開始表演魔術,每次只交換其中的兩張卡片.等表…

vscode 不能運行h5c3代碼_讓開發效率“飛起”的VS Code 插件

前言VSCode,是一個免費的、開源的跨平臺編輯器,也是我最滿意的編輯器之一。本文向大家推薦一些我喜歡的vscode插件,不出意外的話,這些插件將對你的工作效率提升有不小的幫助!GitLensVS Code中的 Git 體驗在易用性和完整性之間取得…