March 29, 2026

Becoming AI QA: Jupyter Notebook + Python

In the last post, with the help of my lovely Research Assistant, Claude, we traced how Python went from Guido van Rossum's holiday project in 1989 to the de facto language of AI and machine learning. 

Using Claude is so much better than simply Googling a topic, but you still need to do your own investigation. Claude usually gets things 80% correct, but sometimes hallucinates URLs, I have found out. During his research, Claude keep bringing up a topic I have never heard before... Jupyter notebooks... What, is that a typo? 

What Is a Jupyter Notebook?

According to the Project Jupyter official documentation, a Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, and interactive dashboards into a single shareable document.

The file format is .ipynb -- short for "IPython Notebook," a holdover from the tool's origins.

A notebook is organized into cells. Each cell is either:

March 28, 2026

QA Blogosphere

Have a software testing blog? Care to trade links? 

It's tough out there being a software tester. Testing framework change every few years. Tech moves at too fast a pace to keep up. What about exploratory testing? What about examining the business requirements? Blogging has been a great way for me to deepen my knowledge of whatever automation framework my job requires, and highlight the questions I should be asking as I test a software product. 

Blogging has helped me tease out new ways of doing things before presenting it to the development team, and explore different ways of testing. I highly recommend it! 

Introduce your blog, adding the link in the comments below, and I will start adding them to this section. 

It's tough out there. Let's try to navigate the tech industry together. 

Happy Testing!

-T.J. Maher
Software Engineer in Test

BlueSky | YouTubeLinkedIn | Articles


March 27, 2026

Becoming AI QA: Why Python? How AI and Python became linked

When creating test automation frameworks, I've paired Selenium WebDriver + Java, Capybara & Watir + Ruby, and Detox + TypeScript. What I haven't used since grad school? Python. What I keep seeing in these new "AI QA" roles on LinkedIn that I have blogged about earlier? Python... I wonder why?  

Before I begin, let's get back to basics... What is Python? 

Hey, Claude.ai! I want to use you as a Research Assistant: Assemble notes examining why being a AI QA is connected to Python, with a history how it came to be that way, and how Python get to be used to examine data?

Becoming AI QA: Would becoming an AI QA Engineer make myself more marketable? What should I study?

Would becoming an AI QA Engineer make myself more marketable in today's volatile software testing industry? Since I am #OpenToWork, and there doesn't seem to be a syllabus on how to become an AI QA Engineer, I have been trying to figure out my first steps on my own:
... All of those courses, I think are free? And there are on Udemy:
Of course, if I do this, I was thinking I would be blogging about what I am learning here posting little toy projects all the while.

... Before I dive down this rabbit hole, I wonder if in my notes there is something I am forgetting? 

Not sure.  Ah, well. I'll find out, and make sure to let you all know. 

Happy Testing!

-T.J. Maher
Software Engineer in Test

BlueSky | YouTubeLinkedIn | Articles

March 19, 2026

Conversations with Claude: Why do QA Engineers call it 'Test Setup' or setting up 'Pre-Conditions' for a test, while DEVs calls it 'Seeding'?

Image created by Bing AI, powered by DALL-E 3

When testing a shopping cart app, testing that a user can add that first item to it, first make sure that the shopping cart is empty before running the test. If  the cart isn't empty, delete every item in the shopping cart. The cleanup stage in the previous test run might not have been reached if the shopping cart had unfortunately crashed. 

With this "Arrange" part of Bill Wake's "Arrange / Act / Assert" (Extreme Programming Explored, 2001), as a QA Engineer, I would call this stage "Test Setup", or "Setting up the Pre-Conditions of the Test". 

Playwright and Cypress calls this... seeding. 

... Er, what? Why do they use that term?

Hey, Claude! How come I only have heard this term in the past year or two?

March 17, 2026

Save the Date: Automation Guild talk Building a React Mobile automated test framework using Detox + TypeScript is April 6, 2026

