簡易檢索 / 詳目顯示

研究生: 林佳妤
Lin, Chia-Yu
論文名稱: 具自動延展能力之跨瀏覽器測試雲平台
Design and Implementation of an Enhanced Auto-Scaling Cross-Browser Testing Cloud Platform
指導教授: 李信杰
Lee, Shin-Jie
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Department of Computer Science and Information Engineering
論文出版年: 2022
畢業學年度: 110
語文別: 英文
論文頁數: 43
中文關鍵詞: 網頁自動化測試跨瀏覽器測試具自動延展能力
外文關鍵詞: web automation testing, cross-browser testing, auto-scaling capability
相關次數: 點閱:83下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 跨瀏覽器測試不僅是軟體測試領域最常見的非功能性之測試手法之一,也是在硬體設備和時間方面需要最多資源的測試方法。本篇研究的一項先前研究提出了一個具有自動延展性的跨瀏覽器測試開放平台,為用戶提供了測試不同瀏覽器的機會,也減少了資源與環境複雜度等問題。然而,透過使用Selenium Grid,搭配上Kubernetes框架和KEDA自動延展器,本篇研究觀察到三個此先前平台的問題:Health Check問題、Session Queue問題和Cooldown問題。本篇研究對這三個問題提出了解決方案,實驗驗證結果顯示,本研究方法能有效提升可靠性達2.27倍,也有效減少了平均執行時間達61.5%,並與Selenium Dynamic Grid相比能大幅減少執行時間達54.4%。

    Cross-browser testing not only is one of the most common non-functional testing methods in the field of software testing, but also the testing method that requires the most resource, in terms of hardware and time. A previous work to this paper proposed a public Auto-Scaling Cross-Browser Testing Platform that offers users to test different browsers without the complications of resources and environment. However, by using Selenium Grid, together with the Kubernetes framework and the KEDA auto-scaler, three problems were observed: the Health-Check problem, the Session-Queue problem, and the Cooldown problem, which decreased the reliability and the efficiency of the platform. This paper suggested solutions to these three problems and conducted experiments showed a 2.27 times improvement in reliability and a decrease in execution time for 61.5%. The overall execution time is also 54.2% less comparing with Selenium’s Dynamic Grid.

    中文摘要 i Abstract ii Acknowledgement iii Table of Contents iv List of Tables vi List of Figures vii Chapter 1 Introduction 1 1.1 Introduction 1 1.2 Motivation 2 1.3 Thesis Organization 3 Chapter 2 Background and Related Work 4 2.1 Selenium Grid 4 4 2.2 Docker 5 2.3 Dynamic Grid 6 2.4 Kubernetes 7 2.5 KEDA 9 2.6 SideeX 10 2.7 Previous Work 10 Chapter 3 Research Problems and the Proposed Method 12 3.1 Overview of the Platform Architecture 12 3.2 Problem 1: The Health-Check Problem 13 3.3 Problem 2: The Session Queue Problem 17 3.4 Problem 3: The Cooldown Problem 20 3.5 Using SideeX to Send Test Requests to the Platform 24 Chapter 4 Experimental Evaluation 25 4.1 Experiment Environment 25 4.2 Experiment 1: The Health Check Problem 26 4.3 Experiment 2: The Session Queue Problem 28 4.4 Experiment 3: The Cooldown Problem 29 4.5 Experiment 4: Comparison with Dynamic Grid 33 Chapter 5 Conclusion 37 5.1 Conclusion 37 5.2 Future Work 37 References 40

    [1] S. A. Singh SK, Software testing. Vandana Publications, 2012.
    [2] K. Sneha and G. M. Malle, "Research on software testing techniques and software automation testing tools," in 2017 International Conference on Energy, Communication, Data Analytics and Soft Computing (ICECDS), 2017: IEEE, pp. 77-81.
    [3] C. Klammer and R. Ramler, "A journey from manual testing to automated test generation in an industry project," in 2017 IEEE International Conference on Software Quality, Reliability and Security Companion (QRS-C), 2017: IEEE, pp. 591-592.
    [4] D. Asfaw, "Benefits of automated testing over manual testing," International Journal of Innovative Research in Information Security, vol. 2, no. 1, pp. 5-13, 2015.
    [5] O. Bühler and J. Wegener, "Evolutionary functional testing," Computers & Operations Research, vol. 35, no. 10, pp. 3144-3160, 2008.
    [6] G. K. Kaalra B, "Cross Browser Testing Using Automated Test Tools.," International Journal of Advanced Studies in Computers, Science and Engineering., 2014.
    [7] M. Sharma and R. Angmo, "Web based automation testing and tools," International Journal of Computer Science and Information Technologies, vol. 5, no. 1, pp. 908-912, 2014.
    [8] M. M. Sabaren LN, Greiner CL, Irrazábal E., "A systematic literature review in cross-browser testing. ," Journal of Computer Science & Technology, 2018.
    [9] A. Mesbah and M. R. Prasad, "Automated cross-browser compatibility testing," presented at the Proceedings of the 33rd International Conference on Software Engineering, Waikiki, Honolulu, HI, USA, 2011. [Online]. Available: https://doi.org/10.1145/1985793.1985870.
    [10] S. R. Choudhary, H. Versee, and A. Orso, "WEBDIFF: Automated identification of cross-browser issues in web applications," in 2010 IEEE International Conference on Software Maintenance, 2010: IEEE, pp. 1-10.
    [11] S. RM., "Quantitative analysis of automation and manual testing. ," International journal of engineering and innovative technology, 2014.
    [12] C. Y. Tung, "Design and Implementation of an Auto-Scaling Cross-Browser Testing Cloud Platform," Master, Department of Computer Science and Information Engineering, National Cheng Kung University, Taiwan, 2022.
    [13] "Selenium Grid 4." selenium.dev/documentation/grid/ (accessed April 21, 2022).
    [14] I. Altaf, J. A. Dar, F. ul Rashid, and M. Rafiq, "Survey on selenium tool in software testing," in 2015 International Conference on Green Computing and Internet of Things (ICGCIoT), 2015: IEEE, pp. 1378-1383.
    [15] "Selenium Grid Components." https://www.selenium.dev/documentation/grid/components/ (accessed April 21, 2022).
    [16] B. B. Rad, H. J. Bhatti, and M. Ahmadi, "An introduction to docker and analysis of its performance," International Journal of Computer Science and Network Security (IJCSNS), vol. 17, no. 3, p. 228, 2017.
    [17] C. Anderson, "Docker [software engineering]," Ieee Software, vol. 32, no. 3, pp. 102-c3, 2015.
    [18] J. Cito, G. Schermann, J. E. Wittern, P. Leitner, S. Zumberi, and H. C. Gall, "An empirical analysis of the docker container ecosystem on github," in 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR), 2017: IEEE, pp. 323-333.
    [19] N. G. Bachiega, P. S. Souza, S. M. Bruschi, and S. D. R. De Souza, "Container-based performance evaluation: A survey and challenges," in 2018 IEEE International Conference on Cloud Engineering (IC2E), 2018: IEEE, pp. 398-403.
    [20] E. Casalicchio, "Container orchestration: a survey," Systems Modeling: Methodologies and Tools, pp. 221-235, 2019.
    [21] D. Merkel, "Docker: lightweight linux containers for consistent development and deployment," Linux journal, 2014.
    [22] "Docker." https://www.ibm.com/cloud/learn/docker#:~:text=Docker%20is%20an%20open%20source,that%20code%20in%20any%20environment. (accessed April 22, 2022).
    [23] "Docker images for the Selenium Grid Server." https://github.com/SeleniumHQ/docker-selenium#readme (accessed April 22, 2022).
    [24] R. G. S. Nathan, T. Mukherjee, and K. Narayanan, "Comicon: A co-operative management system for docker container images," presented at the IEEE International Conference on Cloud Engineering (IC2E), 2017.
    [25] S. C. F. Paraiso, Y. Al-Dhuraibi, and P. Merle, "Model-driven management of docker containers," presented at the IEEE 9th International Conference on cloud Computing (CLOUD), 2016.
    [26] F. H. R. Peinl, and F. Pfitzer, "Docker cluster management for the cloud-survey results and own solution," Journal of Grid Computing, vol. 14, pp. 265-282, 2016.
    [27] D. Bernstein, "Containers and cloud: From lxc to docker to kubernetes," IEEE Cloud Computing, vol. 1, pp. 81-84, 2014.
    [28] "What is Kubernetes?" https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ (accessed April 21, 2022).
    [29] J. B. B. Burns, and K. Hightower, Kubernetes: up and running: dive into the future of infrastructure. O’Reilly Media, 2019.
    [30] N. Poulton, The Kubernetes Book. Amazon, 2021.
    [31] H. X. P. Stack, D. Mersel, M. Makhloufi, G. Terpend, and D. Dong, "Self-healing in a decentralised cloud management system," presented at the Proceedings of the 1st International Workshop on Next generation of Cloud Architectures, 2017.
    [32] "Kubernetes Components." https://kubernetes.io/docs/concepts/overview/components/ (accessed April 22, 2022).
    [33] "Horizontal Pod Autoscaling." https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ (accessed April 25, 2022).
    [34] "The KEDA Documentation." https://keda.sh/docs/2.5/ (accessed April 25, 2022).
    [35] J. Cho and Y. Kim, "A Design of Serverless Computing Service for Edge Clouds," in 2021 International Conference on Information and Communication Technology Convergence (ICTC), 2021: IEEE, pp. 1889-1891.
    [36] A. Arjona, P. G. López, J. Sampé, A. Slominski, and L. Villard, "Triggerflow: Trigger-based orchestration of serverless workflows," Future Generation Computer Systems, vol. 124, pp. 215-229, 2021.
    [37] "Selenium Grid Scaler." https://keda.sh/docs/2.5/scalers/selenium-grid-scaler/ (accessed April 25, 2022).
    [38] S.-J. Lee, Y.-X. Chen, S.-P. Ma, and W.-T. Lee, "Test command auto-wait mechanisms for record and playback-style web application testing," in 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC), 2018, vol. 2: IEEE, pp. 75-80.
    [39] "SideeX | Auto-First Record-Playback Web-Test Automation." https://sideex.io/ (accessed April 26, 2022).
    [40] C.-Y. L. Ru-Kam Lee, Shin-Jie Lee, "A Self-Hosting Web Service System for Web Test Automation in Continuous Integration Process," presented at the International Computer Symposium, 2020.
    [41] A. Berson, Client/server architecture. McGraw-Hill, Inc., 1996.
    [42] "Selenium Grid restarts every time a node is killed." https://stackoverflow.com/questions/50387327/selenium-grid-restarts-every-time-a-node-is-killed (accessed April 28, 2022).
    [43] "Selenium." https://github.com/SeleniumHQ/selenium (accessed April 29, 2022).

    無法下載圖示 校內:不公開
    校外:不公開
    電子論文尚未授權公開,紙本請查館藏目錄
    QR CODE