The Second Wave of Open Source Test Tools: An Interview with David Dang

In this interview, David Dang, VP of automated solutions at Zenergy Technologies, shares his experiences in understanding and developing open source tools. He explains why you need to work more closely with developers to minimize test automation hurdles and navigate common pitfalls.

Jennifer Bonine: All right, we are back with another virtual interview. David, thanks for joining us.

David Dang: No problem. Glad to be here.

Jennifer Bonine: I'm glad you're here. Some of them may have seen you this morning, right?

David Dang: Yes.

Jennifer Bonine: You had a keynote.

David Dang: Yes, I did.

Jennifer Bonine: We heard it went really well.

David Dang: I hope so.

Jennifer Bonine: You had them laughing, so if you're virtual, you maybe didn't hear all the laughter, but there was laughter.

Jennifer Bonine: I want to hear it, yeah, for those of us that didn't get to hear.

David Dang: All right. When we emigrated from China over to America, we landed in Salt Lake City, Utah. This is 1980, so I was pretty much the only minority kid in the whole elementary school. Being the only minority actually was really cool in Salt Lake City, because being Asian, at that time, everybody loved Bruce Lee movies.

Jennifer Bonine: Right.

David Dang: Everybody thought I knew kung fu. Beyond that, my personality is always to play it up, so I'm posing with different kung fu moves, and they're like, "Oh, yeah. I'm not going to mess with him."

Jennifer Bonine: Right.

David Dang: It was like, "Wow." Then we moved from Salt Lake City, Utah, to Brooklyn, New York.

Jennifer Bonine: Uh oh.

David Dang: Yes. I went to school, trying to use the exact same method that I had been so successful at avoiding, so I went up and I'm like, "Yeah, I know kung fu."

Jennifer Bonine: Uh oh.

David Dang: I put a few poses together, and the kid's like, "Really? Let's go." Basically, instead of saying, "Wow, this guy. I'm going to stay away," they're like, "Let's go." What I realized was that I got to adapt to another way of handling the situation, which is I became a really fast runner.

Jennifer Bonine: Right, there you go. You adapted.

David Dang: I adapted really well. That's kind of what we talk about in open source.

Jennifer Bonine: Right, adapting.

David Dang: It's adapting. The first wave was a little bit more technical. The tool set, or the framework, was not quite as mature. Companies have certain degrees of success. As the market matures, as the open source community matures, the second wave is a very powerful wave. A lot of Fortune 1000 companies are actually moving into that open source space. My talk was just to make sure that, even though it's free, there's no such thing as free. You still have to make sure you have the right strategy in place. You still have to make sure that certain things you do will ensure the success of the long term versus the short term.

Again, the second wave is really gaining so much momentum because not only that, but the community itself is really supporting that. You've got more and more people contributing, writing code, writing bug fixes, writing enhancement, all that stuff. Again, that's really important, because with the first wave, you got things that become really popular and then the communities kind of move away from it, so it kind of fizzle out. With the second wave, because a lot of things are built on top of Selenium WebDriver, which is Selenium 2.0, so you got something like Appium, which tests mobile. Appium is a really awesome framework. You've got Cucumber BDD, that you can interact with Selenium WebDriver, and then you also have Protractor, which is basically built on top of Selenium also, to do AnglerJS applications.

There's this whole big movement into that space, and it's actually really important to say, "Is it right for me? Should I catch the second wave, or is it something where maybe I'll hold off to it?" The start of that strategy is understanding your technology portfolio. If you are mostly web-based, I would definitely consider open source. If you are more client server, enterprise level, a ERP or CRM, or you have mainframe application, there's still a lot of value with what we call package tool set, the one that you buy, pay licenses, and all that fun stuff, because those companies do have a little bit more of the development to push the integration between those other technologies. However, if it's browser-based or mobile-based, the world is your oyster, so called.

Jennifer Bonine: Right, with all of the open source. Interestingly enough, as you talk about open source, I was going to ask you, are you seeing more trends right now in the industry, where typically we saw there was definitely sectors of the population not as open, so to speak, to open source, because of what they did and their data and all of that. But now, as you said, with this second wave, are you seeing a difference in more organizations that traditionally had said no to open source, I'm only going packaged solution, being more open to the proposition?

