March 17, 2018

Getting to Know GitLab and How They Test the UI

The past three years as an automation developer, I have worked with many different continuous integration platforms such as Jenkins, TeamCity, and CircleCI, hooking up my automation to it so the tests can be run once an hour, nightly, or every single time is checked in.

Threat Stack uses GitLab for its Continuous Integration / Continuous Deployment (CI / CD) pipeline. Why? You should ask Pete Cheslock, head of DevOps. He is currently writing about his experience in our company blog:
With GitLab, I am more concerned with finding out what it does in general. Lucky for me, they give YouTube tours such as this one shot back in November 2017, Idea to Production with GitLabs.

This video gives you a good idea of using GitLab to do issue tracking, planning, committing to the repo, testing with CI, debugging in the terminal, deploying to production, scaling an application and application performance monitoring.

The History of GitLab

According to

"2011: Our CTO Dmitriy needed an great tool to collaborate with his team. He wanted something efficient and enjoyable so he could focus on his work, not the tools. He created GitLab from his house in Ukraine. It was a house without running water but Dmitriy perceived not having a great collaboration tool as a bigger problem than his daily trip to the communal well. [...] So together with Valery, he started to build GitLab as a solution for this. This commit was the very start of GitLab.
"2012: Sid saw GitLab for the first time and thought it was natural that a collaboration tool for programmers was an open source so you could contribute to it. Being a Ruby programmer he checked out the source code and was impressed with the code quality of GitLab after more than 300 contributions in the first year. He asked Hacker News if they were interested in using and hundreds of people signed up for the beta. In November 2012, Dmitriy made the first version of GitLab CI".

Wait a Second... GitLab Uses Ruby?

Oh, that is interesting! GitLab is coded using Ruby! The Test Engineering  team picked the Ruby language for its automation framework because Chef and Test Kitchen use Ruby. As a Ruby Newbie, I have been finding it helpful to review the great work the people have done creating examples using their BDD framework with Capybara.

What I find more fortunate is that it appears that GitLab uses for its UI tests what I am attempting to use: Capybara + Ruby + Headless Chrome.

I need to check out Mike Greiling's article, "How GitLab switched to Headless Chrome for testing: A detailed explanation with examples of how GitLab made the switch to headless Chrome".

As Mike put it, last year, "news spread that Chrome 59 would support a native, cross-platform headless mode. It was previously possible to simulate a headless Chrome browser in CI/CD using virtual frame buffer, but this required a lot of memory and extra complexities. A native headless mode is a game changer. It is now possible to run integration tests in a headless environment on a real, modern web browser that our users actually use!

"Soon after this was revealed, Vitaly Slobodin, PhantomJS's chief developer, announced that the project would no longer be maintained".

And all of the source code for GitLab's Community Edition is stored on GitLab. Awesome!

At my job there are so many things that are new to me:

  • I am new to
  • I am new to Ruby
  • I am new to Capybara
  • I am new to GitLab
  • I am new to Headless Chrome. 
... For the last week, since I was placed on Threat Stack's UI team, I've written a few UI tests, but they all run locally, on my own computer, but I was stumped when it came to using CI with GitLab. I've been searching for a model to base my new framework on.

Looks like I found one. This should be fun! 

Happy Testing!

-T.J. Maher
Sr. QA Engineer, Software Engineer in Test
Meetup Organizer, Ministry of Testing - Boston

Twitter | YouTubeLinkedIn | Articles

March 16, 2018

Use 20% Discount Code ATDTJ for Agile Testing Days in Boston, Coming Late June!

Did you know? The Ministry of Testing - Boston has a group discount code for Agile Testing Days! Want to borrow it? I checked with Techwell, and they said it was okay to share! Use the discount code ATDTJ to get 20% off the already discounted "super early lobster" pricing which is running until April 27th, 2018. 

The conference is running June 25 - 29th, 2018 and will be held in the DoubleTree Hilton up in Danvers, MA.

Prices before the 20% discount:
There also will be a class "Python for Testers" run by Kristoffer Nordstrom.

Wow. It's like my Twitter feed come to life!

... I wonder how many people I can get recruit to come to a Ministry of Testing - Boston? So far, we already have had:
  • Angie Jones speak to our group in a Google Hangout last Spring.
  • Claire Moss, organizer of the Ministry of Testing - Atlanta brought Llewllyn Falco, to run a Lean Coffee last year.
  • When MoT-Boston invaded last year's TestBash Philly, we heard Ash Coleman, and Paul Holland speak.
  • Andreas Grabner will be speaking to us in April.
  • I've been trying to recruit Lisa Crispin since last summer to give a quick Q & A in a webinar to us, but we've haven't been able to do it yet.

This should be fun! If the baby doesn't come early, I think I should be there!

Happy Testing!

