軟體測試為什麼需要抗壓能力
㈠ 請問高手們,軟體系統負載壓力測試的主要目的是什麼
首先,你的問題本身不夠准確。負載測試和壓力測試是不同的兩種性能測試方式。
1、先說壓力測試,壓力測試是為了確定系統的瓶頸或者最大使用極限的。為了考察系統在極端條件下的表現,極端條件可以是超負荷的交易量和並發用戶數,方法是分別模擬一定數量的用戶並發訪問系統,記錄並分析系統響應時間;
2、再說負載測試,負載測試是為了測試軟體系統當負載逐漸增加時,系統各項性能指標的變化情況。站在用戶的角度去觀察在一定條件下系統的性能表現。這些考察指標一般為響應時間、交易容量、並發容量、資源使用率等。
再說下兩者的區別:壓力測試一般設置的集合點策略是100%VU同時增加,指標要求是系統正常運行,負載測試一般不設置集合點,每幾秒鍾增加一定的VU數,記錄系統平均響應時間。當前業內普遍的標準是2/5/10原則,2s以內為優秀,5s以內可以接受,10秒是極限。
不知道回答的是否您需要的答案,能否為您解決問題。
㈡ 軟體測試工程師需要具備哪些技能
首先要學習比較流行的開發語言,如:python,這是為了自動化測試的學習打下基礎,不過軟體測試工程師只要能用python進行簡單的開發就可以,不需要像軟體開發工程師一樣把python學的特別好。
其次學習LoadRunner、JMeter、Selenium、Appium、Postman、Fiddler這些測試工具。第三學習目前主流的資料庫系統MySQL,熟悉資料庫的基本結構和原理,熟練掌握資料庫的常用操作技術。最後軟體測試中有五大測試方法,分別為:功能測試、web自動化測試、移動自動化測試、介面測試、性能測試,這五種測試方法軟體測試工程師都需要掌握。
不僅如此,行業技能也是軟體測試工程師所必須掌握的一點。
行業主要指測試人員所在企業涉及的行業領域,例如很多IT企業從事石油、電信、銀行、電子政務、電子商務等行業領域的產品開發。行業知識即業務知識,是測試人員做好測試工作的又一個前提條件,只有深入地了解了產品的業務流程,才可以判斷出開發人員實現的產品功能是否正確。
很多時候,軟體運行起來沒有異常,但是功能不一定正確。只有掌握了相關的行業知識,才可以判斷出用戶的業務需求是否得到了實現。行業知識與工作經驗有一定關系,通過時間即可以完成積累。
㈢ 軟體開發與軟體測試哪個更有前途
軟體開發和軟體測試哪個更好,這其實沒有明確的標准答案,一個人的興趣性格決定一個人會喜歡那種類型的工作。下次我們來了解一下它們之間的區別:
1、軟體開發方向:軟體開發工程師要面對很多開發環境,不斷修改代碼,這裡面有不少工作是重復繁瑣的,所以要能承受那份寂寞,如果急躁的話,就不太能勝任這份工作。
2、軟體測試方向:一名優秀的測試工程師,比較好的是相對外向點,雖然這個不代表你需要像銷售人員那樣外向,善於與人交流。但是起碼你要願意主動與開發人員,與用戶溝通。
學習軟體開發可以到AAA咨詢一下,AAA教育集團總部位於北京IT科技企業雲集的中關村,以中關村科技園區為依託,緊密結合軟體企業人才需求,自主研發了專業的人才培養課程體系。
㈣ 為什麼要進行性能測試
性能測試工作的目的是檢查系統是否滿足在需求說明書中規定的性能,性能測試常常需要和強度測試結合起來,並常常要求同時進行軟體和硬體的檢測。
㈤ 軟體壓力測試的目的
在最近的一次測試中定義了測試的目的是:需要了解AUT(被測應用程序)一般能夠承受的壓力,同時能夠承受的用戶訪問量(容量),最多支持有多少用戶同時訪問某個功能。在AUT中選擇了用戶最常用的五個功能作為本次測試的內容,包括登錄。大概的需求就是這樣。
接下來AUT的登錄說一說怎麼用LoadRunner和Jmeter來實現場景的設置達到測試的目的。(註:對伺服器的檢測不是本次測試的重點,本次測試主要收集並發訪問用戶數和發生錯誤用戶數)。 首先是對腳本的要求:
1、錄制腳本(注意所有的腳本都應錄制到Action中),自定義事務,事務從提交用戶名和口令的腳本之前開始;
2、在定義事務開始的腳本前加入集合點;
3、在腳本中加入檢查點,以登錄成功的頁面出現登錄用戶的ID即可;
4、參數化登錄用戶的身份;
其次是對場景設置的要求:
1、因為事先我們不知道將有多少用戶訪問是臨界點,所以在測試過程中需要多次改變用戶數來確定;
2、建議修改運行時設置,優化對伺服器的訪問; [Page]
3、計劃的設置,每x時間後載入10用戶(根據總用戶數設置),完全載入後持續運行不超過5分鍾(根據需要設置);
4、集合策略,當運行中的用戶數100%達到集合點時釋放;
5、注意事項,需要注意幾個時間:1)伺服器響應超時時間;2)登錄事務迭代一次所使用的時間;3)集合點等待超時時間;4)計劃中設置的間隔時間。在我的測試中事務運行一次的時間不超過30秒,通過修改腳本使它的運行時間達到一分鍾左右, 伺服器響應超時時間、結合點等待超時時間、計劃中設置的間隔時間都設置為了2分鍾。
這樣場景開始運行後運行用戶數呈階梯增長,另外在每個上升點新增的用戶都會隨原來已經運行的用戶並發訪問伺服器。
通過多次的運行和對測試結果中正在運行用戶數與錯誤用戶的對比,然後根據定義可接受錯誤率就可得到該功能的最大並發訪問的用戶數。
以上測試中排除了對網路、客戶端等的要求。在實際測試中首先要保證這些資源是足夠的。
使用Jmeter也能夠達到上述描述的場景的測試,並且更加的便捷。 利用現代的設計技術和正式的技術復審可以減少代碼中存在的初始錯誤,但是錯誤總是存在的,如果開發者找不到錯誤,那麼,客戶就會找到它們。越來越多的軟體組織認識到軟體測試是軟體質量保證的重要元素之一,很多軟體開發組織將30%—40%甚至更多的項目資源用在測試上,軟體測試技術和軟體測試策略受到了高度的重視和廣泛的應用。
本文不想就軟體測試技術和軟體測試策略作深入的理論分析,而是列舉一個在軟體系統測試階段進行的軟體壓力測試實例,希望能通過這個實例與從事軟體測試相關工作的朋友進行交流。
首先介紹一下實例中軟體的項目背景,該軟體是一個典型的三層C/S架構的MIS系統(客戶端/應用伺服器/資料庫管),中間層是業務邏輯層,應用伺服器處理所有的業務邏輯,但應用伺服器本身不提供負載均衡的能力,而是利用開發工具提供的ORB(對象請求代理)軟體保證多個應用伺服器間的負載均衡。本次測試的目的是:進行單個應用伺服器的軟體壓力測試,找出單個應用伺服器能夠支持的最大客戶端數。測試壓力估算的依據是:假定在實際環中,用戶只啟用一個應用伺服器進行所有的業務處理。方法是:按照正常業務壓力估算值的1~10倍進行測試,考察應用伺服器的運行情況。
㈥ 軟體測試員主要從事什麼工作如果要向這方面發展需要學些是內容
有些事情說起來有些滑稽,幾年前,我們說,軟體測試業在中國剛剛起步。現在,我們還是在說,軟體測試業還是剛剛起步。幾年的時間,對於其它行業是一個什麼概念我不清楚,對於IT行業來講,不是一個小數。實際上,國內軟體業的發展緩慢限制了測試業的發展,沒有軟體的開發計劃,測試的需求不旺啊。然而,反過來想,在軟體測試業還沒有大紅大紫的時候介入進去,應該是個好時候。
那麼,從事軟體測試業的基本要求是什麼?我根據自己的體會,羅列一些,供朋友們參考。
首先,要有寬泛的計算機基礎知識。微機原理,數據結構,資料庫,操作系統原理,編譯原理,邏輯,編程語言,網路,等等,都要系統地學習過。都精通不大可能,因為人的興趣都不相同,但是,這些功課的基本知識點是應當了解的。我們在談到職業的類別的時候,我們可以說C程序員,C#程序員,Java程序員,而沒有C測試員,C#測試員,Java測試員,程序員可以只擅長某一門編程語言,測試員卻不行。為什麼呢?測試員是代表用戶的,在做測試的時候,他(她)需要考慮到方方面面的事情。例如對於一個用C寫的上網撥號程序,測試員需要考慮:
(1) 程序的功能是否正確;(要求計算機知識)
(2) 是否符合用戶的使用習慣;(要求界面設計知識和換位思考能力)
(3) 性能是否滿足要求,例如長時間使用;穩定性;(要求深入的計算機知識)
(4) 是否能夠滿足用戶可能的不同操作系統的要求;(要求計算機知識)
(5) 如果在全球發布,是否滿足不同語言和文化的需求;(要求軟體國際化測試知識)
(6) 如何搭建測試環境;(動手能力,硬體知識)
(7) 做代碼檢查;(比較深入的C語言知識)
(8) …
所以,各方面都了解一點,你在做測試的過程當中你會感覺順手的多。如果某寫方面還差一些,沒有關系,計算機行業的特點就是邊做邊學,只要是個有心人,學習是很快的。
其次,要掌握一門編程語言。有的朋友可能會說,我就是不願意做編程才來做測試的,怎麼測試還有這么一個要求?我要嘗試說服你:)。我的理由有兩個:
1. 只有知道怎麼做一個軟體產品,才能真正懂得這個產品。而只有真正懂得了產品,才能做好測試。一行代碼不會,你會始終是個門外漢。不要滿足於點滑鼠,而去嘗試著打開我們面前的黑盒子。
2. 自動化測試技術需要編程技術。自動化測試是軟體測試的一個發展方向,一方面很多測試工具都需要人工干預,編寫代碼;另一方面在有的情況下需要自己編寫測試工具。
對於測試員來說,編程技術不要求精通,但要會。
再次,學好英語。在現階段,我們只能承認,在計算機方面,英語國家領先。有很多的資料都是英語的,如果僅僅局限在中文資料方面,會影響你的淵博程度:)。舉一個簡單的例子,Windows操作系統會捕捉到一些程序或者操作系統內部的異常,你可以根據這個異常到微軟網站上去查找錯誤原因和解決辦法,其中有很大一部分資料就是英文的,因為還沒有翻譯過來或者以後也不會翻譯的。
以上所說的幾點看法,都是在計算機行業裡面打轉,下面說幾個「虛」的要求吧。
1. 鍛煉出一雙測試的眼睛。我的一個朋友,她也是做軟體測試的,她說,有一次她和她老公去買筆記本電腦,她一眼就看出液晶屏上有幾個壞點,而她老公卻看不出來。她說,這要歸功於她有一雙測試的眼睛。測試的眼睛,就是對問題特別敏感,能夠發現常人發現不了的問題。測試員就是要找軟體中的問題,有了這雙眼睛會讓你收益非淺。耐心,細心和經驗,會有助於我們到達這個要求。
2.平和的心態。從心理學上說,每個人都不喜歡別人對自己挑毛病,程序員也是這樣。所以,要以平和的心態去看待發現的軟體問題,以平和的心態去和程序員交流。千萬不要以為自己發現了幾個問題,就可以責怪程序員,或者沖過去罵他們一頓。也不要在背後談論誰誰誰不行,bug太多。一個項目是大家共同做的,需要舉集體之力才能做完。我們測試員發現的問題多,表明項目的風險又少了一點,應該高興才是。如果你的脾氣不好,可能這個惡名會掩蓋你的真才實學,很可惜的。