Search the web
Sign In
New User? Sign Up
testdrivendevelopment · Test-driven Development
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Community call to action - Where are all the testers   Message List  
Reply | Forward Message #28386 of 32000 |
Re: [TDD] Re: Community call to action - Where are all the testers

Casey...

On Thu, Jun 12, 2008 at 2:54 AM, Casey Charlton <casey@...>
wrote:
>>>> error-prone business of constantly explaining how XP's unit tests are
>>>> quite unlike the testing world's unit tests.<<
>
> How are they different???? A Unit Tests tests a *single* unit ...
> anything that tests 2 or more units is an integration test. What is a
> micro test?

A micro test is an automated test of a very small, hence micro, portion of a
code base. It typically has these features:

* It is short, typically under a dozen lines of code.
* It is always automated.
* It does not test the object inside the running app, but instead in a
purpose-built testing application.
* It invokes only a tiny portion of the code, most usually a single branch
of a single function.
* It is written gray-box, i.e. it reads as if it were black-box, but
sometimes takes advantage of white-box knowledge. (Typically a critical
factor in avoiding combinatoric issues.)
* It is coded to the same standard as shipping code, i.e. the team's best
current understanding of coding excellence.
* It is vault-committed source, with a lifetime co-terminous with the
functionality it tests.
* In combination with all other microtests of an app, it serves as a
'gateway-to-commit'. That is, a developer is encouraged to commit anytime
all microtests run green, and discouraged (strongly, even nastily) to commit
otherwise.
* It takes complete control of the object-under-test and is therefore
self-contained, i.e. running with no dependencies on anything other than the
testing code and its dependency graph.
* It runs in an extremely short time.
* It provides precise feedback on any errors that it encounters.
* It usually (not always) runs entirely inside a single computer.
* It usually (not always) runs entirely inside a single process, i.e. with
few extra-process runtime dependencies.
* It is part of a collection all or any subset of which is invokable with a
single programmer gesture.
* It is generally written before the code-change it is meant to test.
* It avoids most or all usage of 'awkward' collaborators via a variety of
slip-and-fake techniques.

Most important has already been mentioned: Speaking of the entire suite of
microtests, its primary role in the overall development effort is as
productivity enhancer, not quality guarantee. (It certainly does impact
quality in a positive way, but that is itself a side-effect, being of course
a key factor in its success at increasing productivity.)

Now, understand me, nothing on that list above makes a microtest not a unit
test. All microtests are also unit tests. It's the reverse proposition
that doesn't hold: all unit tests are not in fact microtests.

Seeya,
Hill

P.S. I'm writing this in a hurry, as I'm on my way to teach, and to tell
you the truth, I'm a little bit shaken up, because as far as I can tell, in
another part of the forest, Ron Jeffries just admitted -- for the first time
*publicly* -- to a deep abiding admiration of my genitalia, and I'm all
aglow. So I hope this note comes off as adding a little clarity, and not
just noising around. If you have further questions or issues, fire away.
Please do temporarily adopt the wikipedia mantra of 'assume good faith' with
me, tho.


[Non-text portions of this message have been removed]




Fri Jun 13, 2008 3:13 pm

uly562000
Offline Offline
Send Email Send Email

Forward
Message #28386 of 32000 |
Expand Messages Author Sort by Date

Hi everyone, Last night I posted about the community and testers and I wanted to get everyone's thoughts, especially with regard to people who are involved in...
Ben Hall
ben2004uk
Offline Send Email
Jun 10, 2008
11:26 pm

The subject of your post is sort of a question I've been asking (myself) for some time, but with a different meaning. I'm developing an open source project,...
uluhonolulu
Offline Send Email
Jun 11, 2008
6:59 am

I would expect the testers to be interested in the functional domain - whatever your project does - and not interested just because they are testers. So, you...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Jun 11, 2008
7:41 am

Thanks, now it seems quite logical to me. My post was emotional rather than rational, just as I said, couldn't resist.. ... - whatever your project does - and...
uluhonolulu
Offline Send Email
Jun 11, 2008
3:07 pm

Besides, it's 2008. You're supposed to yell "Where all my testers at!?" [Non-text portions of this message have been removed]...
Tim Ottinger
linux_tim
Offline Send Email
Jun 11, 2008
11:13 pm

... My Eglish will talk pretty on day.....
uluhonolulu
Offline Send Email
Jun 12, 2008
8:42 am

... Testers mostly have their own communities of practice. For example - Software Quality Engineering (www.sqe.com), Stickyminds.com, Software Test and...
heusserm
Offline Send Email
Jun 11, 2008
12:54 pm

PS - In my last post, I used the phrase "real software testers." I did not mean this as any kind of slight or insult. I am totally excited about devs that use...
heusserm
Offline Send Email
Jun 11, 2008
12:57 pm

... Matt... These are two points I set out to explicitly address in the materials Industrial Logic uses to teach TDD. We call XP's unit tests "microtests", at...
Mike Hill
uly562000
Offline Send Email
Jun 11, 2008
3:35 pm

