All ETDs from UAB

Advisory Committee Chair

Leon Jololian

Advisory Committee Members

Mohammad Haider

Abidin Yildirim

Document Type


Date of Award


Degree Name by School

Master of Science in Electrical and Computer Engineering (MSECE) School of Engineering


Software Testing is an important activity in the software development life cycle. Software Testing is a process that ensures the quality of the software under development by evaluating whether it matches the requirement specifications provided by stakeholders and is defect-free. Software testing methodologies have evolved with the shift in the development models. Over the years new development model namely Agile is getting popular which practices a short release cycle typical of two to three weeks. The agile methodology requires a continuous cycle of coding and testing, thus reduced the time for elaborated testing. In addition to that modern software are complexly designed with cutting-edge technology, which has also influenced the testing methodology in the recent times. Hence, test automation is considered as the preferred solution to keep pace with the agile process. The current test automation strategy is driven by the user interface layer, which focuses on automating UI test with the help of automation tool. However, there are several problems with UI tests in terms of performance, and execution time. To enumerate a few, flaky behavior, and high execution time are some of them, which requires the continuous maintenance efforts. Thus creates a hindrance in test automation. Through our research work, we have proposed a solution to redefine the test automation strategy driven by Application Programming Interface (API) layer. To achieve the objective of our thesis, we have conceptualized the framework model that enables the sequencing and correlate the test steps to formulate an end-to-end flow with the help of iv system API. We have designed the automation framework model in order to ensure quality checks in earlier phases of development in JAVA programming with the help of Rest Assured, Maven, cucumber libraries. The framework environment was designed such as way to provide the ability to document test cases in natural language and map them to executable code. We created API request calls based on the targeted operation and the response was saved into a variable which was extended into the step definition. The response validation was designed as a two-fold logic checks, centered upon status code assertion and body payload. Based on the success of the response status code, the body payload was validated. The use of the framework in action was examined by looking at how a core use case was automated to facilitate testing the end-user workflow at multiple levels of the application.

Included in

Engineering Commons



To view the content in your browser, please download Adobe Reader or, alternately,
you may Download the file to your hard drive.

NOTE: The latest versions of Adobe Reader do not support viewing PDF files within Firefox on Mac OS and if you are using a modern (Intel) Mac, there is no official plugin for viewing PDF files within the browser window.