-T.J. Maher
Sr. QA Engineer, Software Engineer in Test
Meetup Organizer, Ministry of Testing - Boston

Twitter | YouTubeLinkedIn | Articles

March 8, 2018

Ministry of Testing - Boston: An Origin Story

For most of my twenty year career, I have been searching to become a part of a software testing community. To find myself running one after so long of a search absolutely astounds me. 

Ever since I became the Meetup Organizer of the Ministry of Testing - Boston I have been having the time of my life! I really have given my all to the group, having a heck of a lot of fun planning events, meeting people, and trying to build a community of software testers here in Boston. I love the challenges of growing the membership, running fun social media campaigns, finding interesting speakers, and making connections here in Boston. And all of this has been in the past year! 

So much has happened since we moved from being the Greater Boston QA and Testing Group to under the umbrella of Rosie Sherry and Richard Bradshaw's Ministry of Testing:

February 12, 2018

Are You a Gauge Expert? How Do You Graft On a Fluent Selenium-Ruby Framework?

Are you an expert in Gauge, the BDD framework? ( See a Brief Overview of Gauge ).

I have a question: How do you work with selenium-ruby?

I was planning on working towards what Dave Haeffner has in creating a library of:
I am brand-new to Gauge and using Selenium-Ruby. So far I only have used Selenium-Java.

It looks like Gauge strongly advocates against page objects calling them an Anti-Pattern. Er... Um... burying a page's locators in code, as they do in the blog makes me worried. I am looking for other solutions.

February 10, 2018

"How Machine Learning Helps Test Software" - Ministry of Testing - Boston - Feb. 6, 2018

On Tuesday, February 6th, 2018, the Ministry of Testing - Boston was invited by Mabl to hear John Kinnebrew and Sergei Makar-Limanov describe how mabl "uses machine intelligence to automate visual insights and make tests more adaptive".

With their AI, you can train mabl to go on a "user's journey". Much like Selenium IDE, the record-and-playback device, you walk the agent on what you as a tester would like it to focus on. What you want it to know. What you want it to ignore. It then learns and adapts, learning how you like to test.

Their product should be launching a free public beta in a few weeks. I can't wait to try it out!

Thank you so much, mabl for having us!

Intelligent Testing with mabl: Adaptive tests and automated visual insights
John Kinnebrew and Sergei Makar-Limanov
February 6th, 2018

About John Kinnebrew:

"John is building intelligent tools that enable developers to create better software at mabl. He received his B.A. in Computer Science from Harvard University and his Ph.D. in Computer Science from Vanderbilt University. His research interests include machine learning, combinatorial optimization, intelligent agents, and coordination in multi-agent systems.

"At Bridj, he led the research and data science group with a focus on machine learning and AI optimization techniques applied to transportation modeling, prediction, and optimization for improving mass transit. His research at Vanderbilt focused on the design of intelligent pedagogical agents and machine learning techniques to model important learning behaviors, including metacognition and self-regulated learning strategies, from activity traces of student interaction in educational systems".

Happy Testing!

-T.J. Maher
Sr. QA Engineer, Software Engineer in Test
Meetup Organizer, Ministry of Testing - Boston

Twitter | YouTubeLinkedIn | Articles

February 5, 2018

Introduction to Vulns, Common Vulnerabilities and Exposures, the CVE List, and the National Vulnerability Database

Whenever I find a software testing position in a field in which I am unfamiliar, I try rounding up all resources I can. In my security testing research, I found a syllabus for Tufts University's COMP 116: Introduction to Computer Security course offered Spring of 2018. Just my luck! The instructor for the course posted the entire syllabus and required reading material online, including a copy of a wonderful slide deck for a presentation on an Introduction to CVE, CWE, and the Top 25 given by Steve Christey Coley, creator of the term, CVE -- Common Vulnerabilities and Exposures.

What is a Vulnerability?

According to, in their terminology section, "a vulnerability is a weakness in the computational logic (e.g., code) found in software and some hardware components (e.g., firmware) that, when exploited, results in a negative impact to confidentiality, integrity, OR availability. Mitigation of the vulnerabilities in this context typically involves coding changes, but could also include specification changes or even specification deprecations (e.g., removal of affected protocols or functionality in their entirety).

"Examples of vulnerabilities include:
  • "phf (remote command execution as user "nobody")
  • "rpc.ttdbserverd (remote command execution as root)
  • "world-writeable password file (modification of system-critical data)
  • "default password (remote command execution or other access)
  • "denial of service problems that allow an attacker to cause a Blue Screen of Death
  • "smurf (denial of service by flooding a network)"
MITRE, a not-for-profit in Bedford, MA, maintains the Common Vulnerabilities and Exposures (CVE)® List.

January 31, 2018

Introduction to the Learn Chef Rally!

Need to automate configurations for Amazon Web Services? One way to do it is with

