GUI driven End to End Regression testing with Selenium

Detta är en Kandidat-uppsats från Linnéuniversitetet/Institutionen för datavetenskap (DV)

Sammanfattning: Digitalization has changed our world and how we interact with different systems. Desktop applications have more and more been integrated with internet, and the web browser has become the Graphical User Interface (GUI) in today’s system solutions. A change that needs to be considered in the automated regression testing process. Using the actual GUI has over time shown to be a complicated task and is therefore often broken out as its own standalone test object. This study looked into time and quality constrains of using the GUI as driver of the regression testing of business requirements in a web based solution. By evaluating the differences in execution times of test cases between Application Programming Interface (API) calls and GUI driven testing, flakiness of test results and required modifications over time for a specific test suite. These constraints were analyzed by looking into how reliability of the test results could be achieved. With a GUI driven full end to end scope the quality in software solutions could be improved with a reduction in the number of interface issues and detected errors in deployed systems. It would also reduce the volume of test cases that needs to be executed and maintained as there are no longer standalone parts to verify separately with partially overlapping test cases. The implementation utilized Selenium WebDriver to drive the GUI and the results showed that by utilizing Selenium the test execution times were increased from approximately 2 seconds (API) to 20-75 seconds (Selenium). The flaky test results could be eliminated by applying the appropriate pattern to detect, locate, and scroll into visibility prior to interacting with the elements. In the end of the study the test execution results were 100% reliable. The navigation required 15 modifications over time to keep them running. By applying the appropriate pattern a reliable test result can be achieved in end to end regression testing where the test case is driven from the GUI, however with an increase in execution time.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)