Jump to page: 1 218  
Page
Thread overview
TDD is BS?
Jun 19, 2013
Szymon Gatner
Jun 19, 2013
Paulo Pinto
Jun 19, 2013
Jacob Carlborg
Jun 19, 2013
Paulo Pinto
Jun 19, 2013
Jacob Carlborg
Jun 19, 2013
qznc
Jun 19, 2013
Regan Heath
Jun 19, 2013
Szymon Gatner
Jun 19, 2013
Regan Heath
Jun 19, 2013
irritate
Jun 19, 2013
bearophile
Jun 19, 2013
H. S. Teoh
Jun 19, 2013
Jacob Carlborg
Jun 19, 2013
H. S. Teoh
Jun 19, 2013
Szymon Gatner
Jun 20, 2013
Jacob Carlborg
Jun 19, 2013
Jonathan M Davis
Jun 20, 2013
Sean Kelly
Jun 21, 2013
Nick Sabalausky
Jun 20, 2013
eles
Jun 21, 2013
Nick Sabalausky
Jun 19, 2013
Jonathan M Davis
Jun 19, 2013
Szymon Gatner
Jun 19, 2013
irritate
Jun 19, 2013
Paulo Pinto
Jun 19, 2013
Jacob Carlborg
Jun 19, 2013
Paulo Pinto
Jun 20, 2013
Jacob Carlborg
Jun 23, 2013
Paulo Pinto
Jun 23, 2013
Jacob Carlborg
Jun 19, 2013
deadalnix
Jun 19, 2013
Jesse Phillips
Jun 19, 2013
Jesse Phillips
Jun 19, 2013
Walter Bright
Jun 19, 2013
Szymon Gatner
Jun 19, 2013
Walter Bright
Jun 20, 2013
Chris Cain
Jun 20, 2013
H. S. Teoh
Jun 20, 2013
Nick Sabalausky
Jun 21, 2013
Jacob Carlborg
Jun 20, 2013
Paulo Pinto
Jun 20, 2013
Chris Cain
Jun 20, 2013
Paulo Pinto
Jun 20, 2013
Nick Sabalausky
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
Sean Kelly
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
Nick Sabalausky
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Jacob Carlborg
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
Joakim
Jun 20, 2013
w0rp
Jun 20, 2013
Joakim
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
deadalnix
Jun 20, 2013
H. S. Teoh
Jun 21, 2013
Nick Sabalausky
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Nick Sabalausky
OT: CS education gone wrong (Was: Re: TDD is BS?)
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
Adam D. Ruppe
Jun 21, 2013
Adam D. Ruppe
Jun 21, 2013
Adam D. Ruppe
Jun 21, 2013
Walter Bright
Jun 21, 2013
H. S. Teoh
Jun 22, 2013
Jacob Carlborg
Jun 22, 2013
Andrej Mitrovic
Jun 22, 2013
Adam D. Ruppe
Jun 22, 2013
Andrej Mitrovic
Jun 22, 2013
Walter Bright
Jun 22, 2013
Andrej Mitrovic
Jun 22, 2013
Walter Bright
Jun 21, 2013
Adam D. Ruppe
Jun 22, 2013
Jérôme M. Berger
Jun 22, 2013
Adam D. Ruppe
Jun 22, 2013
Adam D. Ruppe
Jun 23, 2013
Adam D. Ruppe
Jun 23, 2013
Adam D. Ruppe
Jun 23, 2013
Dicebot
Jun 23, 2013
Adam D. Ruppe
Jun 24, 2013
deadalnix
Jun 24, 2013
Dicebot
Jun 24, 2013
Adam D. Ruppe
Jun 24, 2013
Dicebot
Jun 24, 2013
deadalnix
Jun 24, 2013
Dicebot
Jun 23, 2013
Adam D. Ruppe
Jun 23, 2013
Adam D. Ruppe
Jun 24, 2013
Adam D. Ruppe
Jun 23, 2013
Dicebot
Jun 23, 2013
Adam D. Ruppe
Jun 24, 2013
Dicebot
Jun 21, 2013
H. S. Teoh
Jun 22, 2013
deadalnix
Jun 22, 2013
Jacob Carlborg
Jun 22, 2013
Peter Alexander
Jun 21, 2013
Wyatt
Re: OT: CS education gone wrong (Was: Re: TDD is BS?)
Jun 21, 2013
Andrej Mitrovic
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
Andrej Mitrovic
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
Andrej Mitrovic
Jun 21, 2013
Paulo Pinto
Jun 27, 2013
Walter Bright
Jun 21, 2013
Walter Bright
Jun 21, 2013
John Colvin
Jun 21, 2013
Walter Bright
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Walter Bright
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
John Colvin
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
H. S. Teoh
Jun 21, 2013
Nick Sabalausky
Jun 21, 2013
H. S. Teoh
Jun 26, 2013
Nick Sabalausky
Jun 26, 2013
Nick Sabalausky
Jun 26, 2013
H. S. Teoh
Jun 27, 2013
Nick Sabalausky
Jun 22, 2013
Jacob Carlborg
Jun 22, 2013
Jacob Carlborg
Jun 22, 2013
Jacob Carlborg
Jun 22, 2013
QAston
Jun 22, 2013
Jacob Carlborg
Jun 21, 2013
Nick Sabalausky
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
Walter Bright
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
Walter Bright
Jun 21, 2013
Jacob Carlborg
Jun 21, 2013
Walter Bright
Jun 21, 2013
Simen Kjaeraas
Jun 21, 2013
H. S. Teoh
Jun 22, 2013
Jacob Carlborg
Jun 20, 2013
Timon Gehr
Jun 19, 2013
Jonathan M Davis
Jun 19, 2013
Szymon Gatner
Jun 19, 2013
Jonathan M Davis
Jun 19, 2013
Szymon Gatner
Jun 20, 2013
Jonathan M Davis
Jun 20, 2013
Jacob Carlborg
Jun 27, 2013
Nick Sabalausky
Jun 19, 2013
Nick Sabalausky
Jun 20, 2013
Jacob Carlborg
Jun 20, 2013
deadalnix
Jun 22, 2013
QAston
Jun 27, 2013
Nick Sabalausky
Jun 19, 2013
Jonathan M Davis
Jun 20, 2013
Sean Kelly
Jun 21, 2013
deadalnix
June 19, 2013
This is not strictly D related but I am very curious about D's community opinion on the points made by non other than Jim Coplien here:

http://www.tele-task.de/archive/video/flash/16130/

D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?

Article about the myths of TDD referenced in the talk:

http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1027&context=csse_fac
June 19, 2013
On Wednesday, 19 June 2013 at 11:01:05 UTC, Szymon Gatner wrote:
> This is not strictly D related but I am very curious about D's community opinion on the points made by non other than Jim Coplien here:
>
> http://www.tele-task.de/archive/video/flash/16130/
>
> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?
>
> Article about the myths of TDD referenced in the talk:
>
> http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1027&context=csse_fac

I do believe in testing and while I seldom use D, the JVM and .NET projects I take part on, have usually a focus on unit testing.

However, testing is done in parallel with coding or on the final week of each sprint. I don't believe in TDD without design, coding without design is cowboy coding where the system architecture ends up full with broken design.

TDD, mocking and so on, is nice product to sell in conferences presented with dynamic languages where the presenter has full control of all libraries. This is surely not the case in the enterprise with strong typed languages, where most of the third party libraries are available in binary form only.

Additionally I am yet to find any form of unit testing that is possible to apply to UI code, in a way that the ROI really pays off.

Finally, 100% test coverage does not mean anything if the tests are not written in a way to really test the product. If you want to see a junk pile unit tests just ask for 100% coverage, you will get tests that exercise all code paths but without any real meaning.

--
Paulo
June 19, 2013
On Wednesday, 19 June 2013 at 11:01:05 UTC, Szymon Gatner wrote:
> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?

Let us distinguish between "writing tests" and "test-driven development".

I am for all for "writing tests" where it makes sense. I do not subscribe to 100% test coverage. Sometimes other things have higher priority (time-to-market, fun, return-of-investment, politics, etc). I consider 100% an ideal, which can be thought about from time to time. It is not a good recommendation for rookies or best practice.

Test-driven development is an interesting beast. If you listen to the inventors, it makes a lot of sense in the scenarios they are talking about: Consultant creating or modifying a component in an enterprise environment.

Continuous refactoring tries to evenly distribute the technical debt, so developers can be moved in and out of the project without friction. Without continuous refactoring someone can get the fame, while leaving the technical debt to somebody else. Test coverage enables continuous refactoring because you can check the component in isolation, if your refactoring did not break anything. The test-first principle ensures good test coverage. Considering this reasoning, TDD can be seen as an approach for managing technical debt.
June 19, 2013
On Wed, 19 Jun 2013 12:01:02 +0100, Szymon Gatner <noemail@gmail.com> wrote:
> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?

