Show simple item record

dc.contributor.authorShariff, Shahnaz Mohammedien
dc.date.accessioned2019-02-22T16:06:51Z
dc.date.available2019-02-22T16:06:51Z
dc.identifier.urihttp://hdl.handle.net/1974/25991
dc.description.abstractSelenium automates the testing of web applications. Quality Assurance (QA) engineers usually write Selenium scripts to test the content that is rendered in a browser and simulate user interactions with the web content for web applications. Apart from test automation, Selenium is also used to perform load testing and web scraping tasks. Selenium has gained a great amount of attention from users as observed from the trend of Selenium-tagged questions on StackOverflow. In this thesis, we first explore the Selenium-related questions on StackOverflow to understand users' questions about Selenium, programming-language specific issues, browser-specific concerns and the difficult aspects of Selenium. Some of the notable findings from our empirical study are: Questions about Python have become the most frequent and the fastest growing programming language related questions in Selenium, while questions on Java have become stable in recent years. We also find that Chrome tag is the most frequently used browser tag among other browser related tags associated with Selenium. Several users discuss performance issues in Selenium tests on StackOverflow. Prior work on Selenium also points out that Selenium tests are resource intensive. As Selenium needs to launch a browser for each instance (e.g., a client) of a test, it is usually very resource consuming to run a load test using Selenium as one would need to run thousands of user instances. We propose an approach to reduce the performance overhead of Selenium-based load tests. Our approach shares browser instances between user instances, thereby reducing the performance overhead that is introduced by launching many browser instances. The main contribution of this thesis is that our approach can significantly increase the number of user instances that can be tested on a test driver machine without overloading the machine. We improve the testing efficiency of Selenium-based load tests by at least 20%. The insights that we share in this work can help the developers of Selenium understand how Selenium is used in practice and how they can offer better support for Selenium. Further, software practitioners can benefit from our approach to reduce the performance overhead of Selenium-based load tests.en
dc.language.isoengen
dc.relation.ispartofseriesCanadian thesesen
dc.rightsQueen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canadaen
dc.rightsProQuest PhD and Master's Theses International Dissemination Agreementen
dc.rightsIntellectual Property Guidelines at Queen's Universityen
dc.rightsCopying and Preserving Your Thesisen
dc.rightsThis publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.en
dc.subjectLoad testingen
dc.subjectEmpirical studyen
dc.subjectSeleniumen
dc.subjectStack Overflowen
dc.titleInvestigating Selenium Usage Challenges and Reducing the Performance Overhead of Selenium-based Load Testsen
dc.typethesisen
dc.description.degreeM.Sc.en
dc.contributor.supervisorHassan, Ahmeden
dc.contributor.departmentComputingen
dc.degree.grantorQueen's University at Kingstonen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record