Westpac NZ - Senior Automation Quality Engineer

Revision as of 04:27, 7 May 2024 by DirksWikiAdmin (talk | contribs) (D365 KiwiSaver Squad)

Revision as of 04:27, 7 May 2024 by DirksWikiAdmin (talk | contribs) (D365 KiwiSaver Squad)

Apr-2021 - Nov-2023

Contents

Intro

During my time at Westpac, I worked as a roving Quality Engineer across various teams. This role involved learning about different product domains and technology stacks, both for the products, infrastructure, and their automation suites. It was a challenging yet rewarding experience that kept me engaged and encouraged continuous learning. My focus was always on thorough testing, addressing immediate issues and anticipating future challenges to ensure project success.

References

linkedin Recommendations

MF8TL Team - Legacy API Server Replacement

This team was implementing a replacement of a legacy API Server used by the bank's mobile and web apps. The old system had a mature API automation suite implemented using Java, TestNG, and REST-assured.

My work

  • Refactored and extended the existing mature API automation suite to test the replacement system.
  • Implemented method overloading to centralize reporting results to Splunk within the automation codebase.
  • Identified and applied suitable testing tools and processes from the old system to the new implementation.
  • Focused primarily on enhancing the API automation suite by creating new test scenarios using established patterns such as service classes, POJOs (Plain Old Java Objects), and extending base test classes.
  • Streamlined code, reduced duplication, and centralized request dispatching and response handling processes through Splunk integration efforts.

Test Environments Team - React Web App to Visualise Test Environments

The BS11 Outsourcing policy for banks by the RBNZ requires banks like Westpac NZ to have systems and processes to be able to replace any outsourcing by the start of the next business day following an event, or instruction from the RBNZ. This includes severing all links to its parent Westpac Banking Corporation in Australia, within a matter of hours. Furthermore, BS11 requires credible evidence of this capability.

The Test Environments Team was established to manage the test environments necessary for Westpac NZ to demonstrate a separation event. My main task within this team was to build a small web app (UI and API) visualising systems and interconnections across various test environments. My role primarily focused on JavaScript web app development, but I often provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter for their feedback.

My work

  • Developed a small web app (UI and API) using Node.js, Express.js, and React..
  • Created node maps illustrating system interconnections across various test environments using mermaid.js.
  • Provided insights from a tester's perspective and liaised with the Westpac Quality Engineering Chapter.

Observability Squad - Platform Engineer and Splunk Champion

As a member of the Observability Squad, a Platform Engineering team tasked with supporting Splunk and other observability tools like Dynatrace, I had the opportunity to learn and grow in the role of "Splunk Champion". I was encouraged into this role by Isaac Carrington(Head of Platform Engineering) despite lacking prior platform engineering experience.

In my role, I:

  • Acquired skills in Platform Engineering (Docker, Linux VM's, Terraform, Bash, HashiCorp Vault)
  • Provided support to internal users to leverage Splunk (Searching, analysis, dashboard creation, PagerDuty integration)
  • Managed a distributed instance of Splunk Enterprise (Indexers, search heads, forwarders, event collectors, role-based access controls)
  • Introduced the Quality Engineering Chapter to use Splunk for reporting of results from automation suites


Moreover, as the Splunk Champion, I really wanted to help people see the customer's experience through the data being collected. When onboarding new systems, I guided users through a series of questions aimed at maximizing the value extracted from Splunk data, focusing on monitoring product performance, error detection, and quality information being recording for efficient issue resolution.

Ultimately, the goal of observability is to swiftly remediate critical issues by detecting them, understanding their impact, and resolving them promptly. Therefore, timely and quality information remains paramount in achieving this objective.

D365 KiwiSaver Squad - Java API and UI Automation

In response to IRD's review of default KiwiSaver providers in 2021, the Westpac-run BT Funds emerged as one of the six remaining providers. With approximately 40,000 clients set to enroll with Westpac's BT Funds, the surge threatened to overwhelm existing staff and jeopardize IRD mandated service level objectives. To streamline the onboarding process, the D365 KiwiSaver Team was tasked with creating a D365 workflow to automate key steps. This involved developing an API interface to handle incoming requests from IRD, checking for existing bank client data, and creating new client accounts as needed. While basic flows were automated, the D365 UI was needed for handling exception cases. The solution involved micro-services, Kafka event queues, Azure Event Hub queues, and Azure functions to process requests efficiently.

In my role within the team, I contributed to system design, test planning, testing, and creating automation suites for both the API and D365 web UI. The automation was implemented in Java, with Cucumber (BDD), REST-assured, and Selenium WebDriver. Through developing the automation suites, learning to use Page Object Models (POM's) to create maintainable web UI automation suites. Splunk played a crucial role in monitoring the project's various subsystems, I was able to show the team how to add and use session ids to track the progression of information and actions through the pipeline.

Mobile Squad

Manual and automated testing of Westpac's iOS & Android mobile apps.