Hello SmartBear Community, please check out
the new interview of the SmartBear Community
Leaders. Today, our guest is Carson
Underwood. Carson started his career
around 12 years ago, and, today, he will
share exclusive advice for new members
of how to be successful in the industry.
This October, Carson will be a speaker at
SmartBear Connect, and, in this video, he
will give you a sneak peek of his speech.
So, let's start. Hello SmartBear Community!
Today, I'm happy to welcome Carson
Underwood the many times SmartBear
Community Leader and longstanding
SmartBear Connect speaker. So, hello Carson!
How are you? I'm doing fantastic, how about yourself? I'm good, thank you.
Please tell us a bit about yourself.
Where are you from? What are your hobbies? For the
Community. I'm from Springfield Missouri,
Midwest of the United States. I have been
in software development for the past
about 12 years. I started off in video
game development. Video games were always
a passion of mine. I did that for seven
or so years, worked with a small local
independent video game studio, did
everything from QA testing to project
management, to level design and level
scripting, even did some of our audio
work, sound effects, music and stuff like
that. Currently, I work at O'Reilly Auto
Parts in their corporate IT department,
and I oversee all of our QA automation
efforts whether it be UI functional
testing, API testing so on and so forth. I
still...my hobbys still kind of
include music, every now and then I'll
still do contract work for small
independent video games making
soundtracks and sound effects for them.
Other than that I like to barbecue a lot.
I do that pretty much every weekend and
my wife and I go camping and floating as
much as we can. Okay, can we expect to
have some barbecue at SmartBear Connect
this year from you? I mean if they
want to provide me with a smoker there, yeah,
I can try to get something going. Okay, we
will do this!
Okay, deal. I don't think mine would fit on a plane. So, you have a great background
starting from the development, doing some
music stuff, and, after that, you came to
the software Quality Assurance.
Software Quality Assurance is changing all the
time what would you recommend to people
who are just starting their career in
this industry, what should they learn
first, and, maybe, pay attention to?
Definitely pay attention to trends, you
know, we are a very fast-moving information
technology society, so don't let yourself
become snagged and always try to be
focusing on learning new tech stacks,
learning new tools, learning new
processes, quality of the software also
requires quality of the people
ensuring the quality, so if you just let
yourself, you know, become stagnant, and
you're not trying to always improve your
processes and the way you ensure quality,
your quality of the software that you're
testing is going to suffer, so,
definitely, get out there. Automation is
huge right now, and it's only going to
become more and more important, you know,
most companies
these days, they're rolling out multiple
builds of their software a day, and, to be
able to ensure that those builds aren't
breaking and arern't going to affect the end
users or the business users, you have to
make sure that you have tests that run
through and make sure that everything is
working. So, just the main piece of advice
is just to stay on top of things, always
try to learn, always try to improve
because the better you are the better
you can ensure the quality of software.
Ok, great, thanks. If we take a look
at TestComplete, can you
count maybe top 5 features of TestComplete
that, you know, kind of, new users
must learn in order to create tests and
other things with TestComplete. Yeah, so, in my
opinion, the absolute most important
thing for anybody getting started with
TestComplete to learn is how to
recognize objects in your application be it
desktop, mobile, or web. The Name Mapping
is a humongous
beast as far as what you can do with it,
but it's also very-very feature-rich. Um,
I will say that, you know, allowing the
tool to automatically map and stuff and
do a record and playback is really great
for getting started, but it will never be
your end-all be-all product. You're going
to have to go in and edit your Name
Mapping and edit how you're finding the
objects to make sure that minimal UI
changes in your applications do not
break your test. So, things like using the
Extended Find, making sure you're only
finding the objects and interacting with
the objects that you actually need to
interact with, and it's definitely a
learning process and that kind of
goes back to what I was saying
earlier. It is always trying to learn and
better yourself, um, you know, if you're
testing a web application, take a few
free online courses for web development,
so you understand what the Dom is,
the document object model inside of your
web page. If you're testing
Java applications, you know, take a free
online course and develop just a simple
'hello world' GUI java application, so you
kind of understand a little bit more of
the background processes for how these
apps are being developed, and it'll help
you learn how to use the Object Mapping
or the Name Mapping
in TestComplete. Outside
of that, just how extendable
TestComplete is. If there's something
that tool doesn't do out of the box, the
scripting languages it provides, I
haven't found anything really that I
can't do myself with a little bit of
research in, you know, like I
said, even taking some more online
courses for learning better JavaScript,
that's what we use in O'Reilly as far
as how we write all of our utilities
that we use. And, the ability to share
code across multiple projects within the
tool - definitely take advantage of that.
Don't, you know, if you have
a webpage that you need to log in to,
make sure you're creating a login script
that every single test uses. The
tool really allows you to reduce the
amount of maintenance and reuse as much
code as you write as possible, and that's
definitely something that I see a lot of
people getting started off don't quite
wrap their head around, and, if you can do
that from the start, it'll help you in
the long run. Because it's way easier to
update one script than it is to update
2,000 tests.
Some of the other features
that I really like about TestComplete
is just how many different types of
applications and technologies it
supports, and how much of the boilerplate
stuff it kind of handles for you. You
don't have to write your own functions
and classes to connect to a database.
TestComplete provides that for you, you
can write wrappers around that that
works for your application, but it does a
lot of the background heavy lifting for
you which makes it a lot easier to start
creating your automation frameworks and
your tests. Okay, great, great features and
great advice for new people,
for new members, for new users who will
start using TestComplete. Okay, thanks a
lot.
Last year, at SmartBear Connect, our
user conference, you gave an incredible
speech on how to move beyond manual
testing, people were very excited about
it, so what are you going to talk about
this year? So, this year, I'm going to talk
a little bit more of a bigger picture
not necessarily the technical aspects of
developing an automation framework, but
how to take these frameworks and tests
you have and use them efficiently. And,
specifically, using more of a risk-based
approach to not only just your testing
cycles, but your development cycles, so
you know, as everybody knows, you have
business requirements for the software
that you're creating and testing. Some
of those are high risk, some of those
are low risk, and by high risk I mean: is
it going to very negatively affect the
end user? Is it going to cost your
company money? Low risk would be if this
release is with a bug in that particular
area, it's not a huge deal. So, I'm talking,
like, if you're calculating taxing
correctly if you're a retailer and
you're selling things like O'Reilly does,
and you're calculating taxing correctly
that's a very high risk area. If on your
login screen we decide that we wanted to
update the text in it, and there is a
spelling error, yeah, that's not good, no
defect is good, but it's very low risk,
it's not going to hurt the company, it's
not going to hurt your users. So, the
whole kind of idea is to, as new features
are being developed, develop and test the
high risk features first, be updating
your automation scripts, your manual test
cases alongside development, so as you
get the release candidate of your build,
you already have
automated coverage for all of
these new features, you already have your
tests updated, so your tests don't fail.
So, when you get the build you can run,
your full regression suite, and, in theory,
it should all work.
I mean, it's, you know, easier said
than done, there's a lot of extra stuff
going in there and enough things that
are never going to be perfect, but if you
develop and test, and develop automated
tests for your high-risk areas first,
you are ensuring the highest quality
software that you possibly can, and, if
you have time to get to the rest of the
stuff, yes, great, but it's not going to be
stuff that's going to necessarily hurt
your software in a bad way. It's very
interesting, I'm sure it's going to be
very exciting. Just a reminder for
everyone, this year, at the end of October,
in Boston, we are setting up our annual user
conference, and all community members
have a special ticket discount, so you
can find more information in the
Community, and as we started talking about
the SmartBear Community, can you give
some suggestions or tips for new
community members on how to earn the
Community Leader status? What should they
do exactly from your experience? What
have you done to earn this? So, definitely
try to help out as much as possible, but,
at the same time, don't necessarily just
do the work for the people asking
help, try to walk them through the
steps of how you would debug the
problem or figure out why something is
happening, ask them questions. Because a
lot of threads that I've been involved
in, it might be something very-very
simple, but I can see it right off, but
instead of just saying 'okay here is
exactly what's happening', I'll start
asking the requests or questions about
'ok, so, what do you expect to be happening
versus what is actually happening?' And,
more often than not with a few questions
like that it clicks in their head and
they start figuring out the answers
themselves, and, so, to me, that's what a
community should be about, it's not
necessarily about, you know, just giving
the answer straight out or telling
someone exactly how to do something
because just like software development,
test automation development is
still development, so there's a million
different ways to do everything that you
can possibly do, so, start getting them to
think about how to figure out the
solution as opposed to just giving them
one. Okay, and the flip side of that as far as
people requesting help,
the more information you
can provide, the better chances are
you're going to have someone be able to
help you figure out what's going on, you
know, sometimes, I'll see posts
people will say something doesn't work that
doesn't really tell us the people trying
to help you what is actually going on, so
even just a single thing like you know
what kind of application you're testing
if it's a browser, what browser, what
versions what OS, what version of
TestComplete, and then, kind of an expected
result versus actual result, so
kind of think when you're asking for
support how you would actually write up
a defect in the software you're testing,
the more information you provid to the
developers the more likely it is that
they're going to be able to turn around
a quick fix for the bug, same with
interacting with the Community, the more
information you provide with your
problem the quicker turnaround you're
going to get help from someone to figure
out why the problem you're having is
happening. Okay, great. Do you have any
specific questions you will prefer to
answer? Like any specific
questions inside the Community? Yeah. I
mean I try to help out as much as I can,
the days get busy, so I don't always
get to get on there. The ones
that I really like to help with are the
really challenging ones, like someone's
trying to do something that even I
haven't even tried to do yet. So, I'll
take what they're doing and try to
replicate it and try to wrap my head
around what they're doing because then
to me it's kind of a challenge for
myself, and it goes back to the very
first thing I said is always trying to
learn new things, better yourself, so you
can be a better tester or a better
developer, so, you know, there's anything
that's really kind of a challenge and
like 'oh I don't know why that's
happening', or 'I don't know exactly what
they're trying to do', trying to wrap my
head around that helps me grow, as well,
and then other people have questions
like that. Oh, yeah, I remember two months
ago someone was trying to do this exact
same thing. Okay, great, so, Community, now
you know that Carson likes
answering any questions, and he wants to
get from you as many information about
the problem, about the issue as
possible, so post your questions.
so, I would like to thank you for being
with the SmartBear Community and adding
a lot of value by sharing your
experience. We really appreciate it.
Do you have anything to add to this
interview, or, maybe, some words to
the community members. Yeah, I would
like to say thank you to SmartBear, as
well, and the Community, everybody
involved from the other Community
Leaders to the the members that probably
just signed up this morning, you know,
everybody's contributing together. The
more we can work together to find
solutions to things the better, and
that's one reason where I really
like TestComplete and SmartBear and the
rest of their products is there's a
great support network not only just from
the company but from the users, and that
is fantastic. I've, you know, I've
had to ask questions myself many times,
I've gotten great solutions to it, so,
thank you to you Tanya and everybody
else, and thank you very much for
providing me with this opportunity to get on
here and kind of talk for a while. Thank
you for your time and thanks for your
interview, and thanks for everything that
you're doing in the SmartBear Community.
Awesome, thank you, I'll see you guys in October!
And, see you in the SmartBear Community online.
Yes, thank you. Bye.