InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Improving Quality with "Developer Testing Masters"

Posted by Kurt Christensen on Mar 08, 2007

Sections
Process & Practices,
Architecture & Design,
Development
Topics
Agile ,
Software Testing
Tags
Testing ,
Agitar
Alberto Savoia of Agitar Software recently suggested the creation of a new position - Developer Testing Master - to bridge the gap between development and QA:
I believe that software development has gotten to the point where we need more specialization in testing. We need a new type of tester. One that will bridge the gap between development and QA. A champion that will leverage and maximize the developer testing effort. Let’s tentatively call this position Developer Testing Master (as in Build Master and Web Master) – feel free to suggest better names.
The responsibilities for a Developer Testing Master (DTM) would include:
Help to set-up a software development environment that enables continuous integration and testing.

Analyze the existing code base and recommend and/or implement re-designs and refactorings to make the code base testable.

Extend and customize xUnit framework to standardize and simplify unit test writing for the other developers.

Create and deliver basic unit testing training material to educate all developers in the art and science of unit testing.

Work with the team to decide on [and track] developer testing metrics and objectives.

Alberto goes on to describe the required qualifications for a DTM: "demonstrated passion for, and experience in, developer testing" as well as "leadership ability to evangelize, motivate, and train developers in the art and science of unit testing."

In the comments following Alberto's article, a common refrain is that the Developer Testing Master would simply be doing work that the development team itself should already be doing. Perhaps. But experienced agile practitioners know the difficulties of test-infecting a development team, as well as the difficulties of achieving a harmonious integration of developers and testers.

On most agile teams, however, the real gap exists at a higher level - customer acceptance testing. To this end, the Developer Testing Master could help realize acceptance test automation, using tools such as Fit or Watir or even WinRunner.

  • This article is part of a featured topic series on Agile

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

Not sure what to think by John Tyson Posted
  1. Back to top

    Not sure what to think

    by John Tyson

    As a professional tester, I'd just like to see dev more open to testing and sharing information.

    User acceptance test automation wouldn't make much sense for 2 reasons: 1) The customer needs to get hands-on experience test driving the application to make sure it does what they need it to do and 2) test automation needs to be re-run many times in order to justify the cost.

    Hopefully, UAT is not re-run at all, let alone many times - that would be a sign that the app was way off-course during development.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.