Chef does the "cooking" metaphor to the hilt! Configurations are "recipes", written in the Ruby programming language, which are stored in a "cookbook". We covered this in early January with The Ruby Behind Chef.

This metaphor continues: To automate all of this, you use the product "Test Kitchen".

Seems complicated? To help you out, Chef create the most amazing set of documentation I have ever seen: The Learn Chef Rally.

From Getting Started With Chef in

"If you're new to Chef, just know that Chef lets you automate all the things—infrastructure, applications, compliance and more. Learn Chef Rally will teach you how. It's the hub for Chef and DevOps related resources that will build your skills.

"The Learn Chef Rally curriculum is organized by tracks. A track groups related learning activities.

"We call each learning activity a module. Modules include a mix of hands-on labs, articles, and videos. Our hands-on labs help you get started quickly on the platform that you care about most.

"When you finish a module, you'll see a few quiz questions at the end. Answering these questions correctly gives you credit for having completed the module. You can track your progress on the home page".

Since my job will be automating Amazon Web Service tests, spinning up and tearing down environments, I'm starting the module on Test Kitchen: "Infrastructure Code Deserves Tests Too".

January 30, 2018

A Brief Overview of Gauge, a BDD Automation Framework, brought to you by Thoughtworks!

When it comes to automation toolsets, I am up for learning anything! I'm always eager to adopt whatever toolset a company is already using. Right after my first automation gig, I would attempt to lobby the team to use what I knew already, not confident in my own ability to drill down into the details with a new tool. Now that I have had a few years of experience of learning toolsets on the job -- and with this blog -- I am more confident in my ability to do Just-In-Time Learning.

After a bit of quibbling -- we are doing BDD? Why not Cucumber? Why Ruby? -- I hunkered down and try to learn what they were already using at my new job: Gauge, a BDD automation framework brought to you by Thoughtworks - India.


January 29, 2018

What Is the DevOps toolset "Test Kitchen" and Where Did It Come Come from? Fletcher Nicol at ChefConf 2014

When learning and investigating a new open-source tool or technology, I find YouTube to be an amazing resource!

Beyond the many tutorials, presentations, and instructional videos, I try to see how the creators of the tool introduces and talks about it to the open-source community. What was the creator trying to achieve? What problem was to be solved? And, most importantly, how can I take the creator's message and transfer it to the work that I am doing?

Right now, I'm trying to get up to speed on Test >, the product we use at work, combined with, to automate spinning up and tearing down different Amazon Web Services environments.

With the "Learning Chef Rally", it is going to take me a few weeks to finally get to the part I need, learning exactly how the DevOps tool spins up environments, so I was also seeking alternate sources to tide me over.

Luckily, I found this, introduced at ChefConf 2104, a conference about Chef...

#ChefConf 2014: Fletcher Nichol, "Test Kitchen: One Year Later and the Future
Fletcher Nicol, 2014

January 28, 2018

Starting a Linux Machine with Amazon Web Services Free Tier

It's my first time working at a cloud-security company using Amazon Web Services (AWS)! How to get up to speed?

To get up to speed, first, I've attempted to decipher the AWS Alphabet Soup in an earlier blog post. Next, to get more exposure to AWS, I signed up for the AWS Free Tier. I was a bit leery, since I needed to punch in my credit card information when I signed up.
  • Some AWS services are free for 12 months, provided I do not go over 750 hrs per month of usage of EC2, and over 5 GB of Storage in Amazon EFS or 30 GB of Elastic Block Storage for long term. If I go over, or accidentally use a service that isn't on the free tier, I worry I am going to rack up a huge charge.
  • Some services seem to be always free. 
Luckily, I didn't have to look far in order to find help!

January 27, 2018

An introduction to good security practices, with Sam Bisbee, Chief Security Officer of Threat Stack

I was nervous starting my position at a cloud-based security firm. It 's been a while since I was a security tester testing against the OWASP Top Ten. How would I get trained in good security practices? Luckily, newbies like myself aren't just thrown into the deep end. They have Sam Bisbee (@sbisbee),  Chief Security Officer of Threat Stack to guide them.
"As the Chief Technology Officer at Threat Stack, Sam is responsible for leading the Company's strategic technology roadmap for its continuous security monitoring service, purpose-built for cloud environments. Sam brings highly-relevant experience in distributed systems in public, private, and hybrid cloud environments, as well as proven success scaling SaaS startups. Sam was most recently the CXO at Cloudant (acquired by IBM in Feb. 2014), a leader in the Database-as-a-Service space, where he played a senior technical and product role". - Threat Stack / Author: Sam Bisbee
What were the first introductory security sessions like? Take a look at talk that Sam Bisbee gave at AWS: re:Invent on November 2017:

"Stop Wasting Your Time: Focusing on Security Practices The Actually Matter".
Sam Bisbee, Nov 2017

January 24, 2018

The AWS Alphabet Soup

