This blog started when I was trying to find a place to put my research notes as I was attempting to switch over from being a manual tester to an automated tester. Since then, this blog has been the place I practice what I am learning on the job in order to deepen my knowledge. It's where I try out new concepts before presenting ideas back to the team. It's where I collaborate with the software testing community.
Visit the Articles and Programming Projects for more content, and Feedback to see what people have said about T.J. and his blog.
Software Quality Assurance
I have been working as a Software Quality Assurance Engineer for a while. Learn more about Waterfall and Agile methodologies, and how software testing has changed over the years.
- What is a QA Engineer? (1/24/2015)
- Waterfall & QA (1/26/2015)
- Before Waterfall (1/26/2015)
- Agile Software Development (1/30/2015)
- How Google Tests Software — thoughts on the book (1/31/2015)
- Shifts in Software Testing (2/1/2015)
- How to Switch Careers in the Software Industry (4/20/2015)
- Should You Have a Dedicated Automation Team in Your QA Team? (9/9/2015)
- Are QA Engineers Becoming Extinct? (9/28/2015)
- How Automation Recaptures the Magic of Testing (5/14/2025)
- When Building Out Automation Frameworks, Keep the Stakeholders in Mind (5/15/2025)
- AI Wants to Take Over QA? Let It! (1/23/2026)
Security Testing
I spent time as a junior security tester early in my career and have found the field fascinating ever since.
- Security Testing with Kali Linux: Installation (4/22/2015)
- Beginners Kali Linux: Setup with RailsGoat (4/23/2015)
- Introduction to OWASP: A Security Testing Resource (4/30/2015)
- OWASP Boston Meetup: Crowdsource Your Bugs (5/7/2015)
Automation Frameworks: Selenium + Java
I worked at Fitbit-Boston (2015–2016) as an automation developer, initially with Selenium + Java. These posts document building an automation framework from scratch: element selectors, page objects, API testing, and infrastructure.
- Setting up a development environment with IntelliJ / Maven and Eclipse / Gradle
- Taking a deeper dive into Gradle, exploring Groovy
- Using TestNG and JUnit 4 assertions; introducing Hamcrest
- Abstracting the page using the Page Object model
- Using CSS Selectors to find and manipulate web elements
- Organizing locators: first in enums, then in By statements
- Wrapping Selenium calls in a CommonUtils library
- Replacing CommonUtils with Page Factory
- Performing API testing with Apache's HTTP Components
- Passing data using POJOs and builder patterns
- Examples of good logging for automated tests
- Playing with Protractor, JavaScript, and Jasmine — an AngularJS testing tool
Infrastructure: Docker, Vagrant, and Selenium Grid
Experiments with virtual dev environments, Docker, and cloud-based Selenium Grid, spanning my time at Fitbit (2016) and Threat Stack (2018).
- Setting Up a Virtual Dev Environment with VirtualBox, Vagrant, and Docker (5/2016)
- Installing Docker with the Docker Toolbox (7/2016)
- Setting Up Selenium Grid (for Beginners) (7/2016)
- Setting Up Selenium Grid in a Docker Container (7/2016)
- Starting a Selenium Grid Using AWS + SeleniumHQ Docker Images + Docker Compose (3/2018)
- Setting Up Ubuntu Linux with Docker (4/2018)
- Basic Chef + Test Kitchen: Setting Up Ubuntu with Vagrant + VirtualBox (6/2018)
AWS Cloud Security Testing (Threat Stack)
Starting in 2018, I wrote automated tests for a cloud security firm, Threat Stack, a provider of cloud security observability and compliance solutions. These posts cover their security domain and public educational content.
- The AWS Alphabet Soup (1/24/2018)
- An Introduction to Good Security Practices, with Sam Bisbee, Chief Security Officer of Threat Stack (1/28/2018)
API Testing (2016 - 2017)
REST API testing using Postman, Newman, REST Assured, and Apache HTTP Components.
- RESTful Testing with Stripe: A Brief Introduction (2/2016)
- Introduction to API Testing with Postman and Newman (7/2016)
- Are You Sure the Bus Line is Still Listed? REST Assured API Testing (2/2017)
Learning Serenity BDD (2017)
Exploring Specification by Example (SBE) and behavior-driven development automation frameworks.
Build a Basic Appium Framework (2017)
A seven-part series building a mobile automation framework using Appium + Java, testing Android apps on emulators. GitHub: basic_appium_framework.
- Part One: Review How to Inspect Mobile Apps with Appium Desktop (5/2017)
- Part Two: Design a Basic Test, Examining Mobile Elements with Appium Desktop (5/2017)
- Part Three: Install and Launch an App Using Desired Capabilities (5/2017)
- Part Four: Set up the Page Objects, Page Factories and Tests (5/2017)
- Part Five: Download the tests and run them on your own MacBook! (5/2017)
- Part Six: How to create and launch an Android emulator from Android Studio (5/2017)
- Part Seven: What happens behind the scenes as Appium installs and launches an Android app? (6/2017)
Ruby + Capybara + Gauge (2018 - 2019)
I created the Introduction to Capybara course for Test Automation University (2019). These posts document the framework setup and BDD integration.
- Intro to setting up a BDD framework with VS Code + Gauge + Ruby (6/2018)
- Basic Capybara + Gauge: Analyzing The-Internet (12/2018)
Ruby + Watir: The Cheezy Internet (2021)
A series based on Jeff "Cheezy" Morgan's Watir framework, testing against Dave Haefner's The-Internet site.
Playwright + TypeScript (2025 - 2026)
Exploring Microsoft Playwright for web automation, including AI-assisted test generation tools released in October 2025.
- Time to Practice Playwright! (5/2025)
- New Playwright Course: Playwright Essential Training by Butch Mayhew (6/2025)
- Hands on Automated Testing with Playwright is the start of a wonderful conversation with the Playwright community! (1/2026)
- Investigating AI: Playwright-Test-Planner and Playwright-Test-Generator (2/2026)
- GitHub Copilot Over-Engineered My Playwright Framework Then Blogged About It! (3/2026)
- What happens when you pair Playwright with something other than TypeScript? (4/22/2026)
AI-Assisted Test Development (2025 - 2026)
Head-to-head evaluations of GitHub Copilot, Cursor, and Claude as coding assistants for building test automation frameworks.
- Beware the Hallucinations When Coding with AI (12/2025)
- My LinkedIn Year in Review - AI Style: Coauthor.Studio vs Claude.ai (1/2026)
- AI wants to take over QA? Let it! (1/2026)
- New project: Creating an automated test framework in Playwright + C# using GitHub Copilot (2/2026)
- New Project: Cursor creates a Playwright + C# test framework (2/2026)
- AI: Good as a Research Assistant. Bad for Creating GitHub Action Workflows (2/2026)
- Claude Sonnet 4 Talks About Designing a Cypress Framework for a Login Screen (3/2026)
Detox + React Native Mobile Automation (2025 - 2026)
I built a complete mobile automation framework at SELF ID using Wix's Detox + TypeScript, then created an open-source demo project for my AutomationGuild 2026 talk. All source code is at github.com/tjmaher/detox-demo.
- Two months at SELF already? Happy Anniversary! (9/2025)
- DetoxDemo, my first vibe-coded React Native app, is now complete (12/2025)
- First Time Using GitHub CoPilot to Create a ReactNative LoginPage App. What Could Go Wrong? (1/2026)
- New Features of Detox Demo: CI/CD + Logging + Reports, oh my! (1/2026)
- DetoxDemo: Now with more GitHub Action Workflow CI/CD Options! (1/2026)
- The Facebook Ecosystem: React, React Native, Metro, and Yarn (2/2026)
- Creating a GitHub Actions Workflow for Android Detox Testing with GitHub CoPilot? What Could Go Wrong? (2/2026)
- New Features of Detox Demo: Security Scanning + Android Support + Cross-Platform Builds! (2/2026)
- Getting Slides ready for my Detox + TypeScript talk for TestGuild! (3/2026)
- Save the Date: AutomationGuild talk - Building a React Mobile automated test framework using Detox + TypeScript - April 6, 2026 (3/2026)
Becoming AI QA: Understanding Python's Connection to Machine Learning (2026)
A blog series documenting my attempt to bridge from SDET into AI Quality Engineering — picking up Python, exploring the tools and frameworks the field runs on, and figuring out what skills actually transfer from a decade of test automation work.
- Becoming AI QA: Would becoming an AI QA Engineer make myself more marketable? What should I study? (3/2026)
- Becoming AI QA: Why Python? How AI and Python became linked (3/2026)
- Becoming AI QA: Jupyter Notebook + Python (3/2026)
- Python Project: Blogger Spam Bulk Deleter Code Walkthrough: Pair-Coded with Claude but Human Explained! (4/2026)
Ministry of Testing - Boston (2016 - 2024)
I was the Meetup Organizer for the now defunct Ministry of Testing - Boston Meetup from late 2016 through 2024. Originally it was the Greater Boston QA and Testing Meetup, founded by Conrad Holloman. When he had the group move under the Ministry of Testing banner he passed the group to me. These posts cover the group’s founding, Lean Coffee sessions, and speaker events. I stepped down from Meetup Organizer in 2024. The Meetup group was disbanded by the Ministry of Testing UK group in March 2026 when they moved to their own platform.
- Hello, Ministry of Testing: Boston! Goodbye, Greater Boston QA and Testing Meetup (12/2016)
- The Ministry of Testing - Boston is Looking for a Permanent Home! (12/2016)
- Ever Run a Lean Coffee for Software Testing Meetups Before? Looking for Pointers! (1/2017)
- Greg Tutunjian, “Test Automation and Specification by Example” (1/2017)
- Feb 7, 2017: Software Testing Lean Coffee @ John Harvard’s in Harvard Square, Cambridge, MA (2/2017)
- New Ministry of Testing - Boston Event: 3/13/2017: Automated UI Testing using Apple’s XCTest/Swift @ Slalom Consulting (2/2017)
- New Meetup Event: Wed. March 29th, 2017: Come Share Your QA Knowledge with the “99 Second Testing Talks” @ iZotope, Cambridge, MA (2/2017)
- From Mel the Tester to Ministry of Testing - Boston Members: “Be a Bigger Part of the Testing Community” (2/2017)
- DevOps and Dynatrace: Notes from the March 7th Lean Coffee, Ministry of Testing - Boston (3/2017)
- How to Signal that the Build is Broken? Look for UFOs!: Notes from the March 7th Lean Coffee, Ministry of Testing - Boston (3/2017)
- Tips for Working With Recruiters: An Interview with Mitch Kurker, Modis IT - Boston (3/2017)
- New Ministry of Testing Meetup! Care to Workshop Ten Minute Lightning Talks? Let's Group Up! (3/2017)
- March 29, 2017: Talks on Performance… (title needs verification) (3/2017)
- Ministry of Testing - Atlanta and Llewellyn Falco Crash a MoT-Boston Lean Coffee! (4/2017)
- Brian Jordan, Automated Testing for the Non (and FUTURE!) Coder: Notes from His Talk with the Ministry of Testing - Boston (5/2017)
- Tues. May 23rd: Moshe Milman, COO of Applitools Will Be Giving a Talk to Ministry of Testing - Boston (5/2017)
- Tues, June 13th: Book Talk: Eran Kinsbruner, The Digital Quality Handbook, in Cambridge, MA (5/2017)
- Eran Kinsbruner, “The Digital Quality Handbook” Talk Notes (6/2017)
- Q & A with Angie Jones @ MoT-Boston, “The Build that Cried Broken” (7/2017)
- See You in Two Weeks at TestBash Philly 2017! (10/2017)
- Fifty Attendees to Meet a Spotify Quality Coach, a Ministry of Testing - Boston Event (11/2017)
- Videos from TestBash Philly 2017 Are Now Online! (12/2017)
- Ministry of Testing - Boston 2017 Wrap Up — Video Blog! (1/2018)
- Lisa Crispin Hosts “Ask Us Anything: Testing in DevOps” Zoom Webinar (10/2018)
- MOT Boston: Matt Wynne Talks About How to Fail at BDD (11/2018)
- Check Out What the Ministry of Testing, Applitools + Test Automation University, and Mabl + Lisa Crispin Have Brewing! (2/2019)
- Come See Angie Jones, Fresh from Her World Tour, at the Ministry of Testing - Boston Meetup on September 23, 2019 (8/2019)
- Stepping Down from Being a Meetup Organizer of Ministry of Testing - Boston (3/2024)