June 26, 2017

Notes from Zero to Continuous Delivery with Jenkins Pipeline and Blue Ocean

On-Demand Webinar: Zero to Continuous Delivery with Jenkins Pipeline and Blue Ocean
Register to watch it online here! https://pages.cloudbees.com/0621-webinar-zero-to-cd-with-blue-ocean-registration

"Jenkins has long been the hub of continuous delivery. Jenkins Pipeline, however, now brings a whole new world of possibilities. This video shows get started with Jenkins Pipeline and implement a complete, practical continuous delivery process from start to finish.

"This webinar shows you how to:
  • "Create a Declarative Pipeline for a Java and Node.js Project with the Blue Ocean Editor
  • "Safely iterate on a Jenkins Pipeline to add Build, Test, Analyze, and Deploy stages
  • "Launch different Docker agents for each stage
  • "Run stages in Parallel to improve Pipeline throughput
  • "Manually control promotion using the "input" step

June 20, 2017

Are you a software tester? Take the State of Testing Survey 2017, by SmartBear!

Tonight was wonderful! The Ministry of Testing - Boston gathered together in Assembly Square, Somerville, MA at the headquarters of SmartBear, maker of automated testing toolsets such as  SoapUI, SwaggerHub, and TestComplete.

SmartBear walked us through their entire testing process... They gave us so much information, it was difficult to take notes!

You can watch the program yourself at https://www.facebook.com/smartbear/videos/1943658005659610/

In the meantime, drop what you are doing and fill out their survey at https://www.surveymonkey.com/r/smartbear-state-of-testing-survey-social



























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!"

June 18, 2017

My fifth article was published on TechBeacon! "How QA can build quality into your software pipeline"

I forgot to mention... Back on May 30th, my fifth article from TechBeacon was published: "How QA can build quality into the software pipeline"!

TechBeacon always finds the cutest opening graphics for my articles!








... I do prefer my original title, which referred to the changing definition of quality as you moved from being a manual tester to an automation developer.

I can't believe it was a year ago that Rob Mitchell, Managing Editor of TechBeacon gave me a call February of 2016 after I inquired about writing for HPE's online magazine... but I had never written professionally before. What the heck do I write about?

June 17, 2017

Notes from Eran Kinsbruner talk, The Digital Quality Handbook: Guidefor Achieving Continuous Quality in a DevOps Reality (June 13, 2017)

When the Ministry of Testing - Boston met up on Tuesday, June 13th, 2017, that evening's guest was Eran Kinsbruner, Mobile Technical Evangelist at Perfecto Mobile, talk about his book, The Digital Quality Handbook: Guide for Achieving Continuous Quality in a DevOps Reality, just released on April 28, 2017!

Perfecto sponsored the Ministry of Testing - Boston event. Thank you so much for setting up the event, along with the the refreshments, Lindsay!



About the The Digital Quality Handbook:


According to Amazon:
"As mobile and web technologies continue to expand and basically drives large organizational business in virtually every vertical or industry, it is critical to understand how to take existing release practices for mobile and web apps to the next level, including software development life cycle (SDLC), tools, quality, etc. Organizations which are already enjoying the power of digital are still struggling with various challenges that can be related to many factors, such as:

June 5, 2017

What happens behind the scenes as Appium installs and launches an Android app? Examining and footnoting a log file.

This is part seven of of a seven-part blog series. Care to go back to the beginning?

Have you ever wondered what is happening behind-the-scenes as Appium launches an app? Well, there is one way to find out...

Today, we will be taking a look at the log files captured in the Appium console, generated after I launch the APIDemos-debug.apk Android app, with the help of Appium, onto an Android emulator.

... Actually, this blog article wasn't written in a day. It took more than a few weekends to thoroughly research everything... and I do mean everything!

There are possible errors or questions on the inner workings on Appium, with insightful statements such as ... "Huh? What's this?" ... They are highlighted in red.

Is there anything I am wrong about? Please let me know! I am a complete novice when it comes to Appium (although, I have been hideously busy).  I only started learning it in March of 2017. The reason I am blogging about this is because I actually want you to comment if I am completely off-base, or if I am error about the inner workings of Appium or the world of Android development.

June 4, 2017

Notes: Automation, Selenium WebDriver, and PageObjects with AndrewBoyer (5/31/2017)

Have you ever wanted to learn about Automated Testing but wasn't sure where to start?

Members of the Ministry of Testing - Boston met last week to listen and bring questions to Andrew Boyer, a Software Developer in Test who has worked at both Google and Amazon. Andrew talked with us Wednesday, May 31st, 2017 about Functional Web Automation using Selenium WebDriver. 

Andrew Boyer, SDET

About the Speaker:

Andrew Boyer has worked in the software industry for more than twenty years, for companies as small as ten people, and as large as Google and Amazon. Working at times as a developer, tester, or even a sales engineer, he focuses now on process improvements and creating automation frameworks. He believes good automation is accessible to all job roles, and improves not just the quality of the shipping product, but also the velocity of the engineering organization.

LinkedIn: https://www.linkedin.com/in/andrew-boyer-4a00685/

June 1, 2017

