Automation Framework Development and System Integrations

student picture

Jenna Martin

Contact: LinkedIn

The primary goal of this Capstone project was to participate in infrastructure development and develop the core automation framework for two web applications offered by MediaPRO. Before working for MediaPRO, the organization primarily relied on black-box manual testing strategies and I was tasked with creating structure and standardizing the test suite and then implementing the basic acceptance and regression tests into the automation development so that staging testing and production validation could be performed more efficiently.

Using the software development lifecycle, I gathered requirements from our product and engineering department to define the basic acceptance and regression test cases. In the planning stage, I mapped out the applications with concept diagrams and decided to implement a dynamic approach to locate individual user interface objects, create functions that test each object, and scripts that run the tests for each segment of the web application. This allows the automation framework to be highly cohesive and loosely coupled so end-to-end testing can be performed or a user can elect to run individual tests. In applying this design, I have located the majority of the elements within each application and created functions to test these elements, which allowed me to concurrently develop and code the framework.

Another facet of my Capstone project was to expand my skill sets to other crucial roles in engineering, including Developer Operations (DevOps) and acting as a liaison for Support to escalate customer requests so that I could assist or document potential bugs within our product line. As a DevOps engineer, I automated the process workflow for customers requesting single sign-on for our third-party LMS system by implementing a serverless web form using a variety of Amazon Web Service tools that greatly reduced the process for clients. I developed CloudWatch canaries to monitor the uptime of our production applications, updated and integrated repositories into SonarQube for code analysis as the code enters our integration environment, and participated as a member of the deployment team for every release.

As MediaPRO continues to enhance the applications, there is more work required to complete the automation framework; however, I made significant progress in getting the core automation developed for the applications. Agile software development and engineering require more than writing code, many components of engineering are required to make a deployment successful. I gained valuable experience learning about the different facets to take into consideration when working on an engineering team.