| 研究生: |
李宛娟 Wan-Chuan Lee |
|---|---|
| 論文名稱: | Enhance Stress Testing Power by Synchronizing JMeter Test Scripts |
| 指導教授: | 鄭永斌 |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 軟體工程研究所 Graduate Institute of Software Engineering |
| 論文出版年: | 2017 |
| 畢業學年度: | 105 |
| 語文別: | 中文 |
| 論文頁數: | 64 |
| 中文關鍵詞: | 同步 、壓力測試 、效能瓶頸 |
| 相關次數: | 點閱:10 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在軟體開發過程中,軟體測試是非常重要的一環,可以確保軟體品質,以及系統的穩定性。為了確保系統可以應付龐大流量,開發團隊通常會運用壓力測試來驗證系統在超出預期負荷的壓力時,系統運作是否正常。
過去開發團隊或測試團隊在進行壓力測試時,往往需要付出非常龐大的運算資源,才能達到一定的同時上線使用者數量來對待測系統進行測試。另外壓力測試常常被過度簡化成使用少數一兩個測試情境來模擬大量使用者,但是一般網頁服務的真實情況則是每個使用者進入網頁服務時,使用者對系統操作的情境並不相同,彼此可能會互相影響,如果能真的如此才能真正的暴露出系統效能瓶頸。
本論文提出一個嶄新的壓力測試技術,這個技術可以同步壓力測試腳本。運用同步壓力測試技術,讓測試人員在進行測試時,可以有效地降低所需要的運算資源,使用較少的運算資源就能夠展現出系統的效能瓶頸。本研究是建立在本實驗室過去開發的TaaS平台[1]上。使用我們系統的測試人員,只需選取過去上傳的一般壓力測試腳本,就能夠輕鬆地對壓力測試腳本進行同步設定,並輕鬆的運用OpenStack自動化的張羅與配置相關硬體準備與設定等問題。
Software testing is an important part in the software development process. It can ensure the software quality and system stability. In order to ensure that the system can handle huge network traffic, the development team can use stress testing to verify that the system is running normally when incoming traffic exceeds the expected load.
Stress testing is an expensive technique. Emulating a large number of concurrent users requires a lot of computing resources. Besides, traditional stress testing often uses a few test scenarios to simulate a large number of users, but real situation is that each user’s operation is different in a general web service. If we can emulate the interaction of different user scenarios as real as possible, the performance bottlenecks are likely to be exposed.
In this thesis, we propose a brand-new software testing technique. This technique can synchronize the events in different test scripts. When tester or development team use the software testing technique it can reduce computing resource for a stress testing. We hope to find out performance bottleneck of a software system under test with less computing resource. The technique is implemented inside a TaaS web portal developed in our lab. Tester can simply use the synchronizing technique with the help of OpenStack to easily deploying a stress testing.
1] Yeh, S.-W., "An OpenStack Based Testing as a Service Platform", in 軟體工程研究所. 2016, 國立中央大學.
[2] Gheorghiu, G. Performance vs. load vs. stress testing. 2005; Available from: http://agiletesting.blogspot.tw/2005/02/performance-vs-load-vs-stress-testing.html.
[3] Khan, R. and M. Amjad. "Web application's performance testing using HP LoadRunner and CA Wily introscope tools". in 2016 International Conference on Computing, Communication and Automation (ICCCA). 2016.
[4] Cai, J. and Q. Hu. "Analysis for cloud testing of web application". in The 2014 2nd International Conference on Systems and Informatics (ICSAI 2014). 2014.
[5] Apache JMeter™. Available from: http://jmeter.apache.org/.
[6] LoadRunner. Available from: https://saas.hpe.com/en-us/software/loadrunner.
[7] LoadComplete. Available from: https://smartbear.com/product/loadcomplete/overview/.
[8] What is BeanShell? ; Available from: http://www.beanshell.org/intro.html.
[9] OpenStack. Available from: https://www.openstack.org/.
[10] Software-OpenStack Open Source Cloud Computing Software.
[11] Readers–writer lock. Available from: https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock.
[12] Web applications Performance Symptoms and Bottlenecks Identification. Available from: http://www.agileload.com/agileload/blog/2012/11/27/web-applications-performance-symptoms-and-bottlenecks-identification.
[13] MySQL InnoDB Storage Engine. Available from: https://dev.mysql.com/doc/refman/5.7/en/innodb-storage-engine.html.
[14] ACID. Available from: https://zh.wikipedia.org/wiki/ACID.
[15] 【直擊Modern Web 2015】解決20萬人秒殺搶票系統架構大揭露. Available from: http://www.ithome.com.tw/news/96113/.
[16] How to scale a Nodejs app based on number of users. Available from: http://adrianmejia.com/blog/2016/03/23/how-to-scale-a-nodejs-app-based-on-number-of-users/