AWS. EC2. S3. S3 Buckets. SQS. SNS. ARN. IAM. Eb. AMI. Cloud Trail. Cloud Formation. Diving through our product documentation on my first day at Threat Stack, and I couldn't understand a word!

I am getting exposure to AWS -- that is, Amazon Web Services -- for the first time in my new Software Development Engineer in Test role. All the companies I have worked at in the past had their own physical servers hosting whatever SaaS -- Software as a Service -- web or mobile product I was testing.

With SaaS, like the Software as a Service name implies, it's like Microsoft Office: You can choose to rent the software per month or per year. Yes, you could purchase the student version, and apply any patches and bug fixes yourself, but when using SaaS, Microsoft handles everything.

Likewise, the same business model applies for infrastructure and platforms.

January 21, 2018

Interview Question: How To Test a Web Page - New Video Blog Entry

Taken from my first blog entry for Adventures in Automation, the January 24, 2015 blog post, "What is a QA Engineer?", it's a new video blog!

Interview Question: How to Test a Web Page:

Happy Testing!

Thank you for the "404: {Broken AF}" T-Shirt!

-T.J. Maher
Sr. QA Engineer, Software Engineer in Test
Meetup Organizer, Ministry of Testing - Boston

Twitter | YouTubeLinkedIn | Articles

January 20, 2018

Happy Birthday, Adventures in Automation: Three Years and Counting!

When I started this blog three years ago, I still wasn't sure how I ever was going to switch from manual testing to automation development. I kept trying to switch departments at my previous company for years, but never had much luck. Then the layoff happened, and I found myself job searching after five years, finding that much of the software testing job market in Boston had changed.

I talked over with my wife my idea of postponing job searching for two months, living off of my severance pay, while I re-learned how to code and studied automation development -- one last big push to try to cross over.

This time, I did things a bit differently:

Now, I was able to go on interviews and talk intelligently about how to put together a rudimentary automation framework, and point to code that I had written. After a tough three months, I landed my first automation development position.

Since then, it has been a fun-filled three years, learning about automation, capturing what I have been learning on this blog:

2015: I started this blog, and my first automation development position with Selenium WebDriver and Java testing the user interface of eCommerce software.

2016: The editor of, after discovering this blog, recruited me to write my first published article for his tech magazine. I started digging into REST API testing with Stripe. By the end of 2016 I am using Selenium with Node.JS with Nightwatch.js.

2017: I become the Meetup Organizer of the newly rebranded Ministry of Testing - Boston -- the first time I was the main person in charge of a Meetup group. Through social media campaigns I grow membership from 300 to 600 people in the first six months. I hosted 21 of the 30 Meetup events on our calendar. I also obtained a contract putting together a proof-of-concept of a mobile testing framework using Appium + Java.

2018: January 2018 I launched a YouTube channel based on this blog! Feel free to Subscribe! The Ministry of Testing - Boston hits 900 members. I also found a permanent job writing automation at the webservice and RESTful API layer, using service virtualization using Chef + Kitchen.

All these successes I have had are due to this blog.

A blog post on job interviews became an article, a talk I gave to a new Meetup, and was developed into an online conference talk a year later.

Thank you, dear reader, for all of your support.

And thank you, most of all, to my wonderful wife, Melissa. Thank you for spending the past seven years with me, and for marrying me five-and-a-half year ago. My life is what it is because of you.

Happy Testing!

-T.J. Maher
Sr. QA Engineer, Software Engineer in Test

Meetup Organizer, Ministry of Testing - Boston

Twitter | YouTubeLinkedIn | Articles

January 14, 2018

How Would You Test A Chair? A Warm Up Question To Give Candidate Software Testers

I've been on many a job interview as a software tester these past twenty years.

On a job interview, to see how well candidates think on their feet, and how dig they deep in their testing, the interviewer can talk about an ordinary item to the candidates that is unrelated to software testing, and ask the candidate how to test it.

The item could be a phone. A calculator. A pen. Or even a chair.

Interview Question: How Would You Test A Chair?

January 9, 2018

Ministry of Testing - Boston 2017 Wrap Up - Video Blog!

The Ministry of Testing - Boston Meetup's first year is now behind us.

Here's a wrap up of all we accomplished in 2017!

Subscribe to the YouTube channel at!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

January 8, 2018

The Secret to My Success as a Software Tester? Dungeons and Dragons!: New Video Blog Entry

Another new entry to Adventures in Automation, the video blog! Subscribe to it now, so you don't miss a thing!

The Secret to My Success as a Software Tester? Dungeons and Dragons

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

January 7, 2018

Practicing Ruby Through Exercism!

I think I have covered Ruby fundamentals enough this past week! I covered:

Now, to put all that knowledge that I think I have to the test! I could start with CodeWars or HackerRank...