Moshe Milman, COO of Applitools, speaks to the Ministry of Testing - Boston (5/23/2017)

We had a special guest on Tuesday, May 23rd, 2017 coming to speak to the Ministry of Testing - Boston!

Moshe Milman, COO and co-creator of Applitools gave a talk to the Ministry of Testing - Boston called "Advanced Test Automation Techniques For Responsive Apps And Sites". The event was sponsored by Cengage Learning, a twelve minute walk from South Station in Boston, MA, at 20 Channel Center Street, Boston, MA.

May 31, 2017

Build a Basic Appium Framework: Download the tests and run them on your own MacBook!

This is part five of of a seven-part blog series. Care to go back to the beginning?

Now that we have set up a rudimentary framework, now it's time for you to download the framework we have created onto your own local machine. We will be using IntelliJ's built in feature... But you could easily use GitHub Desktop or could even use Git.

... Do you have a GitHub account? Get one! Then go through the tutorials they show you. They can teach you more than this blog ever could.

May 30, 2017

Build a Basic Appium Framework: Set up the Page Objects, Page Factories and Tests

This is part four of of a seven-part blog series. Care to go back to the beginning?

Now, let's wrap things up by setting up a few Page Objects, add the Page Factory pattern to these building blocks we are creating, and then compose the test we designed all the way in Part Two.

BeforeSuite and AfterSuite Annotations


First things first... Remember how we made in the last chapter installing and launching the app itself the test?

Let's change that, placing it in a @BeforeSuite annotation from TestNG.

May 20, 2017

Build a Basic Appium Framework: Install and Launch an App Using Desired Capabilities

This is part three of of a seven-part blog series. Care to go back to the beginning?

INTERLUDE: Overheard at my workplace... 

"Now, type on the next line, Capital-D, DesiredCapabilities, one word! Then space, the word 'caps', space, equals sign, the word 'new', Capital-D DesiredCapabilities, one word! Open-parentheses, then close-parentheses, semi-colon.

"... On the right side of the equation, we just declared a new instance of the class DesiredCapabilities, part of the Selenium WebDriver library. To the left of the equation, we are placing that value in a variable we are calling "caps", and declaring that also to be of type DesiredCapabilities...

"... Why is the word DesiredCapabilities underlined in red in our editor? We haven't imported the library into our 'Smoketest.java' class. On the MacBook, it is CTRL+Enter to import. Press those keys at the same time right after you see the DesiredCapability IntelliJ tooltip. That is IntelliJ IDEA's 'Intellisense' feature..."

So far, I have spent two half-hour pair-programming sessions attempting to train a manual tester on my team how to do automation development. It's not exactly the blind-leading-the-blind, but it is pretty darned close.

I've only been doing automation development for the past two years, hopping around from Selenium WebDriver + Java at Fitbit, Nightwatch Js + JavaScript + NodeJs for a few months at Good Start Genetics. And I only have been teaching myself Appium since March since I signed up for this six month contract at Stop & Shop's parent company, where we are designing the next generation of mobile apps for Stop & Shop, Giant Food, and Martin's.

I have been working really hard to prove my worth over the past three months as a contractor:
  • Checking to see if we can used a favored automation tool used at this company, SerenityBDD, for mobile apps. (Answer? There really isn't that much documentation or support on it). 
  • Exploring Appium Desktop, using that as a teaching tool to explain setting up an Appium environment
  • Putting together the basic Appium framework 

My latest pet project is seeing if through one-on-one training I can get a manual testers to be able to design their first automated test, then add it to my basic test framework in a pull request... all in just ten half-hour sessions.

One roadblock, besides the fact I only started teaching myself Appium + Java in March when I was hired for this contract position? I can't shake this cold I caught two weeks ago, and I keep on losing my voice. My voice is a bullfrog croak and end up shouting in my trainee's ear too loudly as I try to excitedly improvise a lesson for my first test subject, a former SysAdmin who now is a manual tester on our project. He has some tinkering in Java, but not much.

"Okay -- brace yourself! This next code block will contain a lot of typing..."

Rule Number One: Trainees have to type everything out. Every semi-colon. Every statement. Every code block.

Rule Number Two: No wizards except the first one to set up the initial project. I walked him through creating a new Gradle + Java project with IntelliJ IDEA with the New Project Wizard. How to create a new directory off of the root directory called "src". How to create a sub-directory called "test". And another one called "java".

Rule Number Three: Trainees have to do their own searching. Do we need to import a new Java library into our project? I tell the trainee to Google the word "Maven Repository". I describe to him how to go to and search the Mvnrepository.com site for a third party dependency for Appium's Java-Client library. I tell him to copy-and-paste the code from the "Gradle" tab and back into our build.gradle file, in the 'Dependencies' code block.

Rule Number Four: I saw on Twitter recently this question by a beginning programmer:

  • Is it okay to copy-and-paste code? 
  • To copy? Yes. To paste? No.
... I am trying to have the trainee follow this dictum.

... Okay, enough about work. Let's get back to learning about DesiredCapabilities, where we match the Appium Server that is running with the Android emulator that is running. Three questions though...