Test Automation and HeadSpin University with Jonathan Lipps

In each HeadSpin Corner episode, our VP of Developer Products Jeena James talks to experts and thought leaders at HeadSpin and in the industry about what’s new in both the testing community and digital experience space, the latest industry trends, how to achieve digital business success, and more. You can find more episodes here.

 

We talked with Jonathan Lipps, who recently joined HeadSpin as Director of Learning and Education Programs, in our first virtual HeadSpin Corner interview to learn more about his new learning initiative HeadSpin University. Jonathan is the architect and lead of the Appium project, founder of CloudGrey, and author of AppiumPro.com. Automation and software testing aside, he has been passionate about and involved in lots of different things: Jonathan has studied philosophy and linguistics, is in indie rock band Splendour Hyaline, and is an avid photographer. 

Read on or watch our interview below to hear his thoughts on automation and QA and to learn more about his latest project HeadSpin University.

Conversation

Tell us a little bit more about yourself and your background, and tell us about an app that you absolutely love.

Hi Jeena. Thanks for having me in the HeadSpin Corner. My background is a bit odd. I’ve been writing code since I was a little kid I think I was maybe five years old when I started learning like GW-BASIC or something. So, I’ve been doing that for a long time, but I never studied it professionally. I actually studied philosophy, linguistics, and theology, a bunch of more kind-of abstract things on the academic side. That’s always been really interesting to me, and I thought I would maybe go and become a professor or a writer or something like that, but coding is just too much fun.

At some point in my life, I needed to make money and turned out that computer programming is better in that respect than philosophy, which is a shame because I think philosophy is really important. But, I also think that we can do philosophy and think deeply in pretty much any other thing that we’re doing. I like to think about technology and software development and all that from a philosophical perspective as well. So, I’ve done a bunch of reading and writing on the philosophy of technology, which is super interesting.

I’ll never stop if you ask me my background because I have no way to stop myself in becoming interested in lots of different things. It’s a huge problem in my life, trying to focus more, which is one of the reasons I’m here at HeadSpin: to focus on one thing for a while. I don’t know what else you ask, but that’s where we got with that question.

Because I do some writing from time to time, there is an app called Scrivener that I started using on Mac years and years ago. They have an iPad app and probably one for iPhone too, but I haven’t used it there, and on my iPad I love using the Scrivener app. I don’t know if games count, but I’m also really into Polytopia right now. It’s a fun game that I recommend. It’s a turn-based strategy game, which is fun for those of us who are quarantined, because we can play with other people throughout the day. I play with my nephew in Chicago; we go back and forth. So, those are two things I’m spending some time with right now.

Why is automation important in a QA team? Tell us a little more about how it benefits not just the QA team, but others as well who are not necessarily working on it directly.

Automation is the thing that makes the software development lifecycle fast and less error-prone. If you go back to the days of software development when we were shipping code on CD-ROMs and mailing code to people physically you go to CompUSA and buy Microsoft Windows or whatever you buy there was a totally different software development process where you had a lot of time to make sure things worked appropriately. With internet-based software, so web applications and now mobile applications, we have the potential to ship new versions of software to customers many times per day and.

When you’re shipping code very frequently, you are also increasing the number of opportunities to ship incorrect code, so you want to make sure that you don’t have bugs in between each release. There’s no way that a team of human beings can keep up with that pace, especially when you’re talking about looking for regressions in the entire functionality of your application. If your application is relatively large or complicated, you might have thousands of potential user scenarios to walk through. If you want to sort of satisfy yourself that all of those still work on a new version of an application, the only feasible way to make that happen is nowadays with automation. 

I think automation is kind of the enabler of speed and quality. You can go fast without quality if you don’t have automation, but I think if you want fast and quality, you need some kind of automation. The entire company benefits from automation and the entire product benefits from automation, because it’s in everyone’s interests to keep quality quality high while releasing quickly, because if you can release a new version of your app before your competitor with certain features, then users are going to be that much more loyal to you.

Tell us a little more about HeadSpin University. How are you envisioning it? What is special about HeadSpin University with the courses offered on this portal compared to other training courses that you have led?

HeadSpin University is quite new, and I think we’re going to still see how it evolves in the future. The kind of vision that we have for it is that it’s going to be the place for the highest quality automation training and test automation training that you can find anywhere. There’s a lot of free content, and there’s a lot of paid content out there. Most of the free content is of pretty low quality. It’s the type of thing that even I’ve done myself in the past. You just sit here in front of your computer and throw up some poorly-designed slides and shoot-from-the-hip kind of thing. There’s a lot of that out there.

Ultimately, I think what users need is something that is much higher quality. So, better quality of video and audio and something that’s really scripted out beforehand to make sure that pedagogically it makes sense. I also think that most of the stuff that’s out there is pretty short or pretty piecemeal. To get a full education in Appium, it might be possible using existing video training content, but you would have to put a lot of different things together that would not have the same look and feel, wouldn’t use the same sample code and projects, and wouldn’t give you a sense of the overall arc of what you’re learning.

Our goal this fall is to release our kind of first flagship course, which will be more like an entire semester’s worth of training that you could get a certification for, follows a thread of training from zero knowledge to somewhat-expert knowledge, includes evaluation, includes code challenges and hands-on exercises, and things like that.

I haven’t seen that kind of thing out there really, so that’s what I’m hoping to build here. I think we can get people quite interested in that. In the short-term, we’re trying to just help people become aware of the fact that we’re building this thing called HeadSpin University. We’re releasing a couple of courses for folks that are not going to be ultimately I think as valuable as what we’re building in the long term, but will be short term quite valuable, because it’s still going to be as good or better than anything that’s out there today.

In fact, I think today we’re working on releasing something called the AppiumPro intro Workshop, which we’ve been hard at work on. It’s basically taking the first portion of an in-person training that I’ve been developing over the last few years and reporting that to a kind of online video format. I think it’ll be really valuable. We’ll see how people like it, but that’s where we’re at with the University today and where we hope to go in the future. 

 

Even from the content that’s out already, we’ve already heard feedback from folks who’ve checked it out that this is already advanced in terms of what is currently available. It’s great to see that there is momentum and interest in the community to level up their knowledge and stay committed to a certain framework that they love and enjoy.

What words of advice or tips would you give to students who are looking at software testing today or to other employees who are looking at building more skills?

Getting into the testing industry is a great idea. I think it has a lot of really interesting problems, and we’re always going to need some kind of quality assurance. At the same time, it is good not to rely on just old standards or old methods of doing things. So, if you are somebody who’s in the QA industry and you’ve been testing apps manually, that’s a great skill to have. All of the skills that you’ve learned in being a manual tester will still kind of apply in the new world of automated testing, but I do think that you should learn programming language, how to script, and how to automate some of the user behaviors that you’re trying to test. Appium and Selenium are great tools for that.

I think that you’ll be in a very valuable position in the future, because at least at this point, fully-automated, artificially-intelligent bots are not at a place where they can replace the insights of a human being in deciding what needs to be tested.

If you can level up your skills and learn how to harness some of these new technologies, including AI for testing and things like that, then you’ll be in a really good position for the future.

This article is a summary and transcription of a recent HeadSpin Corner episode. You can watch more HeadSpin Corner episodes here, or listen wherever you hear your podcasts.