Dolphin 5 at Smalltalk Solutions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
Chet Hendrickson and I will be doing a pair programming / test-driven design
session. I think Ann Anderson will be there as well.

Thanks to a special arrangement with Object Arts, we'll be doing the
demonstration using Dolphin Version 5, with the refactoring browser!

We'll describe a small problem, think about a design, then develop the program
test-first. We'll be demonstrating radically frequent use of SUnit, refactoring
as we go, and then we'll take questions and discussion of the techniques, the
result, and what they may mean to your work.

Chet, Ann, and I will be there to have a good time. Come along and help, and see
the new Dolphin 5 in action.

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Jeffrey Odell-2
Will you be using the SUnit Browser?  At least then I'll be there in
spirit ;>

jlo

Ron Jeffries wrote:

> Chet Hendrickson and I will be doing a pair programming / test-driven design
> session. I think Ann Anderson will be there as well.
>
> Thanks to a special arrangement with Object Arts, we'll be doing the
> demonstration using Dolphin Version 5, with the refactoring browser!
>
> We'll describe a small problem, think about a design, then develop the program
> test-first. We'll be demonstrating radically frequent use of SUnit, refactoring
> as we go, and then we'll take questions and discussion of the techniques, the
> result, and what they may mean to your work.
>
> Chet, Ann, and I will be there to have a good time. Come along and help, and see
> the new Dolphin 5 in action.
>
> Ronald E Jeffries
> http://www.XProgramming.com
> http://www.objectmentor.com
> I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
On Thu, 18 Apr 2002 07:11:05 -0400, Jeffrey Odell <[hidden email]> wrote:

>Will you be using the SUnit Browser?  At least then I'll be there in
>spirit ;>

I think I don't know what that is. Does it ship with the package? Tell me what
it is?

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
In reply to this post by Jeffrey Odell-2
On Thu, 18 Apr 2002 07:11:05 -0400, Jeffrey Odell <[hidden email]> wrote:

>Will you be using the SUnit Browser?  At least then I'll be there in
>spirit ;>

Ah, my brain engaged. I know what it is. I'll see if we can use it ... not sure
it'll fit the flow but what the heck ...

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Jeffrey Odell-2
If your XP session includes running the original SUnit UI, then this one
should work for you as an enhanced browser for SUnit.  Unfortunately I
won't be there, but it should be plug compatible with your tests, and if
it is not I'd sure like to fix that.

I think this browser helps doing XP, and I'd really benefit from your
take on it if you get a chance to use it.  I'd like to keep improving it
over time.

jlo

Ron Jeffries wrote:

> On Thu, 18 Apr 2002 07:11:05 -0400, Jeffrey Odell <[hidden email]> wrote:
>
>
>>Will you be using the SUnit Browser?  At least then I'll be there in
>>spirit ;>
>
>
> Ah, my brain engaged. I know what it is. I'll see if we can use it ... not sure
> it'll fit the flow but what the heck ...
>
> Ronald E Jeffries
> http://www.XProgramming.com
> http://www.objectmentor.com
> I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
On Sat, 20 Apr 2002 11:54:08 -0400, Jeffrey Odell <[hidden email]> wrote:

>If your XP session includes running the original SUnit UI, then this one
>should work for you as an enhanced browser for SUnit.  Unfortunately I
>won't be there, but it should be plug compatible with your tests, and if
>it is not I'd sure like to fix that.
>
>I think this browser helps doing XP, and I'd really benefit from your
>take on it if you get a chance to use it.  I'd like to keep improving it
>over time.

Are we talking about the same thing? The browser that has a list of the test
classes, and the little list of how they scored, a run button, the list of
methods over on the right?

It's interesting but I'm not sure just how it helps me moment to moment. Tell me
a bit about how you use it?

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Jeffrey Odell-2
You mentioned you were doing test driven design.  I assumed you were
using SUnit.  The SUnit Browser is just there to make using SUnit a
little easier.

If you open the browser from the icon in the Dolphin Additional Tools
window you'll get a list of all your Test Case subclasses.

