Trevor Wagner

Project-Focused Software Engineer, QA Automation

Software Testing is a Real Problem.

Software Test Engineering is an engineering practice area focused on producing data and feedback related to the current functional state of software work product.

When Test Engineering works well, the solutions it delivers generally serve as a valuable source of business intelligence. The value it delivers enables the organizations that depend on it to make timely, well-informed decisions that include anticipating and responding to risk.

I provide services to enable software development organizations to improve testing ROI by making quality of test coverage just as important as the quantity of coverage.

Conventional Solutions Often Encounter Common Setbacks.

To maximize ROI, Test Engineering needs to make the most of the opportunity it is granted to cover work product as thoroughly and extensively as possible.

When Test Engineering is approached strictly as a simple set of tasks, though (when focus shifts from results to metrics), organizations often encounter common setbacks that hamper ROI. For example:

  • Testing Strategy - When organizations limit focus to verifying support for workflows instead of tailoring strategy as a solution to a clearly-defined testing problem, it can often lead to operational churn and missed opportunities for coverage that is both appropriate and efficient. Examples include meeting arbitrary quantified coverage- or process requirements, and setting automatic quality gates.
  • Framework/ Tooling Development - Instead of enlisting experts to maximize support for coverage and accommodate foreseeable changes over time, organizations task development generalists with automating workflows. When they do, they often end up with unwieldy, inefficient test suites coupled to expert systems that cannot be debugged or transferred (or even tested) without significant additional investment.
  • Test Planning - Instead of developing test plans to gather data on whether work product sufficiently meets stakeholder concerns, many organizations opt for simple strategies (often involving things like codepaths, traceability matrices, current trends, and "best practices") to validate the implementation and poll for likely (or unlikely) failure scenarios. In addition to potentially missing opportunities for coverage, test plans developed using these strategies also fail to capitalize on an opportunity to foster collaboration.
  • Test Automation - When organizations approach automated tests as a commodity that anybody can (and should) produce, they often end up with suites of tests that require a lot of time to read, debug, and organize. The tests may not produce clear signal, and they may either flake or otherwise not execute consistently.

As a result, testing can serve as a liability bigger-picture for the organization.

I Help Software Development Organizations Find Opportunities for Improvement, Starting with Good Questions.

Over the years, I've helped multiple organizations engineer solutions that make serviceable, efficient visibility into the functional state of work product a vital part of assuring quality for product- and engineering initiatives of strategic value.

Past successes have included the following:

  • Testing for Web-Based APIs, including for REST and SOAP APIs.
  • Web UI Testing, including for JavaScript MVCs like Angular and React.
  • Testing Against Data Abstraction and Data Integrity, including for RDBMS and NoSQL.
  • Testing for Mobile- and Desktop Applications including macOS, iOS, and Windows and for services running in various distributions of Linux.
  • Testing Integrations with External Systems, including in-house integrations, integrations with SMB SaaS solutions, and integrations with some of the most widely-used services in the world.
  • Framework/ Tooling Development, including framework development and development of test support tooling.
  • Systems Analysis, including analysis of existing production systems and testing frameworks and tooling, risk assessments, recommendations for improvement, prototyping, and piloting.

Currently I provide services to clients through Upstream Consulting LLC.

I write about my experiences (and provide insights drawn from them) on this blog.

I can be contacted directly using this contact form or here on LinkedIn.