Instead, I wanted to check out the site Franklin Webber mentioned in his webinar,, an open-source practice area written by a former volunteer. 

January 6, 2018

Learning Ruby

When it comes to programming languages, I am pretty language agnostic. With only three years of work experience developing automation, I am still learning, adopting whatever toolsets and technologies my employer already is using.

Sure, I still prefer Java, but only because it was my primary language back in grad school. Although I only consider myself a junior Java developer, I still think of it as my mother tongue.
  • 2014: As the manual tester supervising an offshore automation team, I tested out and tinkered with the Calabash / Ruby code they were using to automate mobile apps.
  • 2015: Selenium WebDriver/ Java was used to write the automation framework in my first job as an automation developer.
  • 2016: Pairing with the Node.js product, I adopted Nightwatch.js to write tests for a Vue.js JavaScript-based front end.
  • 2017: Appium / Java was selected in a mobile testing proof-of-concept I was creating.
  • 2018: My new upcoming SDET job uses Chef. Chef uses Ruby. Therefore I need to re-learn Ruby. 
But where to start re-learning Ruby?

January 4, 2018

Notes on Franklin Webber's webinar, The Ruby Behind Chef

For the past week, I've been trying to do a cram session on Ruby, one of the many programming languages I will be using in my next job as a Software Developer in Test.

Why Ruby? Chef, A DevOps tool, is written in Ruby... a language I don't even know.

The quickest way to learn how to swim? Row your boat into the deepest part of the lake and jump right in. Try not to drown too much.

Likewise, the quickest way I have found for me to learn? Dive right in. See how how long I can tread water before choking, sputtering, and coming up for air.

Care to go on a dive with me?

The Ruby Behind Chef (September 2016)
Franklin Webber, Training Lead at Chef

January 3, 2018

A New Year Brings New Changes To My Life

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

January 1, 2018

Welcome to Adventures in Automation on YouTube!

Adventures in Automation is now on YouTube!

New episodes released every Monday! Make sure to go to the YouTube channel and Subscribe!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 29, 2017

Top Adventures in Automation blog entries for 2017

With Adventures in Automation, How Was 2017?

So far, in 2017, this blog attracted the attention of 33,700 different users, according to Google Analytics.

Here are the top five blog posts for Adventures in Automation for 2017:

#5: What happens when you ask the Twitterverse: "How Can a Manual Tester Switch To Automation?"

#4: Build a Basic Appium Framework: Review How to Inspect Mobile Apps with Appium Desktop

#3: Learning Serenity BDD: An Automation Framework That Uses Specification by Example (SBE)

#2: New automation framework released to test APIs: Introducing Karate, by Intuit India's Peter Thomas 

#1: Learning Appium Desktop: What is Appium Server and How Do You Start It Through Appium Desktop?

Thank you, dear reader, for all your continued support.

Coming in 2018:

New Blog Entries! 

Mid-January 2018, I start a new job as a Software Development Engineer in Test: An SDET role at a security company, tackling brave new technologies -- some I've only tinkered with, some which are brand-new to me.

I have done API testing before, using Apache Http ComponentsRest Assured, and Twitter4J. Most of these have been in Java, though. Although I have tinkered with Docker and Vagrant, I have never used DevOps tools such as Chef or Kitchen. And I have never used Scala or Ruby, two of the primary coding languages they will be using.

... I made sure to tell my future employer all of this -- I am nothing if not brutally honest on job interviews. They hired me anyway, saying they would provide plenty of on-the-job training. Not wanting to embarrass myself, I've started to hit the books. There are plenty of resources on ScalaChef, and even the API of the product I will be testing.

Expect many more blog entries on these subjects in the coming months as I do some extra-curricular learnin'.

New Speaking Engagements! 

I am a speaker at Joe Colantonio's Automation Guild 2018, and will be giving a live Q & A session January 10th, 2018 at 11 AM.

A New YouTube Channel!

I will be starting a new weekly video blog, sharing my experience with software testing, starting Monday, January 1st, 2018. Subscribe now!

I hope you and yours have a happy and healthy 2018!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 22, 2017

Have a Merry Christmas and a Happy Holiday!

And the same to all you readers of the Adventures in Automation blog!

Without your constant support, I would not be where I am today.

Thank you!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 18, 2017

Hello, India! And Welcome!

Namaste! Hello, India! Welcome to this blog! I'd offer you tea or a mango lassi but you can't yet attach a beverage to a blog post.

I'd also translate this page to your native tongue but I don't know Assamese, Bengali, Bodo, Dogri, Gujarati, Hindi, Kannada, Kashmiri, Konkani, Maithili, Malayalam, Marathi, Meitei, Nepali, Odia, Punjabi, Sanskrit, Santali, Sindhi, Tamil, Telugu, or Urdu... so English will have to do.

I was checking Google Analytics and saw that I had over 800 unique visitors to this site from your country in November 2017 alone.