I'm more interested in whether DCI is doable/natural in D.. that seems like an interesting idea.

R

-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/
June 19, 2013
On Wednesday, 19 June 2013 at 11:01:05 UTC, Szymon Gatner wrote:
> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?

My feelings about TDD changed when I saw that talk explaining TDD
in the context of double-entry bookkeeping in accounting (maybe
linked off of here:
http://unhandled-exceptions.com/blog/index.php/2009/02/15/uncle-bob-tdd-as-double-entry-bookkeeping/).

Writing your tests and code separately is actually an important
part of it.  If you are copy-pasting your code into your test
after you write it, then that's not really giving you the
guarantees you want.

And for anyone who's never tried the loop of:
1. Write a failing test.
2. Write the code that makes the test pass.
3. Make all the lights go green, then goto 1.

You might want to give it a try.  I was surprised by the feeling
of accomplishment I would get from making the failing tests pass.

irritate
June 19, 2013
irritate:

> My feelings about TDD changed when I saw that talk explaining TDD in the context of double-entry bookkeeping in accounting

I think the usefulness of the TDD method is greatly different for different kinds of code to write.

This is another data point for the discussion:
http://devgrind.com/2007/04/25/how-to-not-solve-a-sudoku/

Regarding testing, I also like QuickCheck:
http://www.haskell.org/haskellwiki/Introduction_to_QuickCheck

Bye,
bearophile
June 19, 2013
On Wednesday, 19 June 2013 at 14:44:26 UTC, irritate wrote:
> On Wednesday, 19 June 2013 at 11:01:05 UTC, Szymon Gatner wrote:
>> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?
>
> My feelings about TDD changed when I saw that talk explaining TDD
> in the context of double-entry bookkeeping in accounting (maybe
> linked off of here:
> http://unhandled-exceptions.com/blog/index.php/2009/02/15/uncle-bob-tdd-as-double-entry-bookkeeping/).
>
> Writing your tests and code separately is actually an important
> part of it.  If you are copy-pasting your code into your test
> after you write it, then that's not really giving you the
> guarantees you want.
>
> And for anyone who's never tried the loop of:
> 1. Write a failing test.
> 2. Write the code that makes the test pass.
> 3. Make all the lights go green, then goto 1.
>
> You might want to give it a try.  I was surprised by the feeling
> of accomplishment I would get from making the failing tests pass.
>
> irritate


That is actually the way I do TDD too. In fact, doing it any
other way is actually against 3 laws of TDD:

http://butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd

and is plain wrong. Writing tests for working (legacy) code will
not in any way shape it's structure and often results in useless
tests. TDD is a design technique not a testing technique.

I am pretty sure that many people will agree that TDD works, I
was actually curious on opinion on the presentation which claims
that TDD does not work at all and is in fact total BS.
June 19, 2013
On Wednesday, 19 June 2013 at 14:04:35 UTC, Regan Heath wrote:
> On Wed, 19 Jun 2013 12:01:02 +0100, Szymon Gatner <noemail@gmail.com> wrote:
>> D is the only language (that I am aware of) that has first class unit testing support. What do you think? Do we really just "mentally masturbate"?
>
> I'm more interested in whether DCI is doable/natural in D.. that seems like an interesting idea.
>
> R

I actually learned about DCI from that very presentation and am
wondering the same thing.
June 19, 2013
On 2013-06-19 14:08, Paulo Pinto wrote:

> Additionally I am yet to find any form of unit testing that is possible
> to apply to UI code, in a way that the ROI really pays off.

At work we use RSpec together with Capybara to test the UI, or rather the full stack. That is, for our web site. Capybara is used, via different drivers, to control the web browser. When writing the test you can use a driver that opens the web browser and you can actually see it clicking on buttons, filling in forms and so on. When running the tests in a CI server we use a faster headless web browser.

-- 
/Jacob Carlborg
June 19, 2013
On Wednesday, 19 June 2013 at 15:32:41 UTC, Szymon Gatner wrote:
> I am pretty sure that many people will agree that TDD works, I
> was actually curious on opinion on the presentation which claims
> that TDD does not work at all and is in fact total BS.

I am having trouble getting the video to play at the moment (it freezes every few seconds), so I can't address his actual claims right now.

However, while searching for an alternate site for it, I found this video which others in this thread might find interesting:  http://www.youtube.com/watch?v=KtHQGs3zFAM.

irritate
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11