Changes

m
Mobile Squad
 
 
 
 
 
'''Apr-2021 - Nov-2023'''
===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 automationsuites. 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 - Full List|References]]===* [https://dirksonline.net/CV/Reference%20for%20Vincent%20from%20Stephen%20Stewart.pdf 2023 '''Stephen Stuart'''] - Reference. ''Stephen was my People Lead for my duraction at Westpac''* [https://dirksonline.net/CV/Kate%20Nesmyelova%20-%20TTC%20Reference_check%20For%20Vincent_Dirks%202023.pdf 2023 '''Kate Nesmeylova'''] - Reference Check for [[Water Services Reform, Dept of Internal Affairs (NZ Govt) - Senior Test Automation Engineer|TTC Global]]. ''Kate was the Quality Engineering Chapter Area Lead for Westpac''* [https://dirksonline.net/CV/Hannah%20Gray%20Reference%20letter%20for%20Vincent%20Dirks%202023.pdf 2023 '''Hannah Gray'''] - Reference. ''Hannah was team lead for the Test Environments team I was part of for 10 months''<!-=== linkedin Recommendations ===** [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg 2023 '''Isaac Carrington'''] Head of Platform Engineering** other linkedin recommendations [https://dirksonline.net/CV/2023%20Catherine%20Lupton%20- TBD-->%20LinkedIn%20Recommendation.jpg 2023 '''Catherine Lupton'''] Test Manager
=== 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 [https://www.java.com/en/ '''Java'''], [https://testng.org/ '''TestNG'''], and [https://rest-assured.io/ '''REST Assured-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 [https://www.splunk.com/ '''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 [https://www.rbnz.govt.nz/regulation-and-supervision/oversight-of-banks/standards-and-requirements-for-banks/banks-outsourcing-policy BS11 Outsourcing policy for banks] by the [https://www.rbnz.govt.nz/ RBNZ] requires banks like [https://www.westpac.co.nz/ 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 [https://en.wikipedia.org/wiki/Westpac 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 worked on was to build a fun little webapp 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 server ) using [https://nodejs.org/en '''Node.js'''], [https://expressjs.com/ '''Express.js'''], and [https://react.dev/ '''React''']..* Created node maps illustrating system interconnections across various test environments using [https://mermaid.js.org/ '''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 [https://www.splunk.com/ Splunk] and other observability tools like [https://www.dynatrace.com/ Dynatrace], I had the opportunity to learn and grow in the role of "'''Splunk Champion'''mermaid". I was encouraged into this role by [https://dirksonline.net/CV/2023%20Isaac%20Carrington%20-%20LinkedIn%20Recommendation.jpg Isaac Carrington]''(Head of Platform Engineering)'' despite lacking prior platform engineering experience.js 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)'' diagramming tool * Introduced the Quality Engineering Chapter to create node maps use Splunk for reporting of how various 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 connected, 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 this response to [https://www.ird.govt.nz/-/media/project /ir/home/documents/kiwisaver/kiwisaver-provider-update/new-ks-default-providers.pdf 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 more implemented in [https://www.java.com/en/ '''Java'''], with [https://cucumber.io/ '''Cucumber (BDD)'''], [https://rest-assured.io/ '''REST-assured'''], and [https://www.selenium.dev/documentation/webdriver/ '''Selenium WebDriver''']. Through developing the automation suites, learning to use '''Page Object Models''' (POM's) to create maintainable web UI automation suites. [https://www.splunk.com/ '''Splunk'''] played a JavaScript developer than a testercrucial 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 - Testing and Automating Mobile Banking Apps WiP TBC== In my first role at Westpac, I was testing our iOS and Android apps for consumer users. I performed testing and limited automation of new features developed by the team. Shifting left, I contributed early to the app design (UX) to ensure features were user-friendly and accessible across diverse user demographics. And I also enhanced the testability of the mobile apps by utilizing tools like Charles Proxy to intercept and modify API calls for alternative and negative scenarios. During release phases, I actively participated in testing activities. My contributions to the Mobile Squad included: * Testing and automating both iOS and Android apps.* Collaboration in app design to prioritize user-friendly and accessible features.Utilization of Charles Proxy to enhance the testability of mobile apps by intercepting and modifying API calls.Active involvement in testing efforts during release phases.Implementation of automation using Appium for the Android app and XCUITest for the iOS app.                -----------
===Observability Squad===
With this team I switched to a more Platform Engineering role, and became the Westpac Splunk Champion. We were supporting and growing the Splunk platform for Westpac internal technology teams. I have had exposure to Splunk in previous companies and have truly loved it for analysing data. I really like to try and find the customers' experiences come through the data. I would always ask the teams we were supporting on their Splunk onboarding journey three things:
# Are you logging how well your product/service/feature is working? eg transactions per hour
# Are you catching all the errors and warnings to know when the product/service/feature is doing something bad
# When you observe an error/warning are you recording good quality information that truly helps devOps understand the issue, and expedites the remediation of the issue?
The latter I find particularly important because in the end the objective is to minimise the risk of major issues by knowing about them quickly, [[and]] also being able to solve them quickly. Timely & good quality information is paramount.
===D365 KiwiSaver Squad===
Built a Selenium WebDriver POM based cucumber Java automation suite from scratch to test a D365 webapp.
===I started with Westpac in the Mobile Squad===Manual responsible for maintaining the iOS and automated Android apps for the consumer users of the bank. Performing testing and some limited automation of Westpac's iOS & Android the features being developed by the team. I contributed to the design of the apps (UX) to consider the full range of users of the app, helping to keep features simple and accessible. Contributing also to testability of the mobile apps, using Charles Proxy to intercept API calls and modifying them to extend the alternative and negative scenarios. I assisted with testing during the release phase. The automation used Appium for the Android app, and XCUITest for the iOS app.