David Dang: I have a funny story. I did an assessment about four and a half years ago for a huge insurance company. What they wanted to do for automation, at that point in time, was really almost a perfect fit for Selenium WebDriver. I went out there and I put this whole big road map with them, open source, all that stuff, and then I presented to the director of QA. The first question out of him was how much it costs, from a framework to this. I'm like, "It's free." He's like, "We can't use it, because it's free. There's no one standing behind that. If something goes wrong, we don't have anyone to put blame on." That mentality, I never really understand that mentality, and I'm like, "But you have to understand, it's free, but it's a good fit for what you want to do." But because their insurance ... It's not him. It's security, it's the corporation ... But that being said, recently, all those insurance, banking ...

Jennifer Bonine: Yep, those are the ones I was thinking.

David Dang: They are actually, I would say, a lot more open-minded now. Now they're saying, "It is free, however, there are communities standing behind the tools," and because there's certain ways we can safeguard security and all that stuff, they are actually coming on board. That was a big change. Again, when I first started working with open source, usually we would work with medium-sized or small-sized companies because they are always trying to innovate, they are more flexible, they're more agile.

Jennifer Bonine: Looking for cost-effective ways.

David Dang: Exactly. The big company, I'm like, "This is an awesome framework. You really need to use it." They couldn't buy into it because, again, it's free, so it must not be good.

Jennifer Bonine: Right, exactly. It seems counterintuitive.

David Dang: Oh my god, but now it's really those Fortune 1000 companies, they are really coming on board. Again, the shift is actually pretty extreme. It went from, "No, no, no, no," to, "We've got to have it. We've got to have it," which is really eye-opening for me, as an automation person. Again, I'm very excited about that.

Jennifer Bonine: Yeah, I think it's an exciting time because I think more companies in wave two are now buying in. They're like, "We get it. We understand why it's more important." Do you also see then that the open source tools are better able to adapt more quickly and change faster to meet the market demands, whereas what I think I'm seeing plague a little bit of the traditional packaged tools is the weight of their whole, "What is standing behind it?" It takes longer to shift.

David Dang: Yes. That's a really interesting point. There's good and bad in that. As an automation engineer myself, I can see ... The packaged tools, let's say a new browser comes out. With a packaged tool, they do have to go in there and code to support for it. They do have to test all this stuff, making sure everything works correctly before they ship. Open source, you really have the community, some person, say, "Wow, Firefox just came out with a new version. You know what? I'm going to look at that API, I'm going to see how it works and I'm going to code this up."

Once they code it up, they can say, "You know what? It looks like it works, I did some testing," and they're going to upload it. That's the good and bad for it. The good part is you get this adaptation of good technology very quickly, so when Firefox have a new version, usually it only take a few days before someone say, "I got it. Here's a new version of Selenium. It will support the new Firefox driver." That being said, it also can have a negative aspect because again, because we are relying on the community, sometime when you adopt those new aspect of it, it actually didn't work because they haven't thoroughly tested.

Jennifer Bonine: Or thought it through completely.

David Dang: Exactly. Sometimes we actually have to revert back, but that's part of open source. The ability to really shift to ... Again, if it doesn't work, you go back. That ability, in a way is good and in a way is bad. That's always the case. Do you want to wait three months for fully tested, or do you want the ability to support that new technology and if it works, awesome, you're already within a few days. Even if it's bad, you know you can revert back. Your mentality have to change from open source being a perfect, because it can't be perfect, because it relies so much on the community, versus a package tools. For myself, I like the ability to adapt to that because so many people that, for example, use Firefox, they turn on automatic updates. It's not like they choose to update. That day it just updates.

Jennifer Bonine: It just updates, yep.

David Dang: Your applications have to be able to adapt to that. You can't say, "Well, half of my user already gone to a version of Firefox, but my automation tools is not there yet, so I'm going to have to wait that three months." That three months might be introducing critical defects that you're not being able to adapt to. Again, that juggle between open source and packaged tools, there's a lot of pros and cons to that; however, as a whole, I like the ability ... Again, I came from a development background ... To really be able to adapt to that, support that, and to be able to say, "Well, if it doesn't work, I'm okay because I can revert back."

