From: Mel The Tester
To: Ministry of Testing - Boston members:
Subject: Be a bigger part of the testing community
Date: February 28, 2017
- - - - -
"Hello Ministry of Testing - Boston!
"You all are well on your way to being a part of the large Ministry of Testing community. One of the ways you can do that is to contribute to the community at-large.
"There are opportunities to contribute by creating content for the Ministry of Testing organization and The Dojo.
"Writing articles for Ministry of Testing is one of the ways to get your thoughts and ideas out into the community, teach others new techniques or offer tricks and point out traps for old ones. The testing community needs a big voice, a big presence to help define the future of testing. You can be part of it.
"Contact Melissa Eaden for your opportunity to contribute.
"Slack: @melthetester
"Twitter: @m_eaden
"PS - if you would like to create tutorials via video contact Richard Bradshaw via Whiteboard Testing or contact him on twitter @FriendlyTester
"Thank you!"
- - - -
Mel the Tester's Blog is http://testingandmoviesandstuff.blogspot.com/
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!"
Stories for Software QA Engineers shifting from manual to automated testing.
February 28, 2017
February 27, 2017
Boston area recruiters: What is your day-to-day life like? How do you see the Boston area software testing industry?
Hello, Boston area recruiters!
I'm going to be writing a series of article about the day-to-day life of a recruiter. I was wondering if I could get your input?
The other focus will be how Boston area recruiters see the Boston area software testing industry. I was thinking of gathering information and sharing it with the new Ministry of Testing - Boston meetup with a series of blogs, articles, and presentations.
Would you mind taking a quick survey? https://goo.gl/forms/MSMe4Q7aU9CTyRNC3
Please like and share this with your co-workers! Thank you very much!
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!"
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!"
February 25, 2017
New Ministry of Testing - Boston Event: 3/13/2017: Automated UI Testing using Apple’s XCTest/Swift @ Slalom Consulting
From the Ministry of Testing - Boston website:
"Apple’s XCTest provides a robust UI testing framework that allows a QA professional to automate most actions a user would perform on a mobile device. With convenient features such as UI recording and the option to write tests in the feature-rich Swift programming language, this framework is a popular and solid choice. Using the case example of an ongoing iPad app build, we will explore how QA professionals can use this framework to build a comprehensive testing suite and touch upon some of the plumbing/DevOps associated with getting up and running and automating aspects of the Software Development Life Cycle (SDLC)".
Sign up here!
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!"
Sign up here!
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!"
February 24, 2017
New Meetup Event: Wed. March 29th, 2017: Come share your QA Knowledge with the "99 Second Testing Talks" with the Ministry of Testing - Boston @ iZotope, Cambridge, MA!
Is your manager at work forcing you to step up and lead technical discussions about testing, QA, or automation? Are you scared of public speaking? Need the practice? Come and volunteer to give a “99 Second Software Testing Talk”!
Never gave a talk before? This will be a wonderful way for you to learn by doing!
The event will be held at iZotope’s office https://www.izotope.com , in their spacious lunch room. It is an eleven minute walk from the Kendall / MBTA Red Line stop. For Directions, see https://goo.gl/maps/Dx28yK8zLmB2 … signs inside will direct you from the front door to the lunch room.
T.J. Maher is 5 foot 7 with short brown hair, blue eyes, a “Hello My Name is T.J.” nametag and a red MEETUP sign attached to his black messenger bag.
Never gave a talk before? This will be a wonderful way for you to learn by doing!
- Jot down a topic you want to share in the comments section of the event page on the Meetup site.
- Rehearse your talk a few times between now and the time of the talk.
- Feel free to show up with 3 x 5 cue cards if needed! The purpose of this event for members who may be uneasy speaking in public to get practice.
Sounds Great! Where do I sign up?
New Group: Ministry of Testing - Boston |
Where to Meet:
The event will be held at iZotope’s office https://www.izotope.com , in their spacious lunch room. It is an eleven minute walk from the Kendall / MBTA Red Line stop. For Directions, see https://goo.gl/maps/Dx28yK8zLmB2 … signs inside will direct you from the front door to the lunch room.T.J. Maher is 5 foot 7 with short brown hair, blue eyes, a “Hello My Name is T.J.” nametag and a red MEETUP sign attached to his black messenger bag.
Agenda:
6:00 pm to 6:30 pm: Meet and Greet:- iZotope can provide the location but unfortunately not the catering.
- Feel free to grab something beforehand at The Friendly Toast, Mamelah’s Deli, Bon Me, The Smoke Shoppe, or any of the many places at One Kendall Square and bring it along. iZotope’s public area has many tables where we can gather.
- Directions for local takeout places are listed on the event.
6:30 pm onward: The 99 Second Testing Talks Begin!
“A running joke in the world of presentations is: how short can they be? They used to be an hour. Then TED went to 20 minutes, Pecha Kucha to 6, and Ignite to 5. The trend of short presentations has been on the rise for years and one wonders where it will stop.
"But then consider TV advertisements: they’re 30 seconds long. The good ones communicate many ideas well in a very short amount of time.
“Years ago I ran an event at Microsoft called Design Day. Each year we’d experiment with different formats and one year we tried 99 second presentations. It went well and we did it the next year too. Unlike most speaking events it gives the audience a real chance to participate.
“ [...] It’s a small commitment to get someone to speak for less than 2 minutes. They can practice their material 10 times in half an hour. The surprise of short format speaking is it forces speakers to get to the good stuff”.
- The first five people giving a talk can line up at the front of the room.
- T.J. Maher will have a clipboard, where he can collect the name of speakers, the name of the talk, and any information participants want to exchange with the group (their website, Twitter handle, LinkedIn profile name, etc).
- One by one, going through the first set of speakers, after being introduced, let’s cheer the them on as they launch into their talk.
- When the stopwatch app on my iPhone reaches 80 seconds, I’ll signal the speaker that time is almost up.
- After 99 seconds, the person’s talk ends. We applaud wildly!
- We go to the next person in line, and that person gets introduced.
- Has everyone spoken? The next five speakers who want to can come up, and the process continues.
- Anyone else want to give another 99 second talk? Come on up!
- Inspired by another talk you hear? Improvise a talk on the spot!
Need examples of 99 Second Talks?
- Take a look at the video of the 99 Second Talks that occurred at the end of last year’s Test Bash Philadelphia 2016 on November 16, 2016: https://dojo.ministryoftesting.com/lessons/99-second-talks-testbash-philadelphia-2016
- Check out videos of TestBash 3’s 99 Second Talks back held in the UK on March 2014, https://vimeo.com/92922482 … more details about the events that went on back then for TestBash 3 is at https://www.ministryoftesting.com/training-events/testbash-3/
Origin of 99 Second Talks:
From Scott Berkin’s Blog post, “99 Second Presentations”, Nov 18, 2012:“A running joke in the world of presentations is: how short can they be? They used to be an hour. Then TED went to 20 minutes, Pecha Kucha to 6, and Ignite to 5. The trend of short presentations has been on the rise for years and one wonders where it will stop.
"But then consider TV advertisements: they’re 30 seconds long. The good ones communicate many ideas well in a very short amount of time.
“Years ago I ran an event at Microsoft called Design Day. Each year we’d experiment with different formats and one year we tried 99 second presentations. It went well and we did it the next year too. Unlike most speaking events it gives the audience a real chance to participate.
“ [...] It’s a small commitment to get someone to speak for less than 2 minutes. They can practice their material 10 times in half an hour. The surprise of short format speaking is it forces speakers to get to the good stuff”.
About iZotope:
From their site: https://www.izotope.com/en/company/about-us.html
“iZotope makes innovative products that inspire and enable people to be creative. Based in Cambridge, Massachusetts, iZotope has spent over a decade developing award-winning products and audio technologies for professionals and hobbyists alike. Used by millions of people in over 50 countries, iZotope products are a core component of GRAMMY-winning music studios, Oscar and Emmy-winning film and TV post production studios, and prominent radio studios, as well as basement and bedroom studios across the globe. iZotope also powers products made by industry partners such as Adobe, Avid, Microsoft, and Sony. iZotope was recently honored with an Emmy® Award for Outstanding Achievement in Engineering Development for its flagship audio repair suite, RX®”.
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!"
“iZotope makes innovative products that inspire and enable people to be creative. Based in Cambridge, Massachusetts, iZotope has spent over a decade developing award-winning products and audio technologies for professionals and hobbyists alike. Used by millions of people in over 50 countries, iZotope products are a core component of GRAMMY-winning music studios, Oscar and Emmy-winning film and TV post production studios, and prominent radio studios, as well as basement and bedroom studios across the globe. iZotope also powers products made by industry partners such as Adobe, Avid, Microsoft, and Sony. iZotope was recently honored with an Emmy® Award for Outstanding Achievement in Engineering Development for its flagship audio repair suite, RX®”.
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!"
February 20, 2017
The Ministry of Testing - Boston Meetup certainly keeps me busy!
From my LinkedIn profile, posted today:
... I am so looking forward to this! Most importantly, I will be glad not having to job search. The next two weeks can be like an extended staycation.
Good thing, too! There is so much I want to do:
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!"
Thomas F. "T.J." Maher Jr.Senior QA Engineer, Automation Developer, Blogger, Co-Organizer of Ministry of Testing - Boston Meetup
Starting March 6th, I will be on a new six month contract-to-perm assignment as a Sr. QA Engineer at Ahold, Inc, the holding company for Stop and Shop, Giant Food, Hannaford's, and Food Lion. A new team will be developing new web and mobile apps at their New England Headquarters, and needed someone to test it as it is being built, then work with developers to automated those tests. Where is the HQ? Well... it's right here in Quincy Center, where I live... Literally a five minute walk from my apartment complex. Shortest. Commute. Ever!
... I am so looking forward to this! Most importantly, I will be glad not having to job search. The next two weeks can be like an extended staycation.
Good thing, too! There is so much I want to do:
- Ahold uses as an automation solution Selenium WebDriver with Java, Serenity BDD as a testing framework, and the Zephyr plugin for JIRA. Although I am starting out manual testing -- the best way to learn how a product works and how it ticks -- it'll eventually move to automation. I want to make sure I am ready! I'll be researching all about those testing tools. Expect a few blog articles on BDD, Serenity, and Zephyr in a few months!
- I am now a new co-coordinator of the Ministry of Testing - Boston Meetup group. Are you a QA Engineer in the Cambridge, MA or Boston, MA area? Come join us! Are you a QA Manager who wants to share your knowledge and wisdom? I know a group who would love to be your audience! Contact me so we can set something up on our event calendar.
- In two weeks, the Ministry of Testing - Boston group will have its next QA dinner-and-discussion meeting at Panera Bread in Porter Square, Cambridge, MA. We held our last Meetup on February 7th, 2017 at John Harvard's Brew House. It was a very good group of people, with some thought-provoking questions on the nature of quality and how one can assure it. I am working that into a new proposal for my next TechBeacon article.
- Oh, and I still need to finish off my blog series on the Java library, REST Assured, a way to test RESTful APIs. The first article was written on February 4th. I had the sample code all ready to go, when my five year old PC ran into a blue-screen problem, and I haven't been able to bring it back to life. Luckily, I have backups, and backups of backups that hopefully will be able to set me up when I finally purchase a new machine. In the meantime, this Asus Chromebook I bought when that happened has really been suiting my needs!
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!"
February 10, 2017
When asked by TechBeacon what the state of the QA Industry is like, I must have been in a real foul mood
When I was asked a few months ago by Mitch Pronschinske, Managing Editor of TechBeacon, I must have been in a real foul mood. In Mitch's article, 7 DevOps trends to watch in 2017, dated January 12, 2017:
"TJ Maher, an automation developer and TechBeacon contributor, spent the last two years updating his skills to move from manual tester to automation developer to software engineer in test. In those same two years, he’s seen many of his former QA testing colleagues lose their jobs due to the major changes going on in the testing industry right now.
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!"
"Testers will learn to code or perish
"For many testing engineers, 2016's motto was 'learn to code or perish.' Testing is now focused at the web services level, with tremendous demand for RESTful APIs, and Selenium wrappers, he says".“Continuous integration and continuous delivery turned the big splash of Selenium WebDriver into a tsunami that washed away almost all of the software testing industry, drowning many of the manual testers and eroding their base of employability.” —TJ Maher
... Surely it can't be as bleak as I thought!
Do you have a cheery story about manual testers getting the recognition they deserve, and being appreciated? Leave a story in the comments section below.
Come help cheer me up! :)
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!"
February 9, 2017
DEV vs QA: A Conversation about Quality
Yesterday the Ministry of Testing - Boston held its first dinner-and-discussion event, a "Lean Coffee" at John Harvard's Brewhouse in Harvard Square. The discussion was centered on automation. How can we tell if automation is improving quality? What is your favorite automation tool? How can we get training? Most of us were new to automation -- until the past few years, coding knowledge wasn't really a requirement, so it was good to be able to network with one another and talk about the problems we were currently facing as we navigated this brave new world.
One question kept coming up that we couldn't quite answer ... how do coders measure quality?
A working definition of quality I have had since grad school: To meet or exceed the expectation of the stakeholders, from the project manager (on time, on budget), to the customers using the product (intuitive design, good user experience).
Are you a software engineer? What metrics do you use to measure the quality of your code, your project, and your team?
... In spite of holding a BSCS / Theater Minor and Masters of Software Engineering, I have only been coding on-the-job for the past two years. From what I have seen, when a software developer thinks about of "quality", they may first think of the quality of the code:
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!"
One question kept coming up that we couldn't quite answer ... how do coders measure quality?
A working definition of quality I have had since grad school: To meet or exceed the expectation of the stakeholders, from the project manager (on time, on budget), to the customers using the product (intuitive design, good user experience).
Are you a software engineer? What metrics do you use to measure the quality of your code, your project, and your team?
... In spite of holding a BSCS / Theater Minor and Masters of Software Engineering, I have only been coding on-the-job for the past two years. From what I have seen, when a software developer thinks about of "quality", they may first think of the quality of the code:
- Is the code as readable as it can be? (See Uncle Bob Martin's Clean Code)
- Is the code as refactored as it can be? (see Martin Fowler's Refactoring)
- Is the code written as simply and efficiently as it can be?
- Are there unit tests and integration tests set up? Are they run before checking in code into the master branch? Do the tests all still pass?
- If creating a web app, how does it look in the bare minimum of browsers and platforms: Chrome, Firefox, and Safari for the Mac?
When a QA Engineer thinks about quality, they first think about the quality of the end-user experience, and the quality built into the software development process:
- Who are the people using this product? What are the different levels of the customer base?
- How are they using this product? Test all major browsers, platforms, or mobile devices they will use!
- Are the requirements testable? Are there acceptance criteria listed that indicate the "definition of done"?
- Are there any assumptions that need to be spelled out in the requirement? Is DEV and QA on the same page on what the product should be?
- How are the quality of the tests? Do they match the requirements? All of them? Have they been peer reviewed? Have you looped in the rest of the team: Product owner, DEV, user experience and checked to see if there is anything missing?
To me, the relationship of DEV and QA shouldn't be the relationship between an artist and an art critic. Instead, it should be like that of a writer and a copyeditor, both working together to create a quality product.
Software development is a partnership of DEV and QA. With DEV focused on the bottom up, from the code to the UI, and QA focused from the User Interface on down, the team can increase its chances to create a quality product.
Now that QA Engineers are expected to code, they now have to do double duty, incorporating both the DEV and QA definition of quality into their work.
Now that QA Engineers are expected to code, they now have to do double duty, incorporating both the DEV and QA definition of quality into their work.
Are you a QA Engineer? Are you a Software Engineer? What does quality mean to you? Write your comments below!
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!"
February 7, 2017
Feb 7, 2017: Software Testing Lean Coffee @ John Harvard's in Harvard Square, Cambridge, MA
Tonight, I organized my very first Ministry of Testing - Boston event, a "Lean Coffee".
Picture a dinner-and-discussion event run like an Agile end-of-sprint retrospective, where members write down on Post-It Notes things they want to discuss, and people vote on the topics.
I haven't run an event in at least five years, since I was part of the Nerd Fun - Boston Meetup running five events a week, back in 2008 - 2011. Back then, my favorite place to meet was at John Harvard's Brew House, holding discussions at a large round table that seats fifteen. It is situated under a stairwell, and with the lower ceiling, the acoustics are much better than you would think in the crowded pub atmosphere.
I met up people before the event around the corner in the food court of the Harvard Square Garage mall, with my "Hello My Name is T.J." nametag, and a big red MEETUP sign attached to my black messenger bag, just like the old days.
We filed in at 6:30 pm, and had a lively discussion! Some of the discussion topics:
If you want to keep track of the discussion, I have posted a conversation thread on the Ministry of Testing - Boston Message Board at https://www.meetup.com/ministry-of-testing-boston/messages/boards/thread/50584497/
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!"
Picture a dinner-and-discussion event run like an Agile end-of-sprint retrospective, where members write down on Post-It Notes things they want to discuss, and people vote on the topics.
https://www.meetup.com/ministry-of-testing-boston/events/236646569/ |
I haven't run an event in at least five years, since I was part of the Nerd Fun - Boston Meetup running five events a week, back in 2008 - 2011. Back then, my favorite place to meet was at John Harvard's Brew House, holding discussions at a large round table that seats fifteen. It is situated under a stairwell, and with the lower ceiling, the acoustics are much better than you would think in the crowded pub atmosphere.
I met up people before the event around the corner in the food court of the Harvard Square Garage mall, with my "Hello My Name is T.J." nametag, and a big red MEETUP sign attached to my black messenger bag, just like the old days.
We filed in at 6:30 pm, and had a lively discussion! Some of the discussion topics:
- Scrum as a QA Process
- How Can We Tell If Automation is Improving Quality
- Favorite Automation Tool for Agile
- Cucumber vs TestNG vs JUnit
- Should QA be in DEV teams?
- Picking Stable Jobs/ Compaines
- Suggestions for Agile Training
- "Testing" or "QA"
- Lean Coffee at Work
If you want to keep track of the discussion, I have posted a conversation thread on the Ministry of Testing - Boston Message Board at https://www.meetup.com/ministry-of-testing-boston/messages/boards/thread/50584497/
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!"
February 4, 2017
Software testing blogger looking for Automation Development Position
Well, that didn't last long!
Anyone looking for an full-time permanent automation developer? I'm looking for the Cambridge/ Boston area.
Ideal job: To do the same exact thing as I am doing with this blog, investigating and applying new tools, techniques and technologies in the automated software testing field.
-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!"
Anyone looking for an full-time permanent automation developer? I'm looking for the Cambridge/ Boston area.
Ideal job: To do the same exact thing as I am doing with this blog, investigating and applying new tools, techniques and technologies in the automated software testing field.
-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!"
Are you sure the bus line is still listed?: Don't gather data from the UI. Use a RESTful API endpoint instead!
You are an automation developer on a team developing in Java a new public transportation web application. The customer base for the app is located in Southeastern Massachusetts.
The MBTA (Massachusetts Bay Transportation Authority) oversees the subway lines and buses of the Greater Boston area and the surrounding suburbs. The #230 bus line stretches across four cities, connecting a Commuter Rail Station in Brockton, MA (my hometown), a bus terminal for the Brockton Area Transit's BAT bus, and a major subway stop in Braintree, MA.
You will need in this project to get data from the MBTA for this particular bus line: bus schedules, bus stops, maybe even bus locations. But this begs the question:
1) Go to http://www.mbta.com/
2) Select the "Bus" icon
Test #1: Assert that the "230" entry is in the dropdown for "bus".
3) Choose "230" in the dropdown provided.
4) Wait until you are redirected to the schedule for the 230 bus line at http://mbta.com/schedules_and_maps/bus/routes/?route=230.
Test #2: Assert that the schedule appears.
We can visually check confirm that:
... But what if we want this to be part of an automated test and just want a yes or no answer to the question "Is the Bus Line Listed Correctly?"
1) Go to http://www.mbta.com/
2) Select the "Bus" icon
3) Choose "230" in the dropdown provided
4) Wait until you are redirected to the schedule for the 230 bus line
And we wait... and wait ... and wait...
... and wait ...
... and you may be automatically redirected to the bus schedule, or you may not.
Automate this with Selenium WebDriver and Java, and, mark my words, you are going to spend the next month or so trying to get the synchronization correct so the test doesn't time out.
This test will be deemed a "flaky test". Woe to anyone attempting to use this test in their test library.
A better test would be to not go through the web site at all to get this data, and communicate with a webservice that has this information instead.
The MBTA (Massachusetts Bay Transportation Authority) oversees the subway lines and buses of the Greater Boston area and the surrounding suburbs. The #230 bus line stretches across four cities, connecting a Commuter Rail Station in Brockton, MA (my hometown), a bus terminal for the Brockton Area Transit's BAT bus, and a major subway stop in Braintree, MA.
You will need in this project to get data from the MBTA for this particular bus line: bus schedules, bus stops, maybe even bus locations. But this begs the question:
- How do you make sure that the #230 bus line is still listed?
Attempt #1: Manual Testing: Use the MBTA's Web Site
The easiest way to test to see if the #230 bus is still listed by the MBTA is a visual check through the MBTA's website.1) Go to http://www.mbta.com/
2) Select the "Bus" icon
From the MBTA webstite, http://www.mbta.com/ |
Test #1: Assert that the "230" entry is in the dropdown for "bus".
3) Choose "230" in the dropdown provided.
4) Wait until you are redirected to the schedule for the 230 bus line at http://mbta.com/schedules_and_maps/bus/routes/?route=230.
Test #2: Assert that the schedule appears.
Schedules and maps from MBTA |
- Yes, the 230 bus line is listed on the front page
- Yes, the bus schedule appears... after a bit.
... But what if we want this to be part of an automated test and just want a yes or no answer to the question "Is the Bus Line Listed Correctly?"
Problems with Gathering Data from the UI
Let's say that we use Selenium WebDriver for our test. We write an automated script to:1) Go to http://www.mbta.com/
2) Select the "Bus" icon
3) Choose "230" in the dropdown provided
4) Wait until you are redirected to the schedule for the 230 bus line
And we wait... and wait ... and wait...
... and wait ...
... and you may be automatically redirected to the bus schedule, or you may not.
Automate this with Selenium WebDriver and Java, and, mark my words, you are going to spend the next month or so trying to get the synchronization correct so the test doesn't time out.
This test will be deemed a "flaky test". Woe to anyone attempting to use this test in their test library.
A better test would be to not go through the web site at all to get this data, and communicate with a webservice that has this information instead.
A Better Way to Gather Data: RESTful API Endpoints
Luckily for us, like many sites nowadays, the MBTA offers an MBTA Developer Portal. Developers of third-party applications can read production data in real time, to see not just schedules of the buses and trains that the MBTA operates, but also the positions of the buses and trains in real time.
http://realtime.mbta.com/Portal/ |
The MBTA wants to share it's data with the public. It provides:
- A public key you can use to test out the system (but make sure to subscribe for your own key if you are doing more than monkeying around)
- Documentation on how to set up information queries (See the PDF for the MBTA-Realtime API Quickstart Guide dated 5/2016)
What is the Public API Key?
"Below is the current open development API key. It may change at any time. This key is open for all developers to use in development and testing. DO NOT go into production using this key! Register for an account and request a key of your own on realtime.mbta.com. There is no cost.
"As of 5/11/13 the open development API key is: wX9NwuHnZU2ToO7GmGR9uw"
According to the QuickStart documentation, part of the items you can look up are:
You can see even more information in the MBTA-Realtime API Documentation (V 2.1.3) dated January 4, 2017. Listed is that you can query routes, such as bus routes.
If we wanted to manually interact with the API to check if the bus line #230 is still active, we can:
1) Go to http://realtime.mbta.com/developer/api/v2/routes?api_key=wX9NwuHnZU2ToO7GmGR9uw&format=json to view all routes.
2) Search on the page for the numbers "230", and we can see:
{
"route_id" : "230 ",
"route_name":"230"
}
... And, yes, we can see that the 230 bus line exists!
Until then, 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!"
What Information Can You Lookup?
According to the QuickStart documentation, part of the items you can look up are:- Stopsbylocation: GPS coordinates, listing latitude and longitude of the bus or train
- Routesbystop: All the stops on the Red, Green, Orange line or bus line
- Predictionsbystop: When will the next train or bus be arriving?
- Alertheaders: Are there any service alerts?
You can see even more information in the MBTA-Realtime API Documentation (V 2.1.3) dated January 4, 2017. Listed is that you can query routes, such as bus routes.
If we wanted to manually interact with the API to check if the bus line #230 is still active, we can:
1) Go to http://realtime.mbta.com/developer/api/v2/routes?api_key=wX9NwuHnZU2ToO7GmGR9uw&format=json to view all routes.
2) Search on the page for the numbers "230", and we can see:
{
"route_id" : "230 ",
"route_name":"230"
}
... And, yes, we can see that the 230 bus line exists!
Coming Up Next Article...
We have covered a bit about REST APIs before. Last year we covered:- How to use Apache HTTP Components, such as HTTP Get, with Java testing the Stripe API
- An Introduction to REST APIs: How manual testers can automate using Postman, JSON, and JavaScript
For this section, we will be covering how to use Java, TestNG and REST Assured to interact with MBTAs API.
Until then, Happy Testing!
Are you sure the bus line is still listed?
- Part One: Don't gather data from the UI. Use a RESTful API endpoint instead!
- Part Two: Interacting with the MBTA's API using REST Assured
- Source Code: GitHub, T.J. Maher
-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!"
Subscribe to:
Posts (Atom)