Although I started this blog almost three years ago as my own private online collection of research notes, I get next to no feedback.

... Actually, that's not true. The bot that advertises Testing Jobs in Chennai always leaves messages in the comments section. It thinks this site is very helpful.

How did you stumble on this blog? What do you like about it? I hope it is useful to you. Is there anything I can help you with? Do you have any doubts? Let me know in the Comments section below, or follow me on Twitter at @tjmaher1 and say hello!

Happy Testing! Go Team India! Go Men in Blue! Go Virat Kohli!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 17, 2017

Starting January 2018, Adventures in Automation will be on YouTube!

Starting January 2018, I will be trying my hand at starting a YouTube channel, Adventures in AutomationSubscribe now!

This blog will still be quite active. It's where I post all my research notes when I am researching a new automation tool or technology, after all, and I am a big fan of continuous learning.

In order to learn a new tool, I still will be posting sample code on my GitHub site, and posting walkthroughs of the code on the Programming Projects section of this blog.

I wanted to experiment with seeing if I could handle using a video blog as a storytelling medium.

Subscribe now! See you online! And Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 16, 2017

Follow T.J. Maher at @tjmaher1 on Twitter!

Are you on Twitter? 

No? Why not?

Although subscribing to and reading this blog is a perfectly acceptable way to find out what is happening in the software testing ecosystem, joining the Twitterverse is the very best way to keep up to date on new testing and automation toolsets, and articles that are being published.

Create your account, now! And while you are there, you can follow me on @tjmaher1!

A huge community of software testers hang out and chat virtually throughout the day on Twitter sharing what they are learning right now! Hear from the experts themselves about articles they are working on, and tips they are sharing.

You could wait until Lisa's calendar frees up next year and she is a guest speaker for the Ministry of Testing - Boston, or you could follow her, and her co-author Janet Gregory.

Want to know what Jason Huggins, creator of the first version of Selenium, former CTO and co-founder of Sauce Labs, founder of Tapster, and another guest speaker I have been trying to get for the Ministry of Testing Boston, is working on? Follow him on Twitter!

Looking for more people to follow? 

Oddly enough... I made the list! 

With this blog, Adventures in Automation, according to Google Analytics, for the month of November 2017 there were:
  • 3,244 users visiting this site
  • 4,436 unique sessions
  • 1,556 sessions from the United States
  • 831 sessions from India
  • 282 sessions from Germany
  • 162 sessions from Canada
  • 98 sessions from the Ukraine
  • 82 sessions from Poland
  • 75 sessions from Israel'
  • 65 sessions from Australia
  • 60 sessions from France 
... And I don't even know who you people are! Sign up to Twitter, Follow me on Twitter, on @tjmaher1, and say hello! 

Happy Testing!
-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

December 11, 2017

Notes: How to Become an Automation Engineer, by Angie Jones

"Are you interested in becoming a test automation engineer? Do you lead a team you'd like to see transition toward test automation by learning the skills needed to do this role?

"Join Angie Jones December 11, 2017 at 1PM EST for 'How to become an automation engineer'. Angie is a preeminent Test Automation Engineer working at Twitter. She has helped countless people make the jump to test automation engineer and will share her insights into this transition".

- Beaufort

The Speaker:

"Angie Jones is a Senior Software Engineer in Test at Twitter who has developed automation strategies and frameworks for countless software products. As a Master Inventor, she is known for her innovative and out-of-the-box thinking style which has resulted in more than 20 patented inventions in the US and China. Angie shares her wealth of knowledge by speaking and teaching at software conferences all over the world".
Speaker Contact Details:
Angie Jones – Senior Software Engineer in Test, Twitter

December 7, 2017

Videos from TestBash Philly 2017 are now online!

Couldn't make it to November's TestBash Philly? Videos taken from the conference are now online, posted on the central Ministry of Testing site at

Although some require a paid Pro subscription to the Testing Dojo, most are accessible with the free Ministry of Testing Dojo subscription.

From the Dojo:

"TestBash Philadelphia 2017 - our third TestBash in the USA was hosted at The Fringe Arts on 9-10th November 2017.

"All TestBash events aim to inspire and educate but in equal measure provide lots of opportunities for testers to meet, make friends and continue to build the amazing testing community we have. A big part of that at Philly this year was the first ever TestBash Circus, you can get low-down on this and all the resources to run the circus activities on The Dojo

December 5, 2017

"Why Mabl Chose Google Cloud Platform Over AWS" will be LiveStreamed.

Tonight's Ministry of Testing - Boston Meetup will be LiveStreamed! Go to to 12/5/2017 at 6:30 pm EST to watch!

"How do you compare and contrast technologies such as cloud service providers? What metrics do you use as a comparison? How do you decide to move from a technology you are familiar with to a new and different tool which may be better for your company?

