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

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 Learn.Chef.io:

"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 Kitchenkitchen.ci@kitchenci >, the product we use at work, combined with Chef.io, 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 Mabl.com 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 TeachBeacon.com, 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 http://bit.ly/tj_youtube!

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, Exercism.io, an open-source practice area written by a former JavaRanch.com 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!"