If you open the browser on a TestCase subclass (using the right click
menu), it opens up a TestSuite on that TestClass.  Open it on an
abstract superclass under TestCase, you get a Suite for each concrete
TestCase subclass.

Add a test to the TestCase subclass, hit the refresh button, and the
browser resets with your new method in the list. Rerun.  Iterate. If a
test fails, double click it and the class browser opens on it.

I hope it enhances the test first process, but I haven't had a chance to
observe the approach various folks take, so I wanted to see how well it
fit in for you.

jlo

Ron Jeffries wrote:

> On Sat, 20 Apr 2002 11:54:08 -0400, Jeffrey Odell <[hidden email]> wrote:
>
>
>>If your XP session includes running the original SUnit UI, then this one
>>should work for you as an enhanced browser for SUnit.  Unfortunately I
>>won't be there, but it should be plug compatible with your tests, and if
>>it is not I'd sure like to fix that.
>>
>>I think this browser helps doing XP, and I'd really benefit from your
>>take on it if you get a chance to use it.  I'd like to keep improving it
>>over time.
>
>
> Are we talking about the same thing? The browser that has a list of the test
> classes, and the little list of how they scored, a run button, the list of
> methods over on the right?
>
> It's interesting but I'm not sure just how it helps me moment to moment. Tell me
> a bit about how you use it?
>
> Ronald E Jeffries
> http://www.XProgramming.com
> http://www.objectmentor.com
> I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Steve Waring-2
In reply to this post by Ron Jeffries-2
Hi Ron,

> It's interesting but I'm not sure just how it helps
> me moment to moment. Tell me a bit about how
> you use it?

I have been using Jeffrey's SUnit Browser, and I do find it easier to use
for
the following reasons:

I always have a CHB open on my TestCases. Being able to select a class and
run it's tests (the CHB Class pane "Tests/Run" context menu command) is
handy. I can also select an abstract class and the SUnitbrowser will open
and run the subclasses tests. I find this more natural than opening the
TestRunner and using the drop-down box to select the TestCase/TestSuite.

I find it quicker to select and open a debugger on a failing or error test,
because the tests are listed rather than in a drop-down box.

I like being able to select a single test, and step into it or run it, as
well as debug it.

A typical use case for me is:
  -Write a new test in my TestCase CHB.
  -Run the TestCase's tests (right-click "Tests/Run"). This will open a
SUnitBrowser if it is not already open.
  -Open a debugger on a failing/error test (right-click "Debug").
  -Work.
  -Select the single test that was the problem, and "Run" it again.

I find that I can do this quicker and more easily in SUnitBrowser than I can
in the TestRunner. It may only save one or two mouse-clicks, but they add up
over time.

Thanks Jeffrey!

Steve Waring


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
In reply to this post by Jeffrey Odell-2
I'll just babble here and in the next reply, in hopes that you'll be able to
figure out why I'm not "getting it".

On Sat, 20 Apr 2002 18:07:52 -0400, Jeffrey Odell <[hidden email]> wrote:

>You mentioned you were doing test driven design.  I assumed you were
>using SUnit.  

Yes.

>The SUnit Browser is just there to make using SUnit a
>little easier.

Yes. I'm trying to understand how it accomplishes that.
>
>If you open the browser from the icon in the Dolphin Additional Tools
>window you'll get a list of all your Test Case subclasses.

Yes ...
>
>If you open the browser on a TestCase subclass (using the right click
>menu), it opens up a TestSuite on that TestClass.  

I didn't know it could do that. The TestSuite's right pane seems oddly
redundant. Does the right pane do something that I'm still missing?

If I could see and edit the method code from here I might like that more ...

>Open it on an
>abstract superclass under TestCase, you get a Suite for each concrete
>TestCase subclass.

Unable to try this. I don't often use abstract testcases, and didn't have time
to write one. I suppose it looks just like the one that opens from the
Additional Tools?
>
>Add a test to the TestCase subclass, hit the refresh button, and the
>browser resets with your new method in the list. Rerun.  Iterate. If a
>test fails, double click it and the class browser opens on it.

