| 研究生: |
陳立軒 Li-Hsuan Chen |
|---|---|
| 論文名稱: | Enhance Korat by Branch Capability in Capture/Replay User Scenario to Industrial Test Case Automation |
| 指導教授: |
鄭永斌
Yung-Pin Cheng |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 資訊工程學系 Department of Computer Science & Information Engineering |
| 論文出版年: | 2018 |
| 畢業學年度: | 106 |
| 語文別: | 中文 |
| 論文頁數: | 68 |
| 中文關鍵詞: | Korat 、Regression testing 、Capture/Replay 、Branch |
| 相關次數: | 點閱:27 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在軟體開發的過程當中,為了修復或是增加功能工程師會不斷的修改既有的程式碼。為了確保在每一次改動之後的軟體品質,回歸測試是一個不可或缺的一環。為了讓測試人員進行回歸測試更有效率,本實驗室開發了一套錄製/播放類的測試軟體-Korat。
在一開始把Korat推廣到業界使用時,我們發現了Korat這種錄製/播放類的軟體,在進行直線式的測試案例時是可以運作良好的,但是對當時的Korat而言若是測試案例不是直線式的時候就會無法處理。把Korat應用在BIOS大廠AMI的測試案例之上時,其中一部分的測試案例需要使用到branch的功能,讓測試案例能在不同的情況之下產生不同的反應。但是在錄製時會因為待測系統只會進入其中的一條路徑,所以當時的Korat在使用錄製的方式建立非直線型的測試案例會碰到一些困難。
本論文將針對Korat這個錄製/播放類的測試工具無法錄製像是branch這一類非直線型測試案例這一問題提出解決方法,並且透過改良Korat讓Korat可以以錄製的方式建立這一類測試案例以驗證此方法的可行性。
In order to fix the software bug or add functionality into software, engineers often need to frequently modify the existing source code in the software development life cycle. In order to ensure existing features are not damaged by the changes, regression testing is an indispensable quality assurance activity in modern software engineering. In the past, our lab developed a record/replay testing tool – Korat. Korat's major advantage is that it frees the testers from programming, testing, and debugging test code.
We have been aware of that Korat is not capable of processing some test cases when we introduced Korat to the industry. Korat works well on linear test cases, but not on non-linear test cases. When applied Korat to the AMI (a well-known BIOS company) test cases, some of the test cases require the branch function to react differently under different conditions. However, the system under test only enters one of the paths when recording. As a result, Korat encounters difficulties in establishing a non-linear test case at that time.
This paper proposes a solution to the non-linear branch recording problem. To proof the feasibility of this solution, I will improve Korat to make it possible to recording non-linear test cases.
[1] X.-C. Chen, Korat: An O.S.-independent Capture/Replay Test Automation System, Institute of Computer Science & Information Engineering, National Central University, 2014.
[2] "American Megatrends Inc. - Home," American Megatrends Inc., [Online]. Available: https://ami.com. [Accessed 6 4 2018].
[3] F. Ricca and P. Tonella, "Analysis and Testing of Web Applications," in ICSE '01 Proceedings of the 23rd International Conference on Software Engineering, Toronto, Ontario, Canada, 2001.
[4] M. Utting, A. Pretschner and B. Legeard, "A Taxonomy of Model-Based Testing," Software Testing, Verification & Reliability, pp. 297-312, 5 8 2012.
[5] P. K. Arora and R. Bhatia, "Mobile agent-based regression test case generation using model and formal specifications," IET Software, pp. 30-40, 2017.
[6] "Spec Explorer," Microsoft Corporation, [Online]. Available: https://msdn.microsoft.com/en-us/library/ee620411.aspx. [Accessed 17 3 2018].
[7] S. Sprenkle, S. Sampath, E. Gibson, L. Pollock and A. Souter, "An empirical comparison of test suite reduction techniques for user-session-based testing of Web applications," in 21st IEEE International Conference on Software Maintenance (ICSM'05), Budapest, Hungary, Hungary, 2005.
[8] X. Peng and L. Lu, "Session-based performance test case generation for Web applications," in 2010 8th International Conference on Supply Chain Management and Information, Hong Kong, China, 2010.
[9] X. Peng and L. Lu, "A new approach for session-based test case generation by GA," in 2011 IEEE 3rd International Conference on Communication Software and Networks, Xi'an, China, 2011.
[10] M. Kagathara, "Behavior Driven Testing (BDT): Tools for Automated Testing," [Online]. Available: https://www.infostretch.com/blog/automated-testing-using-bdt-behavior-driven-testing/. [Accessed 31 5 2018].
[11] "Cucumber," Cucumber Ltd., [Online]. Available: https://cucumber.io/. [Accessed 31 5 2018].
[12] "jbehave," [Online]. Available: http://jbehave.org/. [Accessed 31 5 2018].
[13] "Serenity BDD - Automated Acceptance Testing with Style," Serenity BDD, [Online]. Available: http://www.thucydides.info/#/. [Accessed 31 5 2018].
[14] "Gauge," ThoughtWorks, Inc., [Online]. Available: https://gauge.org/. [Accessed 31 5 2018].
[15] "Robot Framework," [Online]. Available: http://robotframework.org/. [Accessed 31 5 2018].
[16] "RedwoodHQ | Open Source Test Automation Framework," 2013. [Online]. Available: http://redwoodhq.com/. [Accessed 31 5 2018].
[17] "Test Automation for GUI Testing | Ranorex," Ranorex, [Online]. Available: https://www.ranorex.com/. [Accessed 31 5 2018].
[18] "Selenium IDE," [Online]. Available: https://www.seleniumhq.org/projects/ide/. [Accessed 31 5 2018].
[19] "Automation Testing Tool For Web Applications | Free - Sahi," Sahi Pro, [Online]. Available: http://sahipro.com/. [Accessed 31 5 2018].
[20] "Automated UI Testing Tools | TestComplete," SmartBear Software, 2018. [Online]. Available: https://smartbear.com/product/testcomplete/overview/. [Accessed 31 5 2018].
[21] "Katalon Studio: Best automated testing tool for web, mobile, API," Katalon LLC., 2018. [Online]. Available: https://www.katalon.com/. [Accessed 31 5 2018].
[22] R. Hocke, "SikuliX," [Online]. Available: http://www.sikulix.com/. [Accessed 29 3 2018].
[23] "SideeX - Smart Record-Playback Browser Automation," SideeX Contributors, [Online]. Available: http://sideex.org/. [Accessed 27 4 2018].
[24] "ADLINK," ADLINK Technology Inc., [Online]. Available: https://emb.adlinktech.com/en/index.aspx. [Accessed 4 4 2018].