... How are they different???? A Unit Tests tests a *single* unit ... anything that tests 2 or more units is an integration test. What is a micro test?...
Casey Charlton
caseycharlton69
Offline Send Email
Jun 12, 2008
6:54 am

Casey... On Thu, Jun 12, 2008 at 2:54 AM, Casey Charlton <casey@...> ... A micro test is an automated test of a very small, hence micro, portion of...
Mike Hill
uly562000
Offline Send Email
Jun 13, 2008
3:13 pm

See - now I'm confused - that is just the definition of a good unit test ... define a unit test which is not therefore a microtest, but which is not also an...
Casey Charlton
caseycharlton69
Offline Send Email
Jun 13, 2008
3:26 pm

Casey, ... As far as terminology goes, I think "unit test" vs "integration test" vs "acceptance test" works fairly well. "Microtest" just sounds weird to me. ...
Matt
maswaffer
Offline Send Email
Jun 13, 2008
5:27 pm

... Matt... I work with a lot of different groups of people who have never heard of TDD in my normal year-round day job. Many of them believe they know what a...
Mike Hill
uly562000
Offline Send Email
Jun 13, 2008
7:22 pm

... Missed that. I thought microtest was an old guard term. Jeff...
Jeff Langr
jlangr
Offline Send Email
Jun 14, 2008
5:29 am

Mike, ... wrote: <snip/> ... Makes sense. I think the problem space you face as a consultant (?) is entirely different than what I face as a developer. I...
Matt
maswaffer
Offline Send Email
Jun 15, 2008
10:13 pm

The same test can have different uses in the project. The term to use to describe a test depends on context: which use of the test is being referred to. Some...
Nat Pryce
nat_pryce
Offline Send Email
Jun 13, 2008
8:17 pm

... Well, you've kinda answered your own question by making the good/bad unit test distinction. Some of the attributes I listed would distinguish Test X from...
Mike Hill
uly562000
Offline Send Email
Jun 13, 2008
7:11 pm

Greetings Hill, That's a kickass list. My curiosity makes me wonder: Out of the below list, what varies from the original definition? What *is* the original...
Jeff Langr
jlangr
Offline Send Email
Jun 13, 2008
4:07 pm

... Oh, no, Mike, I have no problem with Unit Tests as described in Kent Beck's original paper, or, for that matter, in his first book or XP:Installed....
heusserm
Offline Send Email
Jun 12, 2008
12:03 pm

... Matt, don't go nuts. The purpose of making that distinction is not to split terminology hairs. The purpose is to segregate such tests from the faster...
George Dinwiddie
gdinwiddie
Offline Send Email
Jun 12, 2008
10:47 pm

Hello, Mike. On Wednesday, June 11, 2008, at 11:35:14 AM, you ... I very much agree that this is the real benefit, and I admire your cojones(1) in coming...
Ron Jeffries
ronaldejeffries
Offline Send Email
Jun 13, 2008
1:53 pm

Ron... For me, making the transition from microtesting-as-quality to microtesting-as-productivity resolved at one stroke a wide variety of nagging doubts I had...
Mike Hill
uly562000
Offline Send Email
Jun 13, 2008
3:23 pm

... Yes, I can see that. I think you have expressed what I've felt right along -- regarding TDD. Down boy. ... Yes, very powerful. And it pushes back against...
Ron Jeffries
ronaldejeffries
Offline Send Email
Jun 13, 2008
7:39 pm

... From: "Casey Charlton" <casey@...> To: <testdrivendevelopment@yahoogroups.com> Sent: Thursday, June 12, 2008 12:54 AM Subject: Re: [TDD] Re:...
John Roth
jhrothjr
Offline Send Email
Jun 12, 2008
11:58 am

... What trap is that? That it is yet another x driven y? (XAXDY?) ... Regards, --matt Co-Inventor, Bacon Driven Coding: ...
heusserm
Offline Send Email
Jun 12, 2008
12:30 pm

Snowclone in the making? The trap is to put too much weight on the term. "Micro test" is refreshing because it's just another word; it doesn't try to say...
John Roth
jhrothjr
Offline Send Email
Jun 12, 2008
1:12 pm

True. Names are slippery. Years ago I went to a meeting that was attended by a number of testing gurus: James Bach, Brett Prettichord, Cen Kaner, Brian...
mfeathers@...
mfeathers256
Offline Send Email
Jun 13, 2008
9:18 pm

Like you Michael, I will use whatever terms a client uses, whilst trying to nudge them in the right direction ... I recently posted on this with regard to...
Casey Charlton
caseycharlton69
Offline Send Email
Jun 16, 2008
6:42 am

... I can see the point with using word 'microtests' when presenting TDD to a group of developers not used to TDD. That is since "microtest" is an unknown word...
Olof Bjarnason
olof.bjarnason@...
Send Email
Jun 16, 2008
7:07 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help