Semi-interesting. It opens a new browser every time. I'd rather stay in one
browser per class.

Once in D5 I had this fail. Couldn't reproduce it. If it happens again I'll
capture the walkback. I think it was in a method named #browseHierarchy (:?)
>
>I hope it enhances the test first process, but I haven't had a chance to
>observe the approach various folks take, so I wanted to see how well it
>fit in for you.

I'll play with it and see. Further comments in the next reply ... thanks!

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Ron Jeffries-2
In reply to this post by Steve Waring-2
Thanks for more feedback on how you use this thing. That's what I'm trying to
understand: why people like it.  Comments within ...

On Sun, 21 Apr 2002 08:56:00 +1000, "Steve Waring" <[hidden email]> wrote:

>Hi Ron,
>
>> It's interesting but I'm not sure just how it helps
>> me moment to moment. Tell me a bit about how
>> you use it?
>
>I have been using Jeffrey's SUnit Browser, and I do find it easier to use
>for
>the following reasons:
>
>I always have a CHB open on my TestCases. Being able to select a class and
>run it's tests (the CHB Class pane "Tests/Run" context menu command) is
>handy. I can also select an abstract class and the SUnitbrowser will open
>and run the subclasses tests. I find this more natural than opening the
>TestRunner and using the drop-down box to select the TestCase/TestSuite.

I always have a TestRunner open. That's how I get my testing fix every two
minutes. The Tests/Run might be useful. I think I might prefer that to hook to
the TestRunner though. And as I mentioned, I don't like that it opens a new
window every time I blink. (Ah, I see that sometimes it doesn't. Nicer than I
had noticed ...)
>
>I find it quicker to select and open a debugger on a failing or error test,
>because the tests are listed rather than in a drop-down box.

Yes. I'm not sure I'd use either of them that way. I don't need a list of all
tests, I just need a list of failing tests.
>
>I like being able to select a single test, and step into it or run it, as
>well as debug it.

Yes, that's very nice. I think I'd put it in the CHB if it were me ...
>
>A typical use case for me is:
>  -Write a new test in my TestCase CHB.
>  -Run the TestCase's tests (right-click "Tests/Run"). This will open a
>SUnitBrowser if it is not already open.
>  -Open a debugger on a failing/error test (right-click "Debug").
>  -Work.
>  -Select the single test that was the problem, and "Run" it again.

I would always rerun them all. Takes essentially no more time and saves all that
thinking and all that later saying "Damn".
>
>I find that I can do this quicker and more easily in SUnitBrowser than I can
>in the TestRunner. It may only save one or two mouse-clicks, but they add up
>over time.

Yes. When mouse time is what's really slowing me down I'll worry about that
more. Right now it is thinking that slows me down. But I agree, things want to
be right at the fingertips.

For example, rightclick, drag, drag out isn't really the fastest way I think
think of to run a test.

I'll play with it a bit and see what I think, now that I have an idea of how
people use it.
>
>Thanks Jeffrey!

Indeed ...
>Steve Waring

And thank you.

Ronald E Jeffries
http://www.XProgramming.com
http://www.objectmentor.com
I'm giving the best advice I have. You get to decide whether it's true for you.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Steve Waring-2
Hi Ron,

> the TestRunner though. And as I mentioned, I don't like that it opens a
new
> window every time I blink. (Ah, I see that sometimes it doesn't. Nicer
than I
> had noticed ...)

If you have the #reuseIfOpen aspect set to true, "Tests/Run" will open a new
browser or reuse the existing one. It means I dont have to think whether the
browser is open or not. One less thing :)

TestRunner could be set up in the same way by moving it to be a subclass of
SmalltalkToolShell.

> Yes, that's very nice. I think I'd put it in the CHB if it were me ...

Yes, that would be a nice option.

> For example, rightclick, drag, drag out isn't really the fastest way I
think
> think of to run a test.

In the earlier Dolphin 4 versions of SUnitBrowser, there was an option to
place "Run Tests" at the top of the menu. I have made this modification in
the later versions and no thought takes place between writing tests and
running them.

