Software Tester

Hi, I'm Ben Ashton

I investigate software. I find what matters. Practicing Rapid Software Testing to reveal risks, challenge assumptions, and tell the story the code cannot tell itself.

test_session.log
> Session: Payment Flow Investigation
> Charter: Explore boundary conditions in
transaction processing
> Oracle: User expectation vs. system behavior
> Heuristic: "Follow the money"
> Finding: Rounding error at boundary
> Risk: HIGH — affects all txns > $9,999.99

About Me

I'm Ben, a software tester. Not a "QA engineer," not a "quality assurance" role — a tester. I investigate software to find problems that matter, using the Rapid Software Testing methodology — a context-driven approach that treats testing as a skilled, human investigation rather than a scripted process.

That means applying heuristics and oracles to evaluate software, designing experiments under uncertainty, and communicating risk in terms stakeholders can act on. Every test session is an investigation, and every bug report tells a story.

What I Do

Exploratory TestingTest Design & HeuristicsBug InvestigationOracle DevelopmentRisk-Based Test StrategyContext-Driven TestingCritical ThinkingTest Automation

Work Experience

Software Quality Engineer

Dec 2023 - Present

Mountain America Credit Union

  • Perform manual and automated testing across new features and API endpoints — writing and updating integration tests as features ship and investigating system behavior ahead of release to surface risks before they reach production.
  • Continuously evaluate integration test quality over quantity — auditing tests for meaningful signal, removing low-value coverage, and ensuring each test reflects real user or business behavior.
  • Collaborate daily within a cross-functional team of developers, QA, DevOps, product, and SRE — and coordinate across teams as a quality resource, sharing standards, answering product questions, and taking on work to unblock other engineers.
  • Contributed to a credit-union-wide core banking transformation — one of the largest technology overhauls in the organization's history — testing migrated APIs, newly built replacement services, and critical UI flows.
  • Performed post-migration data verification against defined rules to confirm accuracy and integrity of member financial data across legacy and new systems.
  • Document testing approaches through Test Action Plans linked to feature user stories, and author Test Strategies that serve as product-level testing guides for engineers across the org.

Software Development Intern

Oct 2023 - Nov 2023

beatBread

  • Built a full-stack internal search tool connecting first-party and third-party API endpoints, using Next.js, TypeScript, and Python.

Implementation Intern

May 2022 - Aug 2022

Fast Enterprises

  • Developed, tested, and deployed software updates impacting California state employees and residents on a high-stakes government platform.
  • Leveraged Microsoft SQL Server to diagnose reported production issues by querying and tracing data across complex relational databases.

Computer Science Coach

Aug 2021 - Dec 2022

Utah State University

  • Coached undergraduate students in Python, Java, and C++ — reinforcing fundamentals of programming, data structures, and algorithms.
  • Worked one-on-one with students to diagnose gaps in understanding and adapt explanations to individual learning styles — building the communication and empathy skills central to effective cross-functional engineering work.

Testing Case Studies

Investigations, findings, and the thinking behind the testing.

Integration Test Suite Audit

Context

The existing integration test suite had grown to over 700 checks across the API layer, but neither testers nor developers had confidence in it. The suite was treated as a formality — run because it existed, not because it provided signal. Tests weren't catching real bugs.

Approach

Worked with one other tester to systematically audit the suite controller by controller. Applied a simple but effective heuristic: if we couldn't easily identify what value a check provided, it was modified or removed. Found many checks covering internal server error cases with no real risk attached, checks that were unclear in what they verified, and checks that were inadvertently validating multiple things at once. Performed a parallel refactor to improve code readability and navigability.

Findings

The majority of checks were impacted — modified, consolidated, or removed. The suite ended at a similar count, but with fundamentally different composition: each check now had a clear purpose tied to real user or business behavior rather than implementation details.

Impact

Team confidence in the suite increased significantly. Developers and testers began using the checks more frequently and actively. Results are now reported to a dashboard for visibility across the team.

Tools:NUnitC#
RST:Checks vs. TestsOracle of ClarityRisk-Based Evaluation

Dispute Processing API Migration

Context

A vendor-facing API hub that sends and receives disputes and receipts — handling credit-bureau dispute workflows and compliance-critical dispute notes governed by FCRA/FDCPA. The migration involved significant refactoring alongside a core banking transformation, including replacing unreliable asynchronous document processing queues with a scheduled synchronous endpoint. The risk: dispute notes routed to the wrong place would fail silently, creating compliance exposure with no immediate signal.

Approach

Authored a test strategy documenting critical paths, related systems, and known risks. Tested migrated features by comparing results between old and new core systems. Tested refactored behavior by comparing results before and after changes across environments. Spot-checked data mapping directly in the core systems to verify disputes and receipts landed where expected. Evaluated existing integration tests for reliability and found hardcoded test data that masked real risk.

Findings

Discovered a typo in the receipt retrieval endpoint that silently prevented it from functioning — a bug that would have caused a compliance failure if shipped. Identified hardcoded data in integration tests that gave false confidence in the API's behavior.

Impact

Prevented a potential FCRA/FDCPA compliance violation. Surfaced fragile test data that was undermining the team's ability to trust their checks.

Tools:PostmanNUnitC#SQL Server
RST:Oracle: Historical ConsistencySilent Failure RiskChecks vs. Tests

Post-Migration Data Verification

Context

As part of a credit-union-wide core banking transformation, member financial data was migrated from a legacy system to a new core. Defined mapping rules governed how data should translate between systems. Verification spanned multiple data types including HELOC expiration dates, construction loan notes, and credit card promotions. The stakes: incorrect mappings could silently lose member data with no indication anything was wrong.

Approach

Systematically verified data against mapping rules across both cores, ticket by ticket. For each data type, queried both legacy and new systems to confirm the mapping produced correct results. When initial queries returned no matching cases, investigated further rather than accepting "not applicable" — searched for similar cases with variations to test whether the expectation itself was correct.

Findings

During construction loan notes verification, initial results suggested no cases existed in either core that matched the mapping rule. Rather than closing the ticket, investigated adjacent cases in the legacy system and discovered the expected data format was wrong. At least four cases existed that should have been mapped but were never migrated. The data had been silently lost.

Impact

Prevented permanent loss of member construction loan data. Demonstrated that verification requires questioning the rules themselves, not just checking data against them.

Tools:SQL Server
RST:Oracle: Mapping RulesSapient EvaluationSilent Data Loss Risk

Get In Touch

Looking for a tester who investigates, not just executes? Let's talk.

Send a Message