Test Masters Episode 2 – Angie Jones

Hi all, welcome to the second episode of “Test Masters” series. The main aim of these series is to connect software testing community with the thought leaders of software testing. We will get benefit from their experience, knowledge, and advice.

For the second episode, I interviewed with Angie Jones from Twitter. Angie is a very well-known software testing professional and she is highly focused on software test automation.

Angie Jones is a Senior Automation Engineer at Twitter who has designed and developed automation strategies and frameworks. As a brilliant inventor, she always thinks out-of-the-box and holds 25 patented inventions in the US and China. Angie loves information sharing and she attends countless software conferences, events, webinars all over the world and she is the leader of tech workshops for young girls through TechGirlz and Black Girls Code. You can find more info about Angie on her awesome blog.

Onur: Hi Angie, it is awesome to host you in the second episode of Test Masters. First of all, I would like to ask you, how did you start your test automation journey? What kind of challenges did you surpass? What keeps you always be motivated in this exciting adventure?

Angie:

Thanks for having me, Onur. I went to college to become a developer, and during my senior year, I received a job offer from IBM to do just that. However, when I showed up for work on the first day, I was informed that there had been a reorg and the development position was no longer available. However, there was a need for automation. So, I did this job for a couple of years and really enjoyed it. However, I still wanted to try development out. So, I did that for a few years and dreaded it. It wasn’t nearly as satisfying to me as being an automation engineer. In development, I had small features that I would work on, whereas in automation, I was in automation, I had a broader scope of the codebase and also of the product as a whole. So, I went back into test automation and haven’t looked back since!


Onur: As everybody knows that you are very proficient in test automation. What does it take to be a professional test automation engineer or SDET (Software Developer in Test)?

Angie:

I think of a test automation engineer as a hybrid role between tester and developer. Someone in this position needs to have the mindset of a tester but the skillset of a developer. That’s what makes this position so unique. I know lots of testers who are brilliant at what they do, but who don’t have the programming background or don’t have an interest in coding. I also know lots of brilliant developers whose unit tests are comical. So, to really succeed as an automation engineer, you need to be both a strong tester as well as a strong developer.


Onur: What’s testing like at Twitter?

Angie:

I’ve been doing test automation for quite some time, and I can honestly say that working at Twitter is my most challenging job yet. People think of Twitter as small 280-character messages but there’s a whole lot that goes into the platform. We have to cover testing for our web app, mobile apps, web services, TV clients, live video, etc. This is for the main Twitter interface that you all know and love, but then we also have other business products for revenue – these all need to be thoroughly tested as well.

So, as you can imagine there’s a whole lot to cover, but there’s not very many of us. So, each person juggles more than one area. So, an SDET at Twitter may need to do UI, mobile, and API automation all within the course of a day. It’s definitely a demanding and fast-paced job. Fortunately, Twitter values the role of “manual” testers as well so the SDETs and testers work very closely together to ensure adequate coverage.


Onur: Should test automation engineers know several languages and technologies such as Selenium, Capybara, Protractor, RobotFramework (JAVA, Ruby, JS, Python) or do they focus and deep-dive into one or two of them and have surface knowledge on the other ones?

Angie:

At Twitter, we strongly believe in using the right tools for a specific job, so our automation frameworks are in different languages depending on what they are used for. It’s not uncommon for one of our automation engineers to do some Java, Swift, Scala, and Python on any given day. So being well-versed in multiple languages is extremely helpful.

Before coming to Twitter, Selenium was the only UI framework I considered myself a master of. However, I was tasked with building a native iOS automation framework from scratch and of course Selenium was not going to be the right tool for this. I wanted to use Appium, which is essentially “Selenium for mobile apps”. However, when weighing the pros and the cons, I realized this was not the right tool for the job either. To collaborate with development the way I needed to for this project, I needed a tool that would allow me to write in their programming language and commit to their code repository. Apple’s XCUITest was the tool I chose even though I’d never used it before. I was able to pick up the Swift programming language and use XCUITest to successfully build the framework. This wasn’t because I was a master of either…but because I have a good foundation of programming and test automation in general.

So, I guess to answer the question, it’s ok to deep-dive into one or two languages and tools, but don’t become so married to them that you don’t know when to not use them. It’s probably more important to master the foundational competencies required for automation development, so that if you ever need to pick up a new language or tool, you can still apply the same principles.


Onur: What is your favorite test automation tool? And why do you prefer and like that? :)

Angie:

Haha, that goes back to the last question. There is no one tool that I can use for all that I have to do. That’s why it’s really important to be open to exploring more than just one.

For web, Selenium WebDriver is by far my favorite. The API provides everything I need to do my job and the community is extremely supportive.

For APIs, my favorite is REST-Assured. It removes the need for a lot of the boilerplate code I would have to write otherwise in order to make web service calls.

I love Cucumber for BDD integration. It allows for the use of non-automation artifacts of team collaboration to be reused for test automation purposes. Pretty slick.

I also like Applitools for visual validation. It saves me from putting in a bunch of incidental checks just to verify that nothing is wrong outside of the scope of the feature I’m functionally testing.


Onur: What are the most problematic issues in your test automation projects? How do you solve them?

Angie:

Flakiness! I talk about how I deal with these in my Selenium Conf talk The Build that Cried Broken.

Another extremely challenge thing is trying to automate against applications that use Machine Learning. This is a different ball game and one that we as testers and automation engineers need to quickly prepare for. I wrote an experience report about testing ML applications.


Onur: What would you like to say about Future of Testing?

Angie:

Building on my last response, Machine Learning is here, and other forms of AI are actively being developed. As testers, we’re so behind the curve on this. I’ve been telling anyone who will listen that this is indeed the future of testing. I’ve written more detailed thoughts about the Future of Software Testing in a QA Symphony white paper, and am currently touring tech conferences across the globe to give my keynote “The Reality of Testing in an Artificial World”.


Onur: You are attending a lot of conferences, webinars, and events all around the world. How do you feel about this? Do you still have excitement before stepping the stage? How can we encourage testers attending to conferences as a speaker?

Angie:

Haha, my speaking career has taken on a life of its own. I still enjoy it very much. I speak for the following reasons:

1. The industry is nowhere close to where it needs to be in regards to test automation. There’s still several companies struggling to get this right. I can’t work at all of the companies, but by speaking at conferences where attendees from hundreds of different companies are represented, I can share my knowledge that way.

2. We need more automation engineers! The demand is really high and there are not enough viable candidates in the pool to fill these roles. So, in addition to speaking, I also teach workshops at conferences specifically on test automation.

3. Tech conferences – speakers and attendees – are dominated by men. I’ve heard from many people, both men and women, that it’s refreshing to hear from a woman in tech at these events. I hope my speaking career can inspire others who may be underrepresented in tech to realize that they, too, have a place on the stage.

To others who are considering speaking, my advice is to go for it! Your stories can help others overcome their professional challenges. If you need help, there’s a wonderful group of volunteers consisting of world-renown speakers over at Speak Easy waiting to mentor you!

Onur: Angie, I am so glad to host you at Test Masters series. Thank you so much.

You can follow Angie Jones on her Awesome Blog! 

https://angiejones.tech/

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.