There is a nice way to add these options in the later version, I'll speak to
Jeff and see what he thinks.

Thanks,
Steve


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 5 at Smalltalk Solutions

Jeffrey Odell-2
In reply to this post by Ron Jeffries-2
Ron - thanks for taking the time to work through this.  Seeing other's
work styles would help me improve the browser, I'm sure.  I'm sorry I'm
missing SS2002 this year (first time ;<) - I would learn a lot from
watching.

I'll just address a couple things - thanks to Steve for jumping in and
answering most everything ;>

- If you open the browser on one suite only, then the right pane is
redundant.  I took advantage of the largely Composite nature of
TestCases and TestSuites to list the detailed Test Cases in the left
pane when there is only one TestSuite.  That might be more confusing
than useful.  Or, I could hide the right pane.

- Opening on multiple suites makes the right pane useful.

- You can filter only the failing tests.  De-select menu item
Configuration>Show All Results.  It then shows the failures across all
Suites in left pane.  In this state, the right is redundant ;<

Thanks again - I'll try and incorporate any and all comments into a
newer and better release!

jlo


Ron Jeffries wrote:

> Thanks for more feedback on how you use this thing. That's what I'm trying to
> understand: why people like it.  Comments within ...
>
> On Sun, 21 Apr 2002 08:56:00 +1000, "Steve Waring" <[hidden email]> wrote:
>
>
>>Hi Ron,
>>
>>
>>>It's interesting but I'm not sure just how it helps
>>>me moment to moment. Tell me a bit about how
>>>you use it?
>>
>>I have been using Jeffrey's SUnit Browser, and I do find it easier to use
>>for
>>the following reasons:
>>
>>I always have a CHB open on my TestCases. Being able to select a class and
>>run it's tests (the CHB Class pane "Tests/Run" context menu command) is
>>handy. I can also select an abstract class and the SUnitbrowser will open
>>and run the subclasses tests. I find this more natural than opening the
>>TestRunner and using the drop-down box to select the TestCase/TestSuite.
>
>
> I always have a TestRunner open. That's how I get my testing fix every two
> minutes. The Tests/Run might be useful. I think I might prefer that to hook to
> the TestRunner though. And as I mentioned, I don't like that it opens a new
> window every time I blink. (Ah, I see that sometimes it doesn't. Nicer than I
> had noticed ...)
>
>>I find it quicker to select and open a debugger on a failing or error test,
>>because the tests are listed rather than in a drop-down box.
>
>
> Yes. I'm not sure I'd use either of them that way. I don't need a list of all
> tests, I just need a list of failing tests.
>
>>I like being able to select a single test, and step into it or run it, as
>>well as debug it.
>
>
> Yes, that's very nice. I think I'd put it in the CHB if it were me ...
>
>>A typical use case for me is:
>> -Write a new test in my TestCase CHB.
>> -Run the TestCase's tests (right-click "Tests/Run"). This will open a
>>SUnitBrowser if it is not already open.
>> -Open a debugger on a failing/error test (right-click "Debug").
>> -Work.
>> -Select the single test that was the problem, and "Run" it again.
>
>
> I would always rerun them all. Takes essentially no more time and saves all that
> thinking and all that later saying "Damn".
>
>>I find that I can do this quicker and more easily in SUnitBrowser than I can
>>in the TestRunner. It may only save one or two mouse-clicks, but they add up
>>over time.
>
>
> Yes. When mouse time is what's really slowing me down I'll worry about that
> more. Right now it is thinking that slows me down. But I agree, things want to
> be right at the fingertips.
>
> For example, rightclick, drag, drag out isn't really the fastest way I think
> think of to run a test.
>
> I'll play with it a bit and see what I think, now that I have an idea of how
> people use it.
>
>>Thanks Jeffrey!
>
>
> Indeed ...
>
>>Steve Waring
>
>
> And thank you.
>
> Ronald E Jeffries
> http://www.XProgramming.com
> http://www.objectmentor.com
> I'm giving the best advice I have. You get to decide whether it's true for you.