Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
JeffA
Alteryx Alumni (Retired)

About six years ago I was in my corner of a four-person cubicle at Lockheed Martin, showing off automation to my colleagues. "Fantastic. This could save us a lot of time. We have to invest more in this!" one said.

 

"Let me show you how you do it," I said, turning to bring up the code.

 

But before I could unlock my screen, they were headed back to their corners. "I don't touch that coding stuff. Sorry," they all agreed.

 

I've met many test engineers who are excellent coders, but I've also seen the above attitude many times (perhaps more often), and come to understand that modern coding is not for everyone. And that's fine. Everyone has something that doesn't quite click with them.

 Albert Einstein. Genius. Not good at everything, though [5].Albert Einstein. Genius. Not good at everything, though [5]. 

It's like Einstein and knowing where he was and where he was going. Apparently, that wasn't his forté [5].

 

When organizational pressure to automate as much as possible starts to mount, those who never intended to become programmers will understandably push back.

 

I've seen three responses: 1. Train all test engineers to program, 2. Hire dedicated automation engineers, or 3. Acquire a framework that makes automation easier.  

 

 The most influential quotes I found during my research on this subject.The most influential quotes I found during my research on this subject.The first option usually doesn't turn out so well. Hans Buwalda, the CTO of LogiGear and test engineering author, says, "forcing a nontechnical tester to become a programmer may cause you to lose a good tester and gain a poor programmer." [2] My experience agrees.

 

The second and third options tend to be the most viable. But there's something rather enticing about the third option, isn't there? It's a refusal to give up on peoples' ability to automate their own tests. If we could just remove the right barriers, maybe we could open this power up to everyone. If not, then we have more data going forward to help us solve this problem.

 

Working at Alteryx has led me to believe that many more people can "program" than I ever thought, just not the traditional way (text-based coding). Designer can make life easier for those who have an aptitude for programming. But those who don't still seem to pick it up and write some really impressive logic. Designer seems to remove a barrier from traditional coding that keeps many people from getting good at it. This makes it an intriguing choice for bridging the gap between nontechnical testers and test automation.

 

So I ask the question, "With Designer, could we open up programming to a wider community than ever before?"

 

Check out this video to see a short presentation of what we've done to make this happen in the world of automation, followed by a demo.

 

 

References:

  1. "The Test Automation Design Paradox", Hans Buwalda, June 28, 2016 https://www.techwell.com/techwell-insights/2016/06/test-automation-design-paradox-0
  2. "Experiences of Test Automation: Case Studies of Software Test Automation", Page 5, https://books.google.com/books?hl=en&lr=&id=62pUzABIZSwC&oi=fnd&pg=PR9&dq=software+test+automation&o...
  3. "Just Enough Software Test Automation",Page 86, 2nd paragraph, https://books.google.com/books?id=PEBvfWESIt4C&lpg=PR15&ots=xIrXWDsoZJ&dq=software%20test%20automati...
  4. "Is Test Automation the Same as Programming Tests?" http://www.logigear.com/magazine/test-automation/is-test-automation-the-same-as-programming-tests/
  5. "Creators of Mathematical and Computational Sciences", Page 350, https://books.google.com/books?id=bENTBQAAQBAJ&pg=PA350&lpg=PA350#v=onepage&q&f=false
Jeff Arnold
Sr. Full Stack software Engineer | Alteryx

I work on an innovation team doing product ideation, product design, and software engineering. I deeply enjoy learning about our customers' pain points and vision for the future so that we can intelligently deliver the most important solutions to you as quickly as possible.

I work on an innovation team doing product ideation, product design, and software engineering. I deeply enjoy learning about our customers' pain points and vision for the future so that we can intelligently deliver the most important solutions to you as quickly as possible.

Comments
StephenR
Alteryx
Alteryx

 

200w.gif

 

JeffA
Alteryx Alumni (Retired)

These tools have now been open sourced. Find them here: https://github.com/alteryx/ui-automation-samples

williamsbk
5 - Atom

Jeff, I'll still waiting on my employer to finish some paperwork  for Alteryx, but Microsoft has support for the JSON Wire Protocol with Appium (https://github.com/Microsoft/WinAppDriver) and there is a Python driver for Appium (https://github.com/appium/python-client) this should expose some additional functionality. I haven't had a chance to play with it yet but it might be a cool thing to look into.

JeffA
Alteryx Alumni (Retired)

@williamsbk that sounds awesome. There is already a ton of functionality that Pywinauto exposes (which hasn't yet been baked into the tools), but any power on top of that which could be exposed would be great.

SeanAdams
17 - Castor
17 - Castor

Hey @JeffA  - this stuff is SUPERB - why don't we include these tools in the main product download?

 

Seriously - this is super powerful, and would be a great addition to the primary tool!