Table of Contents

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.

Security Testing

I spent time as a junior security tester early in my career and have found the field fascinating ever since.

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.

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).

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.

API Testing (2016 - 2017)

REST API testing using Postman, Newman, REST Assured, and Apache HTTP Components.

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.

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.

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.

AI-Assisted Test Development (2025 - 2026)

Head-to-head evaluations of GitHub Copilot, Cursor, and Claude as coding assistants for building test automation frameworks.

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 his AutomationGuild 2026 talk. All source code is at github.com/tjmaher/detox-demo.

1 comment:

ThoughtCoders – Best Software Testing Company ThoughtCoders is a leading Software Testing and Quality Assurance (QA) Automation company, specializing in manual and automation testing. With expertise said...

Python is a high-level, interpreted programming language known for its simplicity, readability, and versatility.

Key Features –

Easy to Learn & Use – Simple syntax similar to English.

Dynamically Typed – No need to declare variable types explicitly.

Interpreted Language – Runs code line by line.

Multi-Paradigm – Supports object-oriented, procedural, and functional programming.

Cross-Platform – Runs on Windows, macOS, Linux, etc.

Core Concepts –

Variables & Data Types – int, float, str, list, dict, etc.

Functions & Modules – def keyword for functions, import for modules.

Object-Oriented Programming (OOP) – Classes, objects, inheritance, and polymorphism.

Exception Handling – try-except blocks for error handling.

File Handling – Read and write files using open().

Python Libraries & Frameworks –

Web Development – Django, Flask, FastAPI

Data Science & Machine Learning – NumPy, Pandas, TensorFlow, Scikit-learn

Automation & Scripting – Selenium, BeautifulSoup, PyAutoGUI

Game Development – Pygame

Cybersecurity – Scapy, PyCryptodome

Python Versions –

Python 2 (deprecated)

Python 3 (actively developed and recommended)

Advantages –

Readable & Beginner-Friendly – Great for new programmers.

Extensive Libraries – Reduces development time.

Large Community Support – Many resources and tutorials available.

Scalability – Used in small scripts to large applications.

Challenges –

Slower Execution – Due to being an interpreted language.

High Memory Usage – Not ideal for memory-intensive applications.

Not Ideal for Mobile Apps – Limited mobile development support.

Applications of Python –

Web development

Data analysis and machine learning

Automation and scripting

Game development

Cybersecurity and ethical hacking