"This evening James Baldassari, a Full Stack Developer from Raytheon, DataXu, and now mabl -- an early stage company that is developing a machine-learning driven automated testing service -- will walk members of the Ministry of Testing - Boston through:

• "What is a cloud service provider? Why use it?

• "What features do cloud services provide?

• "What were mabl's business needs?

The talk will be based on James' blog article, A Detailed Look at Why mabl Chose Google Cloud Platform (GCP) over AWS. From the introduction:

"As product development was beginning at mabl in early 2017, we had to decide which cloud provider to use. While we were most familiar with Amazon Web Services (AWS), we decided to invest some time exploring all of the options available to us. Based on an initial set of requirements, we were able to narrow the list of candidates to just AWS and Google Cloud Platform (GCP). We spent several weeks researching both and building prototypes to familiarize ourselves with features that we had not used before. After a thorough and objective evaluation of both providers we decided unanimously to build on GCP". -

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

November 28, 2017

Fifty showed to Meet a Spotify Quality Coach, a Ministry of Testing - Boston event

Well, it looks like the Ministry of Testing - Boston isn't a small little group anymore.

Yes, we have 800+ members, but those are just subscribers to our mailing list, not attendees. I would say we have 30 to 40 regular attendees, with me defining a "regular" as a person who attends one event every two months.

Tonight, though, was different.

Fifty of fifty-seven people who RSVPed "YES" actually attended Meet a Quality Coach @ Spotify. Which is odd. Like most Meetups, we have a 50% attendance rate. With free events held right after work, with no penalty for skipping out after you signed up, the percentage of no-shows are high. With Ministry of Testing - Boston being in the vein of a work-related networking group, we get people who may just not have the energy to talk about work after spending the day at work.

Today, the attendance rate was pretty close to 100%! It was quite unexpected.

Where the heck did they all come from?

After reviewing the logs, it looks like there was a huge spike in new membership a week before. Possibly they signed up just for the Spotify event?

After a bit of searching, I found that the event really hit home with a lot of Boston event calendars. My original Ministry of Testing - Boston Meetup event posting was mimicked and re-broadcasted by:

... Next time, we need to buy more pizza.

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

November 27, 2017

Teaser for "How to Pass a Coding Interview as an Automation Developer" @

Want a teaser of my upcoming talk?

I will be speaking about "How to Pass a Coding Interview as an Automation Developer", a more polished version of the October 2016 talk I gave to the Ministry of Testing - Boston, based on my TechBeacon article of the same name. I include:

  • "I'm an automation developer, not a coder! Why am I being interviewed?"
  • "What does the interviewer expect of me?"
  • "How can I prepare?"
  • I also walk through three different coding examples. 

Producing the pre-recorded video was stressful... but not as stressful as a coding interview!

I'll be giving a LIVE Q & A session to complement the talk on Tuesday, January 9th, 2018!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

November 24, 2017

"How To Pass a Coding Test" has been submitted to The Automation Guild!

It took more than a few sleepless nights, but my pre-recorded video, "How To Pass A Coding Interview As An Automation Developer", was finally worthy of being submitted to the!

Summer 2016 was tough for me. It was the first time I realized that Whiteboard Coding Tests -- getting up in front of a whiteboard and solving various coding problems as found on -- was the norm when going on automation developer interviews.

This may sound odd, but I couldn't understand, at first, why interviewers were asking me to code in real time in front of them. What did automation development have to do with software development? ... It took me a while to realize that automation development was software development.

Based on my experience, I wrote an article on TechBeacon back in September 2016 that I then turned into a presentation and gave to the Ministry of Testing - Boston Meetup a month later.

This year, I decided that, even though I was new at this and it scared the heck of me, I really wanted to try my hand at public speaking. I submitted proposals to and the Ministry of Testing without any luck. I was then contacted by Joe Colantonio from to see if I wanted submit a pre-recorded video to his online conference, the, and be a guest speaker.

It took me a few nights, but it is finally done!

As stressful as it was in the beginning... by the time it was done, I was having a lot of fun with it.

... I wonder if I could turn Adventures in Automation into a video blog?

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

November 23, 2017

Happy Thanksgiving!

Happy Thanksgiving, Dear Reader! 

  • May your Thanksgiving feast have included all of your requirements.
  • May your dinner have passed User Acceptance Testing.
  • After the day long Agile Sprint, may you and the people gathered 'round have a happy retrospective!

One of the things I am thankful for is the Ministry of Testing - Boston, the people I have met, and the great conversations I have had while running events! This may sound odd, but before I discovered this group Summer 2016 when it crashed Fitbit, I didn't know that such a thing as local networking group of software testers existed!

I'm thankful that I volunteered to help out this group last year.

I'm thankful that Conrad Holloman, the creator of the MoT Boston Meetup, trusted me to cover for him when he went on active duty.

