(3.238.173.209) 您好!臺灣時間:2021/05/16 20:01
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

: 
twitterline
研究生:藩莎妮
研究生(外文):Sifasani Qalbina Fauzia
論文名稱(外文):Reusable Test Cases for Automated GUI Testing on Prototype and Implementation Using an Image-Based Capture and Replay Tool
指導教授:鄭永斌鄭永斌引用關係
指導教授(外文):Yung-Pin Cheng
學位類別:碩士
校院名稱:國立中央大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文出版年:2020
畢業學年度:108
語文別:英文
論文頁數:66
中文關鍵詞:TDDBDDGUI測試prototypeCapture and Replay工具
外文關鍵詞:TDDBDDGUI TestingprototypeCapture and Replay tool
相關次數:
  • 被引用被引用:0
  • 點閱點閱:45
  • 評分評分:
  • 下載下載:3
  • 收藏至我的研究室書目清單書目收藏:0
最近SDLC模型的測試驅動開發(TDD)和行為驅動開發(BDD)受到許多關注。對大多數人來說,對TDD的了解是開發人員在開發功能之前就先編寫測試案例的一種做法。但是,測試優先 (test-first) 只是TDD的一部分,系統中還有許多其他因素可能會使TDD變得更加複雜。提到TDD也會同時談到BDD。 BDD最初是為了解決TDD中的問題而開發的。在TDD方法中,測試是用程式碼編寫的,但是BDD是利用自然語言撰寫的。不幸的是,TDD和BDD仍然有很多缺點,它們的效果仍然不是最佳的。甚至,TDD和BDD無法合適地應用於自動化GUI測試。 TDD和BDD在GUI級別上極難執行,因為在需要進行完整功能測試的情況而言,TDD和BDD並非完全理想,但對於GUI測試卻是不可少的。但是,TDD和BDD的主要理念(測試優先)在軟件工程領域仍然是一個有趣的想法。這個想法激勵我們採用先撰寫測試案例的概念來解決TDD和BDD問題。該方法是使用GUI的prototype在軟體開發的設計階段即測試軟體。 GUI prototype將使用稱為JustInMind的工具建立。建立和執行的測試案例皆來自用戶需求和用戶使用情境。為了生成測試案例,我們將使用名為U!Ocicat的CR (Capture and Replay) 工具。錄製下來的測試案例將在以後用於測試軟體功能的實作。我們預期這一大突破將使測試人員無需撰寫大量測試程式碼即可更輕鬆地進行早期軟體測試。利用早期的設計階段的測試,它將可以從一開始就大大提高軟件的質量。對開發人員和客戶之間看法的誤解將會減少。因此,撰寫出的軟體將具有更高的品質,並滿足所有用戶的要需求。
SDLC models that have received attention recently are the Test-Driven Development (TDD) and Behavior-Driven Development (BDD). A brief understanding of most people about TDD is a practice in which the developers write tests before code. But, the test-first is only one part of TDD. There are many other cogs in the systems that potentially make TDD even more complex. Talking about TDD will remind us of BDD. BDD originally developed as a response to the issues in the TDD. In the TDD approach, the test is written in codes but BDD comes with the common language test case. Unfortunately, TDD and BDD still have many shortcomings and their implementations are still not optimal. Even more, TDD and BDD cannot be properly applied to automated GUI testing. TDD and BDD are extremely difficult to perform at the GUI level because those are not exactly ideal for situations requiring full functional tests, and full functional tests are indispensable to GUI testing. But the main idea of TDD and BDD, test-first, is still an interesting idea in the software engineering field. This idea inspires us to adopt the testing-first concept as a solution to the problems of TDD and BDD. The solution is testing the software in the design phase of the software development using the GUI prototype. GUI Prototype would be created with a tool called JustInMind. Test cases to be created and run on the GUI prototype come from user requirements and user scenarios. To generate the test cases, we are going to use a Capture and Replay tool, named U!Ocicat. The recorded test cases would be used for testing the implementation later. This breakthrough is expected to make testers easier to do earlier software testing without having to write a lot of testing code. With the earlier design test, it would greatly improve the quality of the software from an earlier step. There will be less misunderstanding of the perception between developers and stakeholders. Therefore, the software produced would be of higher quality and fulfill all the user requirements.
CHAPTER 1 INTRODUCTION 1
CHAPTER 2 LITERATURE REVIEW 5
2.1 Prototyping concepts in Software Engineering 5
2.1.1 GUI Prototyping tools 6
2.2 Graphical User Interface Testing Approaches 8
2.2.1 Manual Based Testing 8
2.2.2 Model-Based Testing 9
2.2.3 Capture and Replay Based Approach 10
2.3 Related Works 11
2.3.1 TDD 11
2.3.2 BDD 16
CHAPTER 3 METHODOLOGY 19
3.1 Experiment Design 19
3.1.1 Strength & Weakness 20
3.1.2 Analysis & Design 21
3.1.3 Generate Test Case with U!Ocicat 21
3.1.4 Implementation 21
3.2 Problem definition 22
3.3 Experiment instruments 27
3.3.1 JustInMind 27
3.3.2 U!Ocicat 29
CHAPTER 4 REQUIREMENTS ANALYSIS AND BUILD GUI PROTOTYPE 32
4.1 Requirements Analysis and Build GUI Prototype 32
4.1.1 Functional Requirements 32
4.1.2 User scenarios 33
4.1.3 Build the GUI Prototype 36
CHAPTER 5 REUSABLE TEST CASE GENERATION 40
5.1 How to Generate Test Cases on Prototype 40
CHAPTER 6 WHAT’S HAPP IMPLEMENTATION 45
CHAPTER 7 RESULT & EVALUATION 49
7.1 Result of Replay Test Case in Prototype and Implementation 49
7.2 Evaluation 51
CHAPTER 8 CONCLUSION 53
CHAPTER 9 BIBLIOGRAPHY 54
[1] K. Beck, Test Driven Development: By Example, Boston: Addison Wesley, 2002.
[2] E. Maximilien and L. Williams, "Assessing Test-Driven Development at IBM," in Proceedings of the 25th International Conference on Software Engineering (ICSE'03), 2003.
[3] D. Janzen and H. Saiedian, "Test-driven development concepts, taxonomy, and future direction," Computer, vol. 38, no. 9, pp. 43-50, 2005.
[4] C. Solís and X. Wang, "A Study of the Characteristics of Behaviour Driven," in 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, Oulu, Finland, 2017.
[5] I. Lazăr, S. Motogna and B. Pârv, "Behaviour-Driven Development of Foundational UML Components," Electronic Notes in Theoretical Computer Science, vol. 264, no. 1, pp. 91-105, 2010.
[6] Wikipedia, "Test-driven development," 9 April 2020. [Online]. Available: https://en.wikipedia.org/wiki/Test-driven_development#Limitations. [Accessed 23 June 2020].
[7] A. H. Blackwell and E. Manar, "Prototype. UXL Encyclopedia of Science," 2015. [Online]. Available: https://link.gale.com/apps/doc/ENKDZQ347975681/SCIC?u=dclib_main&sid=SCIC&xid=0c8f739d. [Accessed 28 April 2020].
[8] H. Lichter, M. Schneider-Hufschmidt and H. Zullighoven, "Prototyping in Industrial Software Project - Bridging the Gap Between Theory and Practice," IEEE Transactions on Software Engineering, vol. 20, no. 11, 1994.
[9] J. L. Connell and L. Shafer, Structured Rapid Prototyping: An Evolutionary Approach to Software Development, Yourdon Press, 1989.
[10] G. Pomberger, W. Bischofberger, D. Kolb, W. Pree and H. Schlemm, "Prototyping-Oriented Software Development - Concepts and Tools," in Structured Programming, Springer - Verlag New York Inc., New York, 1991.
[11] C. Floyd, "A Systematic Look At Prototyping," in Approaches to Prototyping, Heidelberg, West Germany, Springer-Verlag, 1984, pp. 105-112.
[12] S. H. Hall, "Top UI & UX Prototyping Tools for 2020," 22 December 2019. [Online]. Available: https://slickplan.com/blog/top-12-ui-ux-prototyping-tools-for-2020. [Accessed 17 May 2020].
[13] Y. Keshtcher, "Top 22 Prototyping Tools For UI And UX Designers 2020," 30 August 2017. [Online]. Available: https://blog.prototypr.io/top-20-prototyping-tools-for-ui-and-ux-designers-2017-46d59be0b3a9. [Accessed 17 May 2020].
[14] M. Techlabs, "11 Best Prototyping Tools For UI/UX Designers — How To Choose The Right One?," 18 June 2018. [Online]. Available: https://medium.theuxblog.com/11-best-prototyping-tools-for-ui-ux-designers-how-to-choose-the-right-one-c5dc69720c47. [Accessed 17 May 2020].
[15] Z. Denis, "The 9 Best Go-To Prototyping Tools for Designers in 2019," 16 January 2019. [Online]. Available: https://medium.com/@denisz.design/the-9-best-go-to-prototyping-tools-for-designers-in-2019-296b341a51a2. [Accessed 17 May 2020].
[16] I. Banerjee, B. Nguyen, V. Garousi and A. Memon, "Graphical user interface (GUI) testing: Systematic mappingand repository," Information and Software Technology, vol. 55, pp. 1679-1694, 2013.
[17] A. Kervinen, M. Maunumaa, T. Pääkkönen and M. Katara, "Model-Based Testing Through a GUI," in Grieskamp W., Weise C. (eds) Formal Approaches to Software Testing. FATES 2005. Lecture Notes in Computer Science, vol 3997, Heidelberg, Springer-Verlag, 2006, pp. 16-31.
[18] ReQtest, "GUI Testing Tutorial – Understanding the basics," 28 May 2019. [Online]. Available: https://reqtest.com/testing-blog/gui-testing-tutorial/. [Accessed 26 May 2020].
[19] A. C. Paiva, J. C. Faria, N. Tiimann and R. A. Vidal, "A Model-to-Implementation Mapping Tool for Automated Model-Based GUI Testing," in Lau KK., Banach R. (eds) Formal Methods and Software Engineering. ICFEM 2005. Lecture Notes in Computer Science, vol 3785, Springer, Berlin, Heidelberg, 2005.
[20] M. Jovic, A. Adamoli, D. Zaparanuks and M. Hauswirth, "Automating Performance Testing of Interactive Java," in AST '10: Proceedings of the 5th Workshop on Automation of Software Test, Cape Town, South Africa, 2014.
[21] M. Leotta, D. Clerissi, F. Ricca and P. Tonella, "Capture-Replay vs. Programmable Web Testing: An Empirical Assessment during Test Case Evolution," in 2013 20th Working Conference on Reverse Engineering (WCRE), Koblenz, Germany, 2013.
[22] C.-H. Hsueh, Y.-P. Cheng and W.-C. Pan, "Intrusive Test Automation with Failed Test Case Clustering," in 18th Asia-Pacific Software Engineering Conference, Ho Chi Minh, Vietnam, 2011.
[23] I. Karac and B. Turhan, "What Do We (Really) Know about Test-Driven Development?," IEEE Software, vol. 35, no. 4, pp. 81-85, 2018.
[24] B. Qiang, "The Absolute Beginner’s Guide to Test Driven Development, with a Practical Example," 28 October 2016. [Online]. Available: https://medium.com/@bethqiang/the-absolute-beginners-guide-to-test-driven-development-with-a-practical-example-c39e73a11631. [Accessed 23 June 2020].
[25] D. North, "Introducing BDD," Dan North & Associates, 2006. [Online]. Available: https://dannorth.net/introducing-bdd/. [Accessed 1 June 2020].
[26] Experitest, "What is Appium?," Experitest, 2020. [Online]. Available: https://experitest.com/appium-studio-v-2/. [Accessed 31 May 2020].
[27] A. Developer, "UI Automator," 27 December 2019. [Online]. Available: https://developer.android.com/training/testing/ui-automator. [Accessed 31 May 2020].
[28] Justinmind, "Variables," Justinmind, [Online]. Available: https://www.justinmind.com/support/variables/. [Accessed 20 May 2020].
[29] ADLINK, "From Embedded to Edge to Edge AI," ADLINK, 2019. [Online]. Available: https://www.adlinktech.com/en/index. [Accessed 28 May 2020].
[30] Y.-P. Cheng, D. Liang and W.-J. Wang, "KORAT — A platform independent test automation tool by emulating keyboard/mouse hardware signals," in 2016 IEEE AUTOTESTCON, Anaheim, CA, USA, 2016.
[31] W. Frei and C.-C. Chen, "Fast Boundary Detection: A Generalization and a New Algorithm," IEEE Transaction on Computers, Vols. C-26, no. 10, pp. 988-998, 1977.
[32] J. Canny, "A Computational Approach to Edge Detection," IEEE Transaction on Pattern Analysis and Machine Intelligence, Vols. PAMI-8, no. 6, pp. 679-698, 1986.
[33] P. F. Alcantarilla, A. Bartol and A. J. Davison, "KAZE Features," in Fitzgibbon A., Lazebnik S., Perona P., Sato Y., Schmid C. (eds) Computer Vision – ECCV 2012. Lecture Notes in Computer Science, vol 7577, Springer, Berlin, Heidelberg, 2012.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
無相關期刊
 
無相關點閱論文