Jennifer Bonine: Right, exactly. Interesting. What do you see or have you talked to many of the folks that do the packaged solutions? That used to be the only way to go, before we had all the open source. What do you think they're thinking right now in terms of what their future looks like?

David Dang: I think they are adapting, to be honest with you.

Jennifer Bonine: Good.

David Dang: I know HP is adapting. I know a few other that are adapting to more of the ... It might not be true open source; however, from a contact standpoint, they are adapting. Again, it's almost you have to because right now open source is only for web. Again, I don't see anything that really expand past web and mobile right now, from an open source standpoint; however, that being said, if they want to have that same level of usage on the package tools for client server, mainframe, and stuff like that, I think taking the same approach, I don't think it will hurt anything. I think the more lightweight automation tools, where it's highly customizable, that aspect of it is going to be adopted more and more by not only QA but also by the whole project team.

Jennifer Bonine: Absolutely. One last quick question, because I know we're running out of time. It goes so fast. When people talk about automation and putting automation into place, how good do you think we are now as an organization or leadership at understanding it's not a one-time fix?

David Dang: Yes.

Jennifer Bonine: That there's work and maintenance required to do that. It's not just you put it in, drop it in and walk away.

David Dang: Yep. I think that's the thing. A lot of people think of open source as, "Well, it's free, so let's just drop it in," but it's not. It's still a framework, it's still coding. You have to still go do the same iteration as you would to make sure that the automation is from a long-term perspective. If you are to automate for a one-time use, I don't know how much benefit you would gain from that. You might gain a little bit of benefit from that, but it's not where ... You will get your return. Even in that regard, it doesn't matter if it's open source, packaged tools, or whatever other automation that you use, it's the ability to think long term, to think reusability, to think maintenance. I think that's a critical aspect of being successful.

Jennifer Bonine: Yep, good point. David, if people want to get in touch with you, have more questions on some of the stuff you are talking about, what's the best way they can contact you?

David Dang: Email is one. It's [email protected]. Basically, it's energy with a Z in front.

Jennifer Bonine: Perfect.

David Dang: All right.

Jennifer Bonine: That's how they can find you.

David Dang: It's very Zen. Zen and energy, all in one. I'm also on LinkedIn.

Jennifer Bonine: You're going to get a thousand and two hundred emails now.

David Dang: I'm also on LinkedIn, so you can connect with me on LinkedIn. Google "David Dang automation," and somehow I will show up.

Jennifer Bonine: Somehow they'll be able to find you.

David Dang: Googling is awesome.

Jennifer Bonine: I know, it's amazing, right? Put him on your Google list. Go Google him and find him. Thanks so much for tuning in. Thanks, David, for this. This was awesome.

David Dang: Thank you for having me.

Jennifer Bonine: We enjoyed it.

David Dang: Thank you.

For more than seventeen years, David Dang has been a leader in the test automation industry. As VP of automated solutions for Greensboro, NC-based Zenergy Technologies, David spearheads the development of advanced frameworks that emphasize reusability and reduce maintenance efforts. He is an expert in all major commercial automation tools as well as open source tools such as Selenium and Jenkins. On the mobile front, David uses advanced concepts to design optimal frameworks using mobile automation toolsets including Perfecto and Appium. In addition to his high-level consulting engagements for Zenergy’s clients, David is in high demand as a presenter at major software quality assurance and testing conferences. Read more about David and Zenergy at zenergytechnologies.com.

About the author

Jennifer Bonine is a VP of global delivery and solutions for tap|QA, Inc., a global company that specializes in strategic solutions for businesses. Jennifer began her career in consulting, implementing large ERP solutions. She has held executive level positions leading development, quality assurance and testing, organizational development, and process improvement teams for Fortune 500 companies in several domains. In a recent engagement for one of the world’s largest technology companies, Jennifer served as a strategy executive and in corporate marketing for the C-Suite. In her career, she has had several opportunities to build global teams from the ground up and has been fortunate to see how many of the world’s top companies operate from the C-Suite viewpoint.