I'm thankful that I have had the opportunity to lead this group when Conrad needed to devote more time to Operation Code.

Most of all, I am thankful for my wife, Melissa, for allowing me to excitedly bounce event ideas off her, working with me on logistics, all her help, and all of her love and support. The last Meetup I ran was Nerd Fun - Boston five years ago. How much I missed it!

Oh! And if you are a veteran and need help breaking into the software development field, you must sign up for Conrad Holloman's group, Operation Code at

From me and mine, to you and yours, I hope you have a Happy Thanksgiving!

Happy Testing!

-T.J. Maher
Twitter | LinkedIn | GitHub

// Sr. QA Engineer, Software Engineer in Test, Software Tester since 1996.
// Contributing Writer for TechBeacon.
// "Looking to move away from manual QA? Follow Adventures in Automation on Facebook!"

November 22, 2017

Webinar Notes: Justin Ison, "Automated Exploratory Testing": Crawlers and Data Gatherers

Imagine if you could write an app that would handle the monotony of gathering all the screenshots when performing user interface testing on web, mobile and desktop apps. It could randomly crawl though the app under test and collect screenshots that compared and contrasted differences between:

  • Browsers and platforms, such as IE9, IE10 & IE11 on the PC, Safari on the Mac, Chrome, Firefox, Safari on the iPhone, and Chrome on an Android device. 
  • Mobile devices such as a variety of Samsung Android devices, iPhones, and tablets.
  • Various screen resolutions and breakpoints for web & mobile apps that have a responsive web design. 
  • Various orientations, such as portrait and landscape. 
  • Localization Testing: How the site keeps (or doesn't keep) its layout when the text is changed to Spanish, German (with its much longer words), Russian (with its Cyrillic alphabet), Arabic, or Hindi. 
  • How mobile apps behave if you do taps, presses, long presses, or swipes. 
Justin Ison@isonic1 >, Senior Success Engineer at Applitools, did just that! 

If his name sounds familiar, it is because I wrote in Mid-November about attending an Applitools Eyes training session that he gave me.

November 15, 2017

Exploring Applitools, a visual testing tool for web, mobile and Mac / Windows desktop applications.

The life of a software tester can be difficult.

Performing browser testing, comparing and contrasting all screens you need to test on for just a single web page, the look-and-feel for all the different combinations and permutations of browsers and platforms can be even more difficult.

Performing regression testing on an entire web site, confirming that what once passed still passes, checking that each visual element, image, font size, font style, font color, copyright date in the footer, privacy policy link, and graphic, no matter how small, has the same look-and-feel across all browsers, is its own special type of hell... Especially if it the regression tests have to be rerun, say, every two weeks. This is why it is better to offload the repetitive tasks to a system which performs visual testing.

Why can regression testing the UI be difficult for a team of software testers?

November 10, 2017

TestBash Philly - Day 1!

Seven speakers. Ten types of games people can play that represent what testers face daily. Free breakfast, lunch, dinner, and an open bar. A full day of activities from 8:00 am, starting with a Lean Coffee, and ending at 11:00 pm, with attendees breaking out their board games.

Day 1 of TestBash Philly, here in the FringeArts Theater, at Penn's Landing in Philadelphia, PA was amazing! Paying all expenses out of pocket to get here was completely worth it. As the sole active organizer of the Ministry of Testing - Boston, it was nice to connect with other organizers!

... I wonder if we could bring a TestBash to Boston in 2019? ... I wonder if Microsoft's N.E.R.D (New England Research and Development) Center would be a good venue? It does allow people to book events, but it has been closed for a bit while they do some reconstruction. Hrm...

November 9, 2017

TestBash Philly 2017: The Pre-Test Bash Meetup

It took me seven hours, heading into Boston to catch the train to Philadelphia, then another train to get across the city to Penn's Landing to where TestBash Philly 2017 is being held, but I finally made it!

Today, I volunteered to help out the speakers putting on the two day software testing conference for the Ministry of Testing. Tonight I went to the Pre-TestBash Meetup. But before that, I was on a quest to find an authentic Philly Cheesesteak sandwich. Luckily for me, I found Campo's Deli right off the train station and devoured one whole.

Campo's Deli

November 4, 2017

Tinkering with Twitter: Post a Tweet Using Twitter4J to interact the Twitter REST API endpoint

This is Part Four of a multi-part blog series on putting together a basic API test framework for the Twitter Search API. Care to go back to the beginning

Now that we have been introduced to Twitter4J, a Java library built to interacts with Twitter's API, set up credentials that authorized Twitter4J to use our test Twitter account, and installed the Twitter4J library in a Java project, we can start writing code that can do three things:

  • Connects to the REST endpoint of the Twitter API.
  • Posts a Tweet to the Twitter account we set up. 
  • Examine how Twitter4J interacts with the Twitter API
To figure out how everything works, we can view: