Test Automation Developer
@ Co-operators


avatar

Introduction

The purpose of this webpage is to give an overview of the projects that have I worked on and the concepts that I have learned during my time working at Co-operators (January-August 2024). I will be describing what Co-operators is, the goals that I set for myself during this internship, and my role in the company.

About Co-operators

Co-operators is a Canadian insurance company offering a range of financial services including home, auto, life, and business insurance, as well as investment products. Their headquarters is located in Guelph, Ontario.

New Guelph Location Outside


Old Guelph Location Outside

The Quality Engineering (QE) team is dedicated to ensuring the reliability and performance of the company's insurance applications through rigorous and continuous testing. They utilize a comprehensive suite of tools and technologies including Selenium for automated browser testing, Java and Python for scripting and back-end testing, Cucumber for behavior-driven development (BDD) and ensuring tests align with business requirements, JavaScript for front-end validation, and Jenkins for continuous integration and delivery. By integrating these tools into their workflow, the QE team can consistently identify and resolve issues, ensuring that all applications meet high standards of quality and functionality before reaching the end-users.

Job Description

As a Test Automation Developer at Co-operators, my responsibilities mainly consisted of the following:

  • Conducting regression testing on deployed applications
  • Enhancing a testing framework with Java and Selenium
  • Creating both front-end and back-end scripts for research spikes
  • Monitoring and tracking automated test runs using Jenkins

Term 1 (January-April) Goals

Entering this co-op term, I had several goals that I wanted to achieve with regard to developing new skills and strengthening existing ones:

  • Familiarize myself with the Selenium testing framework.
  • Gain a better understanding of the role that software engineering plays in the insurance industry.
  • Introduce new tools/processes that improve the team's efficiency


By becoming with familiar with the Selenium testing framework, I gain a thorough understanding of Quality Engineering concepts, and the role that testing frameworks play in them.

Through my previous co-op terms at Roche and RBC, I have learned first-hand the impact of software engineering on the pharmaceutical and banking industries. By working with the quality engineering team at Co-operators, and networking with other software development teams within the company, I can gain a better understanding of how software development has benefitted the insurance industry.

An important lesson that I have learned through my prior experience as a co-op student is that part of my job is to bring forth new ideas that can help increase the productivity and efficiency of the team that I work with. Introducing new tools and/or processes that can potentially help the test automation team meet their goals will significantly improve the value I bring to the table as a co-op student.


Reflection

I have gone above and beyond in achieving my original goal of familiarizing myself with the Selenium testing framework. My work with regression testing and debugging defects has helped me gain a very thorough understanding of how Selenium assists in the requirements of a quality engineering team. In addition, I was also given the task of monitoring the Jenkins automated daily runs that also uses Selenium-integration. By doing so, I have gained a proficiency in Selenium-based application testing both locally and on hosted servers.

I have shown great initiative in reaching out to different software development teams to learn more about how software engineering impacts the insurance industry. I was given the opportunity to connect with Austin Bursey from the Dev-Ops team to inquire about the role that his team plays in Quality Engineering for our insurance applications. He also linked me to a LinkedIn learning course that dives deeper into the role that Dev-Ops plays in deployment processes. I will be using that course to continue to better my understanding of Dev-Ops in the second half of my co-op term.

Throughout the first 4 months of this co-op term, I was able to improve the team's productivity and efficiency by suggesting and implementing the following:

  • A Excel workbook to JSON file converter Python script to automate the conversion of test data sources.
  • A GitHub-Microsoft Teams connector that notifies the team when a pull request is opened/edited/closed.

Conclusion

In conclusion, my work term at Co-operators has provided me with valuable insights into how software development significantly impacts the insurance industry. I am pleased with the progress I have made in achieving my initial goals and have laid a clear path forward for continued success in the second half of my term. The hands-on experience has not only enhanced my technical skills but also deepened my understanding of the critical role technology plays in delivering efficient and reliable insurance solutions. I am confident that by maintaining this trajectory, I will continue to meet and exceed the objectives I have set for myself.

Acknowledgements

I would like to express my heartfelt gratitude to my supervisor, Emil Sathiya, for his exceptional attentiveness to my learning objectives and his unwavering support in helping me achieve my goals during this co-op term. Emil's commitment to my professional development has been instrumental in my progress. I am also deeply appreciative of my teammate, Joseph Coffa, who has been a tremendous mentor throughout this experience. Joseph has been my go-to person for overcoming any blockers I've encountered in my tasks, and his approach to problem-solving and work ethic has been both inspiring and educational. Their guidance and support have greatly enhanced my co-op experience.