QA Engineer · Test Automation

Eric Rhodes

Nine years of finding what breaks, and why.

I've tested wagering platforms, internal tools, and — more recently — AI systems that don't behave the same way twice. Selenium on the web, Appium on mobile, Python and SQL for the layer underneath, and a long habit of writing defect reports a developer can act on without a follow-up conversation.

Northern Kentucky · Greater Cincinnati / Open to SDET roles

What I bring

Where I've done it

2024 – 2026

Software QA

Shared Services · Cincinnati, OH

Manual and automated coverage across internal applications, plus accuracy and bias evaluation of third-party AI chatbots — the kind of testing where the expected result isn't a fixed string.

2024 – 2025

Software QA Engineer · on-call

TwinSpires.com · Louisville, KY · concurrent

Retained twelve months past my last day on the full-time team, so release coverage on a regulated wagering platform stayed with someone who already knew the system. On call for release windows and escalated issues.

2023 – 2024

Software QA Engineer

TwinSpires.com · Louisville, KY

Tested a live wagering platform where a defect costs real money. Piloted AI-assisted automation tooling to cut regression cycle time.

2020 – 2023

Software Quality Assurance

MYS · Cincinnati, OH

Owned regression coverage across releases and worked directly with developers to reproduce and isolate reported issues.

2018 – 2020

Software QA Analyst

Reach Reliance · Cincinnati, OH

Defect identification and reporting, and mentoring junior analysts on methodology and standards.

2017 – 2018

Software Quality Assurance

TCS · Milford, OH

Cross-browser and cross-device compatibility testing, and sprint planning input on the testability of user stories.

Code

A few things I've built to keep the automation side sharp.

Chatbot QA Suite

Automated regression checks for an LLM-backed chatbot API — a system that answers differently every call, where assertEqual has nothing to compare against. Three layers: a deterministic response contract, statistical checks over repeated sampling (factual answers must agree with each other; sensitive requests must be refused every time), and counterfactual pairs that substitute one irrelevant detail to see whether it changes the answer. Every threshold is a named constant, because requiring four passes out of five is a specification and retrying until green is not.

Python · pytest · pydantic · GitHub Actions · source

Mobile Lifecycle Suite

One Appium suite running against both iOS and Android, covering the paths that only exist on mobile: an app backgrounded long enough for the OS to reclaim it, half-entered input surviving an interruption, rotation destroying and rebuilding the view, network dropped mid-session. Permission denial is tested too, rather than skipped by auto-granting — that's the path a lot of real users take. Platform differences resolve in the locator layer, so no test contains a conditional; failures capture a screenshot and page source automatically, since a device-farm failure has no URL to reopen.

Python · Appium 2 · pytest · iOS / Android · source

Application Form E2E Suite

End-to-end coverage of a web application form: navigate to the form, audit it for the expected fields, submit generated data, and verify the confirmation message. Built on Selenium 4 with page objects and explicit waits throughout — no fixed sleeps, since those are where flaky suites come from. Uses JUnit 5's assertAll so a broken form reports every missing field in a single run rather than one per rerun.

Java · Selenium 4 · JUnit 5 · Maven · source

Toolbelt

Automation

  • Selenium 3y
  • Appium 3y
  • Java 3y
  • Python 3y
  • JavaScript 2y
  • pytest 1y

Systems & data

  • SQL 6y
  • AWS 6y
  • APIs / Postman 4y
  • Apache 2y

Practice

  • Test design 9y
  • Jira 7y
  • Agile 6y
  • UAT 6y

Before that

2013 – 2017

B.A. Computer Science

Berea College · Berea, KY

Founded the Berea Computing Club and served as a teaching assistant for the computer science department.

Get in touch

Open to SDET and QA engineering roles in the Cincinnati area or remote. Email is the fastest way to reach me.