Tester Developers, Developer Testers

I spent this last weekend at AWTA, the Austin Workshop on Test Automation. Our official topic was Open Source Testing Frameworks. Before the meeting, I figured we’d discuss experience reports about how folks used Watir/Selenium/xUnit/CruiseControl/etc. and Ruby/Perl/Python/etc. to cobble together totally automated, lights out, acceptance testing solutions.

We did discuss topics like that. Bob Cotton showed us some very cool code integrating SeleniumRC and rspec. Jeff Fry showed some excellent Ruby code that generated tests on the fly. Some folks got together and spiked an integration of Selenium and Watir. (Brian Marick dubbed it “Mineral Watir.” Oooh. Bubbly.) Paul Rogers and David Crosby both spent time pairing with me to improve my Web 2.0 testing example, digging into JSUnit, Selenium, and the unittest.js library from Prototype. (Yes, I’ll get around to posting code sometime soon.)

And we did talk about how any given Open Source test automation approach intevitably involves integrating multiple pieces.

But what I didn’t expect to happen is that the discussion would turn to how developers are becoming testers and testers are becoming developers. In retrospect, I should have known it would happen. The subject is bound to come up when a bunch of developers who are passionate about testing hang out with a bunch of testers who spend a lot of their time writing code.

And it seems we weren’t the only ones thinking about this topic. Chris McMahon kindly alerted me to Steve Rowe’s excellent post about Test Developers.

So this has me thinking.

Tester-developers and developer-testers aren’t new. But we seem to be a hidden sub-community. We sometimes have titles like “Tool Smith,” but more often we have titles that look like most other tester or developer titles: “Senior Test Engineer” or somesuch.

But the role is growing.

I think that’s partly because large, successful companies are leading the way. Microsoft has a special job class and title: “Software Development Engineer in Test.” And I have heard unsubstantiated rumors that interviewing for a test position with Google involves answering questions about algorithm design.

I also think Agile is contributing to the growth in the role. Agile teams tend to blur the distinction between jobs, particularly developers and testers. Agile developers are test infected, and Agile testers tend to spend time mucking about in code. As Agile grows, so the hyphenated tester-developer/developer-tester role grows.

So, if the number of people doing both test and development growing, where are we gathering as a community?

One gathering place is online communities.  The agile-testing mail list is chock full of folks who both test and develop.

Another natural place for a community to gather is at a conference.  AWTA was a gathering place on a small scale. But when I look at the major conferences, they’re pitched to Developers (SDWest), Testers (STAR), or Everyone (Agile, Better Software).

I want more opportunities to share experiences, write code together, and learn from each other.

So, if you’re a tester-developer/developer-tester, where do you go to share test code, talk about test refactoring strategies, or exchange notes on test frameworks and scripting languages?
Oh, and if you have a blog related to ( testing && development ), please post a link in the comments!

9 thoughts on “Tester Developers, Developer Testers

  1. Chris, I love your post.

    Everyone else, I hope you’ll follow Chris’ link above and read his most excellent post in which he explores the difference between tester-developers and developer-testers.

    I still stand behind what I said about finding places where we can all hang out together because we need to learn from each other. But Chris is right, the distinction matters.

    And thank you, Chris, for reminding me about Better Software’s contribution as well.

  2. It’s blogs like this – and Chris’s – that are a great help to me, a developer turned tester ( so I’ve turned from a devloper-tester into a tester-developer ) especially when the company I work for still has the attitude that “anyone can test” despite the evidence from our customers that they cant.

    Antony Marcano would be shocked if I didnt mention the most excellent testing reflections website which of course you have linked

    I really appreciate all the blogs out there, not just for the ideas but also for helping me think that I am not alone

  3. “And I have heard unsubstantiated rumors that interviewing for a test position with Google involves answering questions about algorithm design.”

    Elisabeth, I can substantiate the rumors for you. 🙂 You heard it here first — I recently accepted a position as “Software QA Engineer” at Google, starting in Mountain View in February. (Turns out that Selenium is one of their standard testing tools.) And yes, every interview along the way (2 technical phones screens, 5 in person interviews — over 3 months) involved algorithm design (and, of course, a discussion on how to test them).

    I’ve been a developer-tester for quite awhile, and am happy to see the blurring of the line between development and testing become more mainstream.

    Also, for those looking for a “Selenium but with a Watir-like API in Ruby”, check out Shane Duan’s new Ruby/Selenium wrapper project:

  4. Hi Guys,

    Thanks for the
    FYI – I’m strictly in the tester > developer camp. I find the one thing I constantly have to check myself on is the “test purpose” behind any code I might write. It’s very easy for me to get distracted (even though it’s through enthusiasm) into intellectual / discovery exercises. This forces me to into a habit of reminding myself that the goal sometimes needs to be achieved without any interesting diversions 🙂

    Perhaps it’s a consequence of breaking new ground. Does anyone else find this to be an issue with dev > test or test > dev work?

  5. Great post. I think the intersections of development and test are quite interesting, and under researched areas. Does anyone else wonder why it’s so hard to find a good course on serious testing at a major university? I think it’s because very few people are doing research in this area, and hence have no background in testing, and hence teach no courses on testing.

    In any case, you asked for blogs, and I like to rant about testing on my blog here:


  6. You can also check SWExplorerAutomation from http://webiussoft.com. SWEA. SWEA can to be used by developers and testers. SWEA records replays and generates test script code. SWEA was designed to support complex Web 2.0 (AJAX) applications.

  7. I’ve had titles of:
    – QA Analyst
    – QA Engineer
    – Sr. QA Engineer
    – Application Specialist
    – Project Manager
    – Sr. Performance Engineer
    – Performance & Scalability Tools Developer

    Titles are the names that someone sticks on your business cards.. but my role in every case always ended up being what I can only describe as Developer/Tester.

    my term for this: Develester

    blog: http://www.goldb.org/goldblog

Comments are closed.