Nigel Mulholland Lead Test Automation Engineer
Negombo, Sri Lanka 7+ years SDET

I build frameworks.
You ship without fear.

I'm a ISTQB certified Test Automation Engineer with hands on experience across Web, API and Mobile platforms, specialising in designing robust, scalable automation frameworks using modern open source tools. I continuously explore new tools and practices to push the boundaries of what's possible in modern QA.

~/automation/playwright-suite (main)
Nigel Mulholland
Lead - Software Quality Engineering at VitalHub Innovations Lab

Starting as an intern in 2019, I quickly learned the bugs that mattered most weren't in tickets. They lived in requirement gaps, flaky pipelines and the quiet places where teams stopped asking "but what if?"

Seven years on, I lead test the automation efforts at VitalHub Innovations Lab, building reusable frameworks across Selenide, Playwright, Cypress and REST Assured, and designing AWS native performance harnesses running hundreds of concurrent browser sessions on Fargate.

But the work I’m most proud of isn’t the code. It’s shortening release cycles, mentoring junior engineers into confident automation owners, and embedding accessibility checks directly into pipelines making quality impossible to bypass.

Looking ahead, I'm exploring how AI can eliminate repetitive work and raise the bar for quality. To me, quality isn't a phase, it's a posture.

/01
UI Automation
Selenide Playwright Selenium Cypress Appium CodeceptJS BrowserStack Sauce Labs
/02
API & Performance
REST Assured Playwright Postman / Newman JMeter K6 Blazemeter Axe Core
/03
Languages & Frameworks
Java JavaScript TypeScript Groovy Cucumber BDD TestNG JUnit
/04
DevOps & Cloud
Jenkins GitHub Actions Azure DevOps Buddy AWS / ECS Fargate Maven Docker Selenium Grid
· Certifications
/01
ISTQB CTFL
ISTQB® International Board
2021
/02
Postman API Fundamentals
Canvas Credentials (Badgr)
2024
/03
Selenium WebDriver with Java
TestAutomationU
2020
/04
Mobile Automation with Appium
TestAutomationU
2021
main · career/nigel-mulholland
commits · 8 contributors · 4 last update ·
a4f9e21
HEAD → main v7.0 nigel Sep 2024 → Present
Lead - Software Quality Engineering (Test Automation)
VitalHub Innovations Lab
Colombo 07, Sri Lanka
worked on Attend Anywhere Zesty CaseWORKS EHR Hicom Synopsis BCare
+Contributed to AWS native PVT framework on Playwright + ECS Fargate for large scale concurrent browser load testing with comprehensive monitoring via OpenSearch, Sentry, New Relic, and AWS CloudWatch to deliver professional PVT reports.
+Owning framework direction and delivery standards for the full automation team.
+Mentoring junior automation engineers via structured 1:1s and pairing sessions.
+Established a code review culture across the automation teams, setting review standards and consistently providing feedback that raised the bar for production quality test code.
+Created training plans to onboard new automation team members faster and support manual QA engineers transitioning into automation testing.
+Delivered monthly status updates to senior management, communicating test automation progress, coverage metrics, and adoption milestones across each VitalHub product undergoing automation implementation.
stack Java JavaScript Selenide Playwright CodeceptJS JMeter Postman Docker AWS ECS, ECR, Cloud Watch Buddy CI/CD Cucumber BDD Framework Bitbucket Allure Confluence JIRA Open Search Sentry New Relic
7c2d834
merge v6.0 nigel May 2023 → Aug 2024
Associate Lead - Software Quality Engineering (Test Automation)
VitalHub Innovations Lab
Colombo 07, Sri Lanka
worked on SHREWD BCare Oculys Intouch with Health
+Designed a Selenide Java BDD framework with a 90% reusability rate, enabling manual testers to automate new test scenarios significantly faster.
+Extended automation framework functionality with REST APIs to push test results into Azure DevOps Test Plans in real time.
+Introduced WCAG compliance automation to the organisation's existing accessibility testing plans using Axe Core.
+Directed automation training for 25+ QA engineers.
+Reviewed junior engineers' PRs, giving detailed feedback on test design, naming, and maintainability to build practical engineering habits.
+Delivered monthly status updates to senior management, communicating test automation progress, coverage metrics, and adoption milestones across each VitalHub product undergoing automation implementation.
stack Java Selenide Rest Assured Postman Cucumber Jenkins Azure DevOps Axe Core Bitbucket Allure JIRA
3b8f102
v5.0 nigel Sep 2022 → Apr 2023
Senior Software Quality Engineer - Test Automation
VitalHub Innovations Lab
Colombo 07, Sri Lanka
worked on SHREWD Oculys MCAP S12 Solutions
+Cut testing effort by 90% via Cypress + Cucumber automated test framework with Allure reporting.
+Stood up Jenkins pipelines with scheduled jobs + Azure DevOps Test Plan integrations.
+Triaged automation failures across environments to reduce defect leakage.
+Delivered monthly status updates to senior management, communicating test automation progress, coverage metrics, and adoption milestones across each VitalHub product undergoing automation implementation.
stack Groovy JavaScript Katalon Studio Cypress REST Assured Postman TestNG Jenkins AWS Axe Core Cucumber BDD Framework Bitbucket Allure JIRA
e91a045
v4.0 nigel Mar 2021 → Aug 2022
Software Quality Assurance Engineer – Test Automation
VitalHub Innovations Lab
Colombo 07, Sri Lanka
worked on TREAT SHREWD DOCit Mobile Appointment Manager
+Enhanced the in house Katalon Studio BDD framework.
+Built a Selenium + Java BDD Framework that won adoption over the existing commercial framework.
+Added documentation for the existing automation framework to onboard new team members.
+Added mobile test automation with Katalon Studio for a new product and executed tests on Sauce Labs.
stack Java Groovy Katalon Studio Selenium Appium BrowserStack Sauce Labs REST Assured Postman Newman Jenkins Cucumber BDD Framework Bitbucket JIRA
d72b6c1
v3.0 nigel Jan 2020 → Feb 2021
Software Quality Engineer
Zilingo
Colombo 07, Sri Lanka
worked on ONE App FA App Dashboard App Apache Flink
+Identified a critical defect missed during requirement gathering and shaped the long term fix.
+Wrote a Postman scripts that generated bulk test data and removed a recurring team bottleneck.
+Owned regression and integration testing across OneApp, FA App, Dashboard.
stack Selenium Appium Postman JIRA K6 ELK Manual Testing
9f4e7a2
v2.0 nigel Jul 2019 → Dec 2019
Associate Quality Assurance Engineer
nCinga Innovations
Colombo 07, Sri Lanka
worked on ONE App FA App Dashboard App
+Owned testing and production verification of the Dashboard and FA App.
+Executed mobile regression and reported detailed test results to stakeholders.
stack Postman Protractor Appium JIRA Jenkins Manual Testing
1a0c3d8
init nigel Jan 2019 → Jun 2019
Intern QA Engineer
nCinga Innovations
Colombo 07, Sri Lanka
worked on Tracer Flow
+Performed manual testing to identify defects, collaborated with developers on functionality.
+Documented bugs in JIRA, contributed to daily stand-ups and test planning.
stack JIRA Manual Testing
0e1d2c3
edu nigel Jan 2016 → Nov 2019
Bachelor of Science (B.Sc.)
University of Sri Jayewardenepura
Nugegoda, Sri Lanka
studied Mathematics Computer Science Physics
courses Differential Equations Mathematical Software Fundamentals of Logics and Set Theory Linear Algebra I Calculus Vector Calculus Real Analysis Partial Differential Equations Boolean Algebra and Switching Circuits Abstract Algebra Optimization Basics of Number Theory Software Development Fundamentals Database Management Systems Data Structures and Algorithms Computer System Architecture Object Oriented Programming Operating Systems Knowledge Representation Human Computer Interaction Software Quality Assurance Electricity and Magnetism Waves and Vibrations Special Theory of Relativity Atomic Physics Optics Thermodynamics
CASE_01 Load Testing
PVT Docker Framework
Performance Verification Testing on AWS Fargate
Problem
Performance load testing was capped by local machine resources and couldn't realistically simulate the concurrent browser sessions of video conferencing platform seen in production both patient and clinician sides of a live video call simultaneously.
Solution
Contributed to an AWS native framework that packages Playwright scripts into Docker images, spawning hundreds of ECS Fargate tasks across 7 AWS regions in parallel. PowerShell scripts drive task definition generation and service orchestration, with run configs and screenshots aggregated centrally in S3.
2,000+
Concurrent browser sessions
7
AWS regions in parallel
Playwright Docker AWS ECS Fargate AWS ECR S3 Node.js
CASE_02 Replaced Commercial Tool
Selenide BDD Automation Framework
End to end test suite for a patient flow healthcare management system
Problem
A complex, multi tenant healthcare platform with clinical workflows spanning scheduling, referrals, assessments, and encounters. And no automated regression safety net. Every release was a manual testing bottleneck.
Solution
Built a UI BDD framework using Maven, Selenide, Cucumber, and TestNG with a Page Object Model, Allure reporting and a Dockerised Selenium Grid for parallel cross browser execution across multiple client environments.
4
Client environments covered
8x
Browsers in parallel
Java Maven Selenide Cucumber TestNG REST Assured Allure Docker Jenkins HL7 Mockneat
CASE_03 Live / Open Source
Playwright Commands Cheat Sheet
200+ commands, searchable, filterable, copy ready
Problem
Engineers constantly tab hop between Playwright docs looking for the right command, syntax, or example breaking focus every time.
Solution
Built an interactive browser based reference with 200+ commands across 10 categories. Filter by difficulty, search by keyword, copy snippets instantly, and jump straight to the official docs, all in one place.
208+
Commands documented
10
Categories covered
Playwright JavaScript HTML/CSS GitHub Pages
CASE_04 API Testing
Rest Assured API Regression Suite
Automated contract validation across microservices
Problem
REST API contracts were verified manually through shared Postman collections. Endpoint changes broke integrations silently, with failures surfacing days later during E2E UI testing rather than at the source.
Solution
Built a Rest Assured framework in Java with TestNG, covering auth flows, schema validation, and negative path scenarios. Environment agnostic config let the same suite run locally and in CI without modification.
300+
API test cases automated
30%
Reduced regression effort
Rest Assured Java TestNG Maven Swagger Jenkins
POST_01 codeceptjs
I Tried CodeceptJS for the First Time
An intro to setting up CodeceptJS with Playwright, a wrapper that simplifies test authoring through BDD-style syntax and a natural actor-based "I" object.
POST_02 selenium grid
Testing File Downloads with Selenium Grid 4 in Docker
A practical guide to verifying file downloads inside a Dockerised Selenium Grid 4. Covers WebDriver config, Docker volumes, and multi-browser verification.
POST_03 azure devops
Publishing Test Results to Azure DevOps Test Plan in Real Time
How to push automated test outcomes directly into Azure DevOps Test Plans using Cucumber hooks and the REST API, with live status updates per scenario.
POST_04 security
Security Testing Using Selenium and OWASP ZAP
Integrating OWASP ZAP with Selenium to detect security vulnerabilities automatically. Covers Maven setup, test config, and full vulnerability report generation.
POST_05 performance
Performance / Load Testing with k6, InfluxDB and Grafana
End-to-end guide to load testing with k6, storing results in InfluxDB, and visualising live metrics in Grafana. Covers setup to dashboard configuration on Windows.
[ end of pipeline ]

Let's build something
that doesn't break.

nigeldave19@gmail.com
LinkedIn GitHub Twitter Medium