跳到主要內容

臺灣博碩士論文加值系統

(44.220.247.152) 您好!臺灣時間:2024/09/12 03:11
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

我願授權國圖
: 
twitterline
研究生:游子龍
研究生(外文):YOU, ZI-LONG
論文名稱:以Teststeps到Keywords的自動化轉換工具提升自動化測試的開發效率
論文名稱(外文):Automated Steps-to-Keywords Conversion Tool to Boost Automation Test
指導教授:陳香君陳香君引用關係陳碩漢
指導教授(外文):CHEN, SHIANG-JIUNCHEN, SHUO-HAN
口試委員:梁郁珮劉傳銘陳香君陳碩漢
口試委員(外文):LIANG, YU-PEILIU, CHUAN-MINGCHEN, SHIANG-JIUNCHEN, SHUO-HAN
口試日期:2024-06-13
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2024
畢業學年度:112
語文別:中文
論文頁數:34
中文關鍵詞:RobotFramework自動化測試工具
外文關鍵詞:Robot FrameworkAutomation TestTool
相關次數:
  • 被引用被引用:0
  • 點閱點閱:18
  • 評分評分:
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
Robot Framework 是一個基於 Python 的、可擴展的、關鍵字(Keyword)驅動的測試自動化框架,用于端到端的驗收測試或者驗收驅動測試開發(ATDD)。其優點為語法非常簡單,即使沒有編程經驗的人也能很快上手、以及測試個案可以重複利用來節省時間和精力。而語法簡單也讓它有著優秀的可讀性,這也讓測試腳本中每個Keyword的命名格外重要,一個Keyword的名字是否能完美的描述其功能,將會影響到Reviewer去了解這個Keyword的用途甚至是整個TestCase的目的所花費的時間。而為了對Keyword取一個合適的名字往往也要花費不少時間,這時候”固定命名格式”看起來似乎是一個能夠縮減這段時間的好方法,如果有了一套固定的命名規則,則對之前命名過的類似動作的Keyword可以直接複製其架構到即將要進行命名的當前Keyword上,固定命名格式也能大幅縮減ReuseKeyword時所花費的尋找時間,並在設計Test Case步驟的階段直接將步驟一對一轉換成對應動作的Keyword。本文將提出一個有效提升TestSteps利用價值,並節省TestCase開發時間的方法。在TestSteps架構完整的情況下,轉換工具透過抓取每一個TestStep的動作關鍵字來將其轉換成對應動作的Keyword,以加快TestCase的開發速度。
Robot Framework is a Python-based, extensible, keyword-driven test automation framework for end-to-end acceptance testing or acceptance-driven test development (ATDD). The advantage is that the syntax is very simple, even people without programming experience can quickly get started, and test cases can be reused to save time and effort. The simple syntax also makes it excellent readability, which also makes the naming of each keyword in the test Script particularly important. Whether the name of a keyword can perfectly describe its function will affect the reviewer's understanding of the purpose of the keyword. Even the time taken for the purpose of the entire test case. It often takes a lot of time to choose a suitable name for the keyword. At this time, "fixed naming format" seems to be a good way to shorten this time. If there is a fixed set of keyword naming rules, the structure of a previously named keyword with similar actions can be directly copied to the current keyword to be named, and the fixed naming format can also greatly reduce the search time spent when reusing keywords. However, in addition to the advantages mentioned above, it may also be possible to use the fixed naming format feature to directly convert the steps one-to-one into the keywords of the corresponding actions during the design stage of the test case steps. This article will propose a method to effectively improve the utilization value of test steps and save test case development time. After the test step design is complete, the conversion tool extracts the information of each test step and converts it into the keyword of the corresponding action, thereby speeding up the development of test cases.
中文摘要 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · i
ABSTRACT · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · iii
誌謝 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · v
目錄 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · vi
表目錄 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ix
圖目錄 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · x
程式碼目錄 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · xi
第一章 緒論 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1
1.1 研究背景與動機 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1
1.2 研究目標 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2
1.3 論文組織架構 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2
第二章 背景知識 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3
2.1 Robot Framework · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3
2.1.1 Robot Framework 的主要特點 · · · · · · · · · · · · · · · · · · · 4
2.1.2 Robot Framework 的用途 · · · · · · · · · · · · · · · · · · · · · · 4
2.2 Test Automation · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 4
2.2.1 測試自動化的優點 · · · · · · · · · · · · · · · · · · · · · · · · · 5
2.2.2 測試自動化的關鍵組件 · · · · · · · · · · · · · · · · · · · · · · 5
2.2.3 測試自動化的應用 · · · · · · · · · · · · · · · · · · · · · · · · · 6
2.3 Test Steps · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7
2.4 測試腳本 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8
第三章 轉換工具的設計概念與原理 · · · · · · · · · · · · · · · · · · · · · · · 9
3.1 參數的提取 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 11
3.1.1 提取網頁操作 · · · · · · · · · · · · · · · · · · · · · · · · · · · 11
3.1.2 提取網頁元件名稱 · · · · · · · · · · · · · · · · · · · · · · · · · 12
3.1.3 提取網頁元件種類 · · · · · · · · · · · · · · · · · · · · · · · · · 12
3.2 更改頁面前綴字串 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12
3.3 目標Keyword的選擇方法 · · · · · · · · · · · · · · · · · · · · · · · · 14
第四章 轉換工具的實作 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 15
4.1 從Step當中提取所需參數 · · · · · · · · · · · · · · · · · · · · · · · · 15
4.2 尋找目標Keyword以及紀錄相似的Keyword · · · · · · · · · · · · · · 16
4.3 篩選該動作最常用的參考樣本 · · · · · · · · · · · · · · · · · · · · · · 18
4.4 頁面切換的判斷 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 19
第五章 案例分析 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 21
5.1 案例實驗設計 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 21
5.2 案例實驗分析 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 21
5.2.1 案例一:部分目標Keyword未存在於KeywordsLibrary · · · · · · 21
5.2.2 案例二:Keywords Library 中具有所有目標Keyword · · · · · · · · 24
5.3 引進工具輔助開發所提升之效能 · · · · · · · · · · · · · · · · · · · · · 27
第六章 結論與未來展望 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29
6.1 結論 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29
6.2 未來方向 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 29
6.2.1 提供參考模板時一併計算其相似程度 · · · · · · · · · · · · · · · 30
6.2.2 提供Verify 參考模板的可行性 · · · · · · · · · · · · · · · · · · · 30
6.2.3 對創建以及刪除TestData的轉換工作 · · · · · · · · · · · · · · · 30
參考文獻 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31
[1] Suresh Thummalapenta, Saurabh Sinha, Nimit Singhania, and Satish Chandra. Automating test automation. In 2012 34th International Conference on Software Engineering (ICSE), pages 881–891, 2012.
[2] B. Du Bois, S. Demeyer, and J. Verelst. Refactoring - improving coupling and cohesion of existing code. In 11th Working Conference on Reverse Engineering, pages 144–151, 2004.
[3] Haruto Tanno and Xiaojing Zhang. Test script generation based on design documents for web application testing. In 2015 IEEE 39th Annual Computer Software and Applications Conference, volume 3, pages 672–673, 2015.
[4] Chor. Gitpit Petchpaisit and Taratip Suwannasart. Generating robot framework test script for android application using kotlin. In 2022 7th International Conference on Computer and Communication Systems (ICCCS), pages 75–79, 2022.
[5] Kritchawat Waitchasarn, Arthit Thongtak, and Taratip Suwannasart. Generating robot framework test script from user stories and scenarios for web application testing. In 2023 8th International Conference on Computer and Communication Systems (ICCCS), pages 795–801, 2023.
[6] Liu Jian-Ping, Liu Juan-Juan, and Wang Dong-Long. Application analysis of automated testing framework based on robot. In 2012 Third International Conference on Networking and Distributed Computing, pages 194–197, 2012.
[7] Børge Haugset and Geir Kjetil Hanssen. Automated acceptance testing: A literature review and an industrial case study. In Agile 2008 Conference, pages 27–38, 2008.
[8] Johannes Weiss, Alexander Schill, Ingo Richter, and Peter Mandl. Literature review of empirical research studies within the domain of acceptance testing. In 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pages 181–188, 2016.
[9] Luiz Felipe Simoes Hoffmann, Luiz Eduardo Guarino de Vasconcelos, Etiene Lamas, Adilson Marques da Cunha, and Luiz Alberto Vieira Dias. Applying acceptance test driven development to a problem based learning academic real-time system. In 2014 11th International Conference on Information Technology: New Generations, pages 3–8, 2014.
[10] J. G. Enríquez, A. Jiménez-Ramírez, F. J. Domínguez-Mayo, and J. A. García-García. Robotic process automation: A scientific and industrial systematic mapping study. IEEE Access, 8:39113–39129, 2020.
[11] Tuomas Pajunen, Tommi Takala, and Mika Katara. Model-based testing with a general purpose keyword-driven test automation framework. In 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, pages 242–251, 2011.
[12] Steve Vinoski. Restful web services development checklist. IEEE Internet Computing, 12(6):96–95, 2008.
[13] Panagiotis Louridas. Soap and web services. IEEE Software, 23(6):62–67, 2006.
[14] Fiorella Zampetti, Salvatore Geremia, Gabriele Bavota, and Massimiliano Di Penta. Ci/cd pipelines evolution and restructuring: A qualitative and quantitative study. In 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME), pages 471–482, 2021.
[15] Paruchuri Ramya, Vemuri Sindhura, and P. Vidya Sagar. Testing using selenium web driver. In 2017 Second International Conference on Electrical, Computer and Communication Technologies (ICECCT), pages 1–7, 2017.
[16] Waweru Mwaura. End-to-End Web Testing with Cypress: Explore techniques for automated frontend web testing with Cypress and JavaScript. Packt Publishing Ltd, 2021.
[17] Rakesh Kumar Lenka, Sunakshi Mamgain, Srikant Kumar, and Rabindra Kumar Barik. Performance analysis of automated testing tools: Jmeter and testcomplete. In 2018 International Conference on Advances in Computing, Communication Control and Networking (ICACCCN), pages 399–407, 2018.
[18] Tao Xie, Nikolai Tillmann, and Pratap Lakshman. Advances in unit testing: Theory and practice. In 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C), pages 904–905, 2016.
[19] H.K.N. Leung and L. White. A study of integration testing and software regression at the integration level. In Proceedings. Conference on Software Maintenance 1990, pages 290–301, 1990.
[20] Emil Borjesson and Robert Feldt. Automated system testing using visual gui testing tools: A comparative study in industry. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation, pages 350–359, 2012.
[21] G. Rothermel and M.J. Harrold. Analyzing regression test selection techniques. IEEE Transactions on Software Engineering, 22(8):529–551, 1996.
電子全文 電子全文(網際網路公開日期:20290729)
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top