In this interview, software agile coach Stacy Kirk explains the reasons for the increasing popularity of Node.js, what full stack testing means, and why Node.js can make it easier. Stacy discusses the best testing practices, processes, and modules to develop Node.js applications.
Jennifer Bonine: We are back for another virtual interview. We're here with Stacy. Stacy, thanks for joining me today.
Stacy Kirk: It's a pleasure. Thank you.
Jennifer Bonine: For folks out there watching, maybe give a little bit on your background, and I'd love to hear how you got into QA.
Stacy Kirk: Sure. From an early age, I loved coding and I thought I was going to be a software developer. I went to school for computer science. I had the opportunity to do an internship in QA for Remedy Corporation. I fell in love with it. I loved the idea of being able to look at a product and identify how we can make it better. I thought I could use my experience as a developer to really innovate on how QA was doing because even at that point, they gave me a stack of test cases that was this high printed out. I ran through it one time and was like, "You know what? I've got to figure out a way that I don't have to run through that again." I've spent my career—that was twenty years ago—I spent my career really figuring out how can we do QA in the most innovative ways possible? Every product, every company that I've worked with we have created tools, automation. I probably used every tool known to man. I just love that QA really gives a product its life and its beauty and it's perspective. That's been my joy.
Jennifer Bonine: That is so interesting. It's funny, I was talking to someone else the other day and he did exactly the same thing. It was, he had this stack of work to do and he's like, "Oh, it's all manual and I'm running through it." He's like, "Okay, I'm not doing that again." On his own without anyone prodding or poking him to do it, said, "Hey, how do I make this more efficient?" And he automated it. It was really interesting, the company he was working for was like, "Oh, that's great." He literally automated it and it took him half an hour, whatever once he was done automating to run his stuff. It was really short. Now he had all this time and they're like, "Okay, well, in a couple hours or in a couple days we'll give you some more work." Because they're not sure how to handle that yet. I think organizations who get used to and comfortable with the idea of we should try and get more efficient. If we can embrace that. Embrace people that are open to trying new things and new ways of doing things.
I know you had a session here on full stack testing. With transferring to the digital era and having all of these digital media platforms that we need to be operating on. What are you seeing as some advantages and how to get started if people aren't already? Which they may be but if they're not, how do we get started with full stack testing and thinking about that?
Stacy Kirk: I started using the word full stack testing because I have a lot of friends that are full stack developers. They started as front-end developers with JavaScript. Node.js has allowed them to now use their JavaScript for backend development as well. They've become full stack and I have always enjoyed being a backend tester. I like the database, the APIs, I didn't really so much enjoy doing the front end. I said, "Wow, now there's an opportunity for not just me but my peers in QA to get an opportunity full stack." They can do exactly what my front end developers have done and test at every different level and be able to do that because the tools in the open source community has grown so much. That it allows them now to not only create end to end UI front end automation tests but you can now do API testing. You can do performance testing and you can get your hands dirty in the database. It's as simple as it was for my front-end developers to become full stack.
My conversation in my presentation yesterday was just about, listen we now can call ourselves full stack, too. We don't just have to be on the front end. Embrace it, enjoy it. It's just a new way to increase your experience and your skill set as well.
Jennifer Bonine: For some of those folks out there who say they maybe feeling the same thing. They like love the APIs, love the back end, love getting in dirty in the technology and the data and all of that on the backside. Now using tools like Node.js can help them go full stack again just like the developers are and keeping up with that skill set. For someone who is just getting into that or hasn't done it, are there any tips or places to go to get information on that or that were really helpful if you were exploring that?
Stacy Kirk: Absolutely. One of the other things I love about Node is that it's very easy. In comparison, JavaScript is a easier language to learn. The community is very into sharing best practices and documentation. I've seen some of the best Wikis and the best documentation with the Node modules. I encourage people that are new to automation, if you have to pick a language JavaScript's going to be one of your easier ones. The modules that you create and the frameworks and the tools, they all come with a wealth of examples. I tell people if you're interested, Nightwatch is one of the frameworks that we started with and I encourage some of my clients if you have people that are a little nervous and scared of getting started. Nightwatch makes it very simple. You go to their site, you can pull down their sample code and have automation running in ten, twenty minutes. Then you feel a little bit better and you can start to learn a little bit more.
One of the tips that I give to my clients and when I give presentation is, there's so much to learn you get overwhelmed. Don't do that. Most languages especially with automation, there are ten calls that you're going to make. You're going to enter, you're going to check data. You're going to go to a site especially if it's web application, you're going to go to a site and you're going to do a validation, which a verifiers' cert. You can do 80 percent of your automation with those ten. Don't get overwhelmed. Get you a checklist, a check sheet of those ten and try going your first year with just those ten. When you build up your confidence then you can learn about all the other ways that you can expand your automation.
Jennifer Bonine: Good tip there for folks out there saying I want to get started, it seems overwhelming. A tendency for a lot of folks in testing is they want to get all the information. Then when you start to do that there's lots of it out there and you can quickly get overwhelmed with how much data and information is available. Start with those ten, I think that's a great tip of start with the basics and look at those, leverage those for a while until you get comfortable and then branch out.
Stacy Kirk: Absolutely.
Jennifer Bonine: That's a great tip for folks out there that are looking at how do I get started doing that. Have you been to this conference before?
Stacy Kirk: No, this is my first time. It's my first time. I've always wanted to go. It was either not in the budget or some conflict. I love pretty close by so I'm so excited to be here. I'll never miss another one, totally great.
Jennifer Bonine: For folks again watching that don't have a chance to be here and being that it is your first time, you're seeing all this for the first time. Can you maybe describe to them or give them some insight into what you've enjoyed so much about being here in person and taking advantage of while you're at the conference?
Stacy Kirk: Many of us in the QA world are not a part of these large QA departments. We're one of very few. We wonder, are we going crazy? Are we mad?
Jennifer Bonine: Is anyone else thinking this or is it just me?
Stacy Kirk: The atmosphere here is just so great because there are so many conversations about, I wrote my automation to do that and it failed in that same area, how did you resolve it? You really are learning not only how to solve your issues but you're just feeling good to know that there's other people out there that are thinking innovatively, are hitting some of the challenges and you can bond and feel good. Even if you go back to your smaller teams or even if it's a large team, you can know that your ideas and what you've been thinking can be validated by your peers.
Jennifer Bonine: Yeah, because it does. It gives you some of those ideas you've been thinking, you can bounce off lots of other people who probably are thinking along the same lines or other similar things and get that feedback. Then you go, okay this is great. I would be curious on your perspective about this. But what I've seen here is you get a renewed energy, right?
Stacy Kirk: Absolutely.
Jennifer Bonine: You go back energized about the things that you're thinking about because you now have this community of people that you connected with, that you feel like I'm not alone right?
Stacy Kirk: Yes.
Jennifer Bonine: There's a larger group out there. It's great for that networking and that connection.
Stacy Kirk: I've made a lot of friends already. If you have that problem call me and if I have that problem I'm calling you.
Jennifer Bonine: Exactly, it's great.
Stacy Kirk: Which is good and that's what is great about the kind of the open source community and just how technology is progressing is we're a community. There's no reason why we have to, if we have a solution we have to keep it to ourselves anymore.
Jennifer Bonine: You don't need to isolate it.
Stacy Kirk: Everyone needs to evolve. We all are going on the same path so let's share our best practices as much as possible.
Jennifer Bonine: Absolutely. I think for folks out there that maybe aren't using an open source yet or hesitant to use open source, it's evolved a lot. From when open source first was introduced to today like I know some people are calling it phase 2 of open source. But like the new version that's out there of different open source tools, what's maybe some of your experiences been with open source and the ability to get access to like you said Wikis and information and stuff? For folks that haven't checked into some of the open source tools. Who are still saying I'm using all these packaged tools.
Stacy Kirk: Even if you are using those sites like Stack Overflow, it's almost—and I use the word open source but I really mean open community. That's more inclusive of not just the source, not just the products, but just the idea of if I have a problem, I'm going to help you and let's see if you can do that same. Just moving towards that. What I do love about the open source is that you as a technical person have an opportunity to give your feedback. You have an opportunity to submit your own code and your own revisions and feel as if you're a part of something bigger and greater. People at my company and some of my peers we do pull requests to go to get, sometimes you may only see a typo in documentation. But you can now put in your pull requests to say, "Listen I know how your documentation could be better." It gets accepted and you're able to be a part of something bigger. I enjoy that portion of it.
Jennifer Bonine: You're helping build something, right?
Stacy Kirk: Yeah.
Jennifer Bonine: Building that knowledge and that community up.
Stacy Kirk: Right.
Jennifer Bonine: That repository of information that's available to everyone like you said and that sharing that's existing. Any common threads or trends or things that you're hearing or seeing at the conference or in your session that people are particularly interested in or hot topics right now that you're hearing about?
Stacy Kirk: Well, surprisingly, and I've been doing some speaker 101. I gave a couple different areas. I gave the area of Devoxx, which I thought was going to be flooded with people but it wasn't and best practice in test automation. To tell you the truth test automation is still extremely popular. There's still a lot of room for innovation and the need to understand the best practices there. People that I've spoken to this entire time are asking me about automation. How do I get started? What tools should I use? When I experienced this problem how have you resolved it? Automation is still a hot topic and it's not going anywhere. The next step and this is what I encourage the audience that's listening, is to understand that your automation ... It's kind of like if a tree falls in the forest and nobody's there did it hit? I don't know if that saying is maybe Buddhism. But the thing to know is if you're creating your automation and you don't have the reporting capabilities and you're not integrated with CI system. It's almost as if it doesn't exist at all.
Even though there wasn't very many people that wanted to talk to me about Devoxx, it's something that people need to remember that it's the next step. When you have your automation, the next thing you need to do is be prepared to integrate it with your development team, with your operations team. It's a critical piece that unfortunately is sometimes not thought too much of in certain organizations. But it's a critical piece in continuous deployment. If an organization wants to get there, they're going to have to have automation integrated.
Jennifer Bonine: Absolutely. We are out of time. We just scratched the surface and I have so many more questions I want to ask you. If people want to get a hold of you or want more information, what is the best way to contact you?
Stacy Kirk: The best way is to follow me on Twitter and give a direct message @queenofagileqa.
Jennifer Bonine: Queen of agile QA.
Stacy Kirk: I am the queen.
Jennifer Bonine: I love it, queen of agile QA.
Stacy Kirk: Self-assigned queen of agile QA.
Jennifer Bonine: That's wonderful, awesome. Well thank you so much for being here with us.
Stacy Kirk: Thank you.
Jennifer Bonine: I appreciate it.
As a software QA architect, agile coach, and coder, Stacy Kirk has championed quality and process innovation in software development for more than twenty years. Stacy has led global IT teams to deliver cutting-edge web, mobile, and enterprise applications in the entertainment, security, advertising, finance, healthcare, and telecom industries. She is the founder and CEO of QualityWorks Consulting Group and nodeqa.io. Her international consulting firm provides manual and automated testing services of web and mobile applications. Stacy’s highly technical team of consultants specialize in designing continuous integration automation frameworks for performance, database, API, and mobile test efficiency. Follow Stacy on Twitter @queenofagileqa.