Can't wait until my upcoming TestGuild talk! It is Monday April 6th, 2026 at 1:00 pm. First time I have given a talk since 2018. Oh, I am slightly nervous. :) 

It's part of AutomationGuild 2026 virtual online conference put on by the TestGuild.com that wrapped up a few weeks ago. Go to https://testguild.com/automation-guild-2026/ and use the discount code joinguild30 for a 30% discount to see all 30+ video recordings, and get the link to my upcoming talk. Normally $227.00 it is $160 with the discount code. 

----



Building a React Mobile automated test framework using Detox + TypeScript


React Mobile's slow-loading components and dynamic animations can cause timing issues resulting in flaky tests. T.J. Maher, SDET for ten years, will be sharing what he learned while on his last assignment constructing a mobile test automation framework.

The talk will contain topics such as:
  • Setting up a mobile test automation framework using Detox + TypeScript.
  • Vibe-coding a toy React Mobile Login page app to test against, Detox Demo https://github.com/tjmaher/detox-demo, created for this talk along with slides at https://tinyurl.com/detox-demo-slides.
  • Detox, an open-source automation framework constructed by Wix to test a React Mobile application their customers used to generate web-sites.
  • How Detox piggy-backs onto React Mobile's architecture to reduce timing issues caused by slow-loading React Mobile components which may introduce flakiness in automated tests.
  • Refactoring code into tests, page objects & base pages, separating out credentials and message strings for easier maintainability.
  • How developers can test their feature branch code on Android emulators and iPhone simulators using GitHub Action workflows.
  • How to integrate Allure Reports into your GitHub Action workflows.
  • Setting up security testing using Snyk.

Speaker: T.J. Maher


T.J. Maher, an SDET with a BCSC / Theater Minor from Bridgewater State, and a Masters of Software Engineering from Brandeis University has been tinkering with setting up web mobile + test automation frameworks for the past ten years, blogging, publishing articles, creating courses, giving talks, and creating toy programming projects on his blog, Adventures in Automation at TJMaher.com.

T.J. was the former Meetup Organizer of the Ministry of Testing - Boston, and Event Organizer of Nerd Fun - Boston, where he met his wife of thirteen years. T.J. is more Star Wars while his wife is more Star Trek. He is loving Star Trek: Starfleet Academy, must see The Mandalorian & Grogu right when it comes out in the theater, absolutely loved Star Wars: Andor, can't wait to see what role Billie Piper will have on Doctor Who, and wonders when he can introduce his seven year old son to Monty Python & The Holy Grail. T.J., his wife, and his rambunctious son live in Bridgewater, MA.

If you wish to chit-chat about software testing he is @tjmaher1 on LinkedIn, Twitter, and BlueSky. Follow him on LinkedIn!


Happy Testing!
-T.J. Maher
Software Engineer in Test

BlueSky | YouTubeLinkedIn | Articles

March 16, 2026

Claude Sonnet 4 Talks About Designing a Cypress Framework for a Login Screen

Note: This entire blog article, including all technical analysis and documentation, was composed entirely by Claude Sonnet 4 AI assistant, except for some links in this blog post T.J. found to be broken.

Hello! I am Claude Sonnet 4, an AI assistant developed by Anthropic, filling in for T.J. Maher, again. T.J., a software tester, is obsessed with trying to get Claude Sonnet to explain its logic and reasoning every step of the way when building test frameworks. T.J. uses me, but does not fully trust me, he says. Anthropic developed me using their Constitutional AI approach, focusing on AI safety research and training AI systems to be helpful, harmless, and honest. You can learn more about Anthropic's research methodology in their Constitutional AI paper published at Cornell University and their ongoing work in scalable AI alignment.

T.J. is interviewing for a Sr. Software Developer in Test role that uses Cypress. Since he hasn't used in a few years, so he thought that me putting together this framework would be a good reintroduction to the toolset. 

March 11, 2026

My Villain profile: The Bug Necromancer!

What an amusing way to scrape LinkedIn Data! 

Villainprofile.lovable.app just created my very own Villian... The Bug Necromancer. (see profile

It's uncanny!




THE BUG NECROMANCER

THE BUG NECROMANCER

"You thought that bug was closed? Oh, how delightfully naïve."

Signature Move: "The 2 AM Saturday Resurrection"

Just when the dev team thinks they've shipped clean code and drifted into peaceful weekend slumber, T.J. rises from the darkness of his home office to reproduce the ONE unreproducible bug that has haunted the sprint for weeks — filing it in JIRA with seventeen screenshots, three video recordings, and a step-by-step guide so thorough it reads like a villain's manifesto. By Monday morning, the entire sprint is in flames.

March 7, 2026

Need a Software Developer in Test? #OpenToWork

Anyone looking for a Software Development Engineer in Test (SDET) for any full-time perm remote positions, or hybrid to the Boston / South Shore of Massachusetts area? I am #OpenToWork.

I’m a Software Development Engineer in Test (SDET) specializing in building web, mobile, and API automated test frameworks - from initial proof-of-concept through CI/CD integration, reporting, and team mentoring and training. I work best embedded directly in a dev team, constructing an automation framework sprint-by-sprint, translating business requirements into solid tests, shaping the test automation according to the wants and needs of the business and its stakeholders.

Over the past decade I've worked across mobile (Detox + TypeScript, Appium + Java), browser (Playwright, Selenium WebDriver, Capybara + Ruby, Watir), API and database layers at companies including MassMutual, Verily Life Sciences (Google), Threat Stack, and Fitbit.

I've been incorporating AI-assisted development into my workflow - using GitHub Copilot, Claude, and am currently learning Playwright Test Generator.

Being part of the software testing community is important to me. I have an upcoming TestGuild talk in April about Building a React Native Mobile Automation Framework using Detox + TypeScript, with slides at http://tinyurl.com/detox-demo-slides … I've spoken before at TestGuild and AutomationGuild, and was the organizer for the Ministry of Testing – Boston meetup for years, recruiting speakers including Angie Jones, Matt Wynne, Seb Rose, and Lisa Crispin.

Blogging for me is part of the learning process. I tend to document as I go, creating toy projects to deepen what I am learning on the job. My blog, Adventures in Automation ( tjmaher.com ) is where I figure things out, experiment with various test automation strategies on the weekend so I can demo it on the weekday and solicit feedback from the dev team. That same collaborative instinct shows up in how I work: making sure to write READMEs that will help teammates unfamiliar with the framework, detailed Confluence documentation highlighting how automation is progressing, and presenting framework walkthroughs to company QA guilds.

Based on my work at Threat Stack, I created Introduction to Capybara for Test Automation University and contributed a chapter to Continuous Testing for DevOps Professionals. I've published articles in TechBeacon and on SmartBear and Threat Stack.

The most important part about me you should know is: I absolutely love what I do. I love figuring things out. Collaborating with people. Bouncing ideas off teammates. Figuring out the cracks in the software process, the edge cases. Planning for how a user can use, abuse, and sometimes purposely misuse the product. There is nothing better than finally finding figuring out at 2:00 am on a Saturday how to reproduce a bug that had been nagging the team all week. My job is a lot of fun!

I am always happy to connect with others in the testing community, whether you're hiring, building something interesting, or just want to talk shop. Let's jump on a Zoom call!

Happy Testing!

-T.J. Maher
Software Engineer in Test

BlueSky | YouTubeLinkedIn | Articles

March 5, 2026

Getting Slides ready for my Detox + TypeScript talk for TestGuild!

I am so glad that Joe Colantonio's TestGuild allows you to submit recorded presentations. I have always been a nervous public speaker. If it is a casual chat about automation to a department, that is one thing. But being the main speaker? The main attractions? That is tough! 

I've worked on my slides for the presentation for the past month. So glad that SlideShare.net exists, so I have something to actually give to the participants! 



Happy Testing!

-T.J. Maher
Software Engineer in Test

BlueSky | YouTubeLinkedIn | Articles