FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Development Tools
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
October 17, 2006
Five Questions With Scott W. Ambler

Michael Hunter
Michael Hunter ask the agile guru about the state of software testing today.
Those of you who are regular readers of DDJ are likely familiar with Scott W. Ambler, as he writes the magazine's "Agile Edge" column. IBMers likely know him from his current role as Practice Leader Agile Development in IBM's Methods group. Others of you may have come to know him, as did I, through his ever-popular talks at Software Development and other conferences. Scott was talking about refactoring databases while most of us were just learning how to refactor our code (see his latest book Refactoring Databases: Evolutionary Database Design to learn more).

Scott is never afraid to voice his definite opinions about how things should be done, which tends to make his workshops fun <g/>. Although not one of the founding signatories of the Agile Manifesto, I view Scott as a thought leader in that area. Agile Modeling? Scott. Agile Data? Scott. Agile Unified Process(!)? Scott. So where is Agile Testing, I want to know! <g/>

Here is what Scott has to say:

DDJ: What was your first introduction to testing? What did that leave you thinking about the act and/or concept of testing?
SWA: My first introduction to testing was way back in the early 1980s when I was programming Fortran on cards. Yes, cards. The development cycle was a bit different than what it is today. I'd start by getting the printout(s) from the night before, hoping that the run had succeeded. I'd look at the printout, which included the most recent version of the code as well as the actual output from the program (if it had run). During development, the code would include statements which output the current state of key variables at the time at specific breakpoints, enabling me to debug the run. I would pore over the output, verifying whether it was what I expected or determining what went wrong. ' The most important lesson I got out of that experience was how important it was to have solid testing skills. If you injected a bug you wanted to find it as quickly as possible. I could only build once a day, so I was motivated to test thoroughly so that I could find a bug within as few builds as possible.

DDJ: What has most surprised you as you have learned about testing/in your experiences with testing?
SWA: I'm surprised that we're still struggling as an industry to get good at testing. There are still gaping holes in the overall process. For example, have you ever heard data professionals talk coherently about having a full regression test suite for a database? They'll talk about the importance of data quality, they'll talk about the importance of implementing functionality in the database, but when it comes to database testing? Dead silence. We need to raise the bar. I've written a fair bit on this topic at www.agiledata.org/essays/databaseTesting.html, but it's just a start.

DDJ: How would you describe your testing philosophy?
SWA: 1. If it's worth creating, it's worth testing. Corollary: If it's not worth testing, why did you create it? 2. Test often and test early. Better yet, test first.

DDJ: What do you think is the most important thing for a tester to know? To do? For developers to know and do about testing?
SWA: Developers, anyone for that matter, should strive to create the best product possible before providing it to someone else. No more "throwing crap over the wall" to the testers.

DDJ: What do you see as the biggest challenge for testers/the test discipline for the next five years?
SWA: Testers need to become more agile. Agilists are "test infected" -- we're very pro testing. But testing on an agile project is different than testing on a traditional project. You'll more than likely need to become embedded within the team, you'll need to learn to work with unfinished products, and you'll need to accept that those unfinished products will evolve and pass through your hands many times.

DDJ: Going meta (to channel Jerry Weinberg), what else should I ask you?
SWA: How are my puppies?

DDJ: What would you answer?
SWA: Luke and Leia are doing fine, thank you. ;-)

TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK