The Artima Developer Community
Sponsored Link

News & Ideas Forum (Closed for new topic posts)
Test-First Design, Exploratory Testing, and Agile Process

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Bill Venners

Posts: 2284
Nickname: bv
Registered: Jan, 2002

Test-First Design, Exploratory Testing, and Agile Process Posted: Nov 7, 2002 12:14 PM
Reply to this message Reply
Advertisement
Brian Merick states, "The desire to have tests that run fast and provide a good idea of your status leads to positive design changes that make the program more maintainable and more flexible," in a RationalEdge interview by Sam Guckenheimer.

http://www.therationaledge.com/content/oct_02/f_testFirstDesign_sg.jsp

Here's an excerpt:

So to make testing easier, I changed my plan for the structure of the program from the obvious -- GUI and business logic all glommed together into one application, one executable process -- to a Web Services type of structure. Then I start thinking, "Maybe I'll put in an HTML front end so I can record my time from any place I have a Web browser. Or, since this is something like SOAP, which lets you talk from anywhere on the network, I could write a GUI client that talks to this central server." And all of a sudden, I have given this simple, dumb, little app running on a Macintosh the ability to be much more flexible. And I don't know if I will ever do any of this stuff, but I have the ability to do it. And this is quite similar to what programmers experience with test-first design. The desire to have tests that run fast and provide a good idea of your status leads to positive design changes that make the program more maintainable and more flexible.

People typically say you need a clean interface between the business logic and the GUI, but here I have a GUI that is physically separated from the business logic by a network -- which makes it much more difficult to break modularity. Plus, I need to keep the tests running -- and that discourages me from cheating and forgetting the motivation for the separation.


What do you think of Brian Merick's comments?

Topic: Processing XML with Java Previous Topic   Next Topic Topic: Coding Your Own Standard and Dynamic MBeans

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use