Gil Novak is an Automation Architect working in the Boston area.
Quality Testing interviewed him recently, to discuss about the
Importance of Automation.
We hope that this interview will be useful for you.
QT: Can you tell us a bit about yourself and what you
do?
GN: I started my career writing test code for operating
system (VMS) library routines and computer language (DEC C) run
time libraries. I've done test development for API and SDK
products, and also for web services products. Most recently in my
career, I've done testing infrastructure creation using continuous
integration servers (CruiseControl.Net, Bamboo, TeamCity, and
Hudson). I've often done some work with release engineering and
build scripts on integration build boxes, as well as automated
installations of build artifacts onto virtual machines, followed by
automated smoke tests of those installations.
QT: How does your day start and how does your day end? What all
do you do in a day that corresponding to testing?
GN: In the earlier part of my career, it was all about
creating test cases and executing them. Lately it's more about
getting all the pieces for an infrastructure in place and
integrated together to become a smoothly running process, that then
enables other testers to add tests to the infrastructure.
QT: What are the most common performance related mistakes that
you have seen in the projects (java applications)?
GN: Performance coding is more about tuning and refactoring
designs. You can start off with a design that is meant to achieve a
certain measure of throughput or latency, and you can test in
"production-like" environments and achieve a performance goal, but
until you actually roll it out to production, you won't be able to
predict all the factors that will impact performance. The best
thing to do is to instrument your code up front to report timing
measurements in the application log files. After that, when you
find bottlenecks, you will modify the test environment to reproduce
that bottleneck, and then go through some more tuning cycles with
dev and qa.
QT: As a Test Engineer, What are the scripting languages should
learn?
GN: First, the basics: bash and DOS batch. When you are
comfortable manipulating files and strings, move on to whatever the
latest and greatest scripting languages there are. These days it's
python, although perl is still quite popular.
QT: What is your advice to people who want to learn automated
testing tools on their own?
GN: Find tutorials online and work through the examples.
Keep your copy of the examples organized so you can go back to them
later for reference. Try modifying them to answer your own
questions like, "what happens if I change this code that way?"
QT: What is your favorite Functional, Performance, Test
Management and Security Open Source Automation Tools and
Why?
GN: Early in my career, I used the home-grown tools produced
at the companies I worked at. At Digital Equipment Corp, they used
DTM (DEC Test Manager). Later, I created my own tools in C, C++,
and bash. I've tried TETware in the past, and it was useful. Lately
though, the *unit frameworks (JUnit, NUnit, HTTPunit, etc.) are
what I used predominantly. For performance testing, I've used
JMeter. For Test Management, I've designed a TCMS in 1998. In 2003,
I hired a qa engineer who created one using PHP & MySQL. I've
used HP Quality Center, which was ok, and I've also used TestLink
which was awful. I also use Selenium extensively, both version 1
and the most recent alpha versions of version 2, which has Google's
WebDriver integrated into it.
QT: What things should a novice tester do to enhance his/her
automation testing skills for a better growth in the
career?
GN: Get a computer science degree. The more you understand
about how the software is built, the more of a white box tester
you'll be.
QT: Is there any particular certification that you
recommend?
GN: QA certifications are still of unknown value in the
industry. Don't waste your time learning things to pass somebody's
test. College courses would hold more weight.
QT: What’s the difference between a good tester and a great
tester?
GN: Qualifying a great tester would be done by who? The
tester's manager. There are various "missions" that test managers
have. The mission might be to get as many manually tests executed
as possible, or it might be to find as many bugs as possible, or
maybe to have as thorough of a test design as possible, so that
subsequent work produced the most functional coverage possible.
Make your manager's mission a success, and you become a great
tester.
QT: Any message to Quality Testing (QT) Members?
GN: I'd recommend this book: "Lessons Learned in Software
Testing," by C. Kaner, J. Bach, and B. Pettichord (2001). Are you a
software tester? Is that your career of choice? Don't just do qa
because you're not smart enough to be a developer. One way to make
more money is to do things that nobody else wants to do. Developers
don't want to do qa work. But as long as they are pressured to pump
out complex code on tight deadlines, there will be mistakes and
bugs to be found. Understand that, and help the team make the
software better before release.
---------------------------------------------------------------------------------------------------------------------------------------------------
Dear QT Members,
We wish him all the very best in professional and personal
life.
Thanks & Regards,
Kiran Kumar | Founder | Quality Testing
www.qualitytesting.info
Email: kiran@qualitytesting.info
Twitter:
www.twitter.com/chkirankumar
You need to be a member of Quality Testing to add comments!
Join Quality Testing