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...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

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
kind of tests   Message List  
Reply | Forward Message #31361 of 32004 |
Re: [TDD] kind of tests

Everything clear Charlie, it is really appreciated :-)

2009/7/9 Charlie Poole <cpoole@...>:
>
>
> Hi Carlos,
>
>> > I think the point is that one needs to know the purpose of
>> every test.
>> > One should not write a test without some purpose.
>> >
>> > But having a fixed set of names is not a requirement for
>> understanding
>> > and - especially - failing to use some naming system advocated by
>> > another person or group does not show a lack of understanding.
>> >
>> > So, yes, I can't fit my hypothetical test above into
>> > *your* naming system, but it fits quite well in my own:
>> > it's a customer test.
>>
>> Ok I see. I leave the idea of the code smell upon naming
>> conventions. The purpose is the key.
>
> I sometimes tell teams I work with that the three rules
> of test-writing are:
> 1. Know what you're testing
> 2. Know what you're testing
> 3. Know what you're testing
>
> I think it *is* reasonable to say "If you don't know what
> to call it, it *may* mean you don't know why you are
> doing it."
>

I like it :-)

>> > I'd say a functional test is the most common kind of
>> customer test (I
>> > don't actually use "acceptance" any more) but there can be
>> others. If
>> > the customer has a performance requirement, then a performance test
>> > could be a customer test.
>> >
>> > Functional versus "quality attributes" is a different axis from
>> > customer/developer. So saying a functional test is an
>> acceptance test
>> > is like saying "big" is "red"
>>
>> That is a bit confusing, let me rebuild this in my mind:
>>
>> A functional test can be any kind of test as every test is
>> checking out some kind of functionality. A class method in
>> the finest case.
>
> Sure. But they bring to mind the english term "functional
> requirement" which is higher level.
>
>> However we use functional test for customer tests which
>> excersice some kind of functional business requirement.
>> Customer tests are broader than functional tests, as they can
>> be performance or load tests, if performance and load are
>> requirements.
>
>> Better?
>
> For me, yes. BUT... I'm a 66 year old anglophone who remembers a
> lot of old terminology. You need to think of what will work for
> *your* audience. That said, I attended a meeting of an architect
> group not too long ago and they still talk about functional
> and non-functional requirements.
>
> I wonder, is there a Spanish-language group on which you can
> raise some of these questions of terminology?
>

66 years old, 30 years programming. Man, you worth your weight
in gold :-) To me, experience is the number 1 attribute for a developer
so I do care about your opinion. I don't think there are 60's years old
spanish developers, as technology has come later here for historical
reasons. Although we have a spanish language tdd group, non of us
can tell he's been 30 years working on software.
In my opinion there is a gap between anglosaxon world and latin one
in terms of software development, which I'd like to diminish. It does not
mean that there aren't great super developers in Spain or Latin America,
but it is not the average.


>>
>> >
>> >> The acceptance test could be smaller than a system test, that is,
>> >> could just test a business requirement which is smaller
>> than a screen
>> >> use case or any other system function. When the acceptance test is
>> >> end to end, it is also a system test.
>> >
>> > I don't use the term system test that way. In my lexicon, a system
>> > test exercises the system from end to end and from side to
>> side - that
>> > is it exercises all or a major subset of the system's functionality.
>> >
>>
>> Aren't we saying the same thing? Do you mean that a system
>> test is not just like... "fill this form, click on the send
>> button and validate that page says, 'form sent'"? Do you mean
>> that a single system test should test the whole application?
>> Because I wrote the system test is and end to end test and
>> you did so too.
>> That confuses me.
>
> In medical equipment development, we didn't consider something
> a system test unless it used the actual physical device. The
> entire system had to be exercised.
>
> In other kinds of work, I think it means using an actual
> database, web farm, etc. Normally, when you do a system
> test - since it's quite expensive - you run an entire
> suite of tests rather than testing one bit of functionality.
>
> Running the whole application to test a single story would
> be a customer test in my mind. Whether we use the whole
> system or a part of it is simply an implementation issue.
>
> BTW, I mentioned that I no longer use the terminology
> "acceptance test." That's because of having worked in some
> safety critical applications where certain people were
> offended by the idea that merely passing an automated
> test would be sufficient to "accept" the product.
>
> So, I adapted my language to the culture of the company.
> In some cases, it was a functional test. In others a
> customer test. In one case it was called something like
> an "pre-qualification test" meaning that the work could
> now be passed on to the separate quality assurance group. :-)
>

Thanks again :-)


> Charlie
>
>> >> Eventually we could state again that a funtional test is
>> not a system
>> >> test because it could be smaller in scope than a system test.
>> >>
>> >> Thanks a ton Charlie :-)
>> >
>> > I hope it's helping. I think it's very important to acknowledge in
>> > your book that there are multiple ways to characterize tests. We're
>> > calling those dimensions or axes, but they could be thought
>> of simply
>> > as attributes as well. In theory, you could combine the values of
>> > these attributes in a test in any way you like. But in practice,
>> > experienced developers only use certain combinations.
>>
>> I'll do so
>>
>> >
>> > For example, customer tests are usually bigger in scope
>> than a single
>> > object, load tests usually cover the entire system and mocking
>> > techniques are more likely to be used in tests that are relatively
>> > smaller in scope. Of course, there are exceptions to each of these
>> > examples, but it seems to me that the overall patterns are
>> much more
>> > intereseting than the exceptions. Just as modern physics
>> can only tell
>> > us where an object is likely to be, so we programmers can only say
>> > that such and such a test is likely to be a unit test - or
>> a customer
>> > test - or some other kind. ;-)
>> >
>> > Charlie
>> >
>> >> > Food for thought anyway. :-)
>> >> >
>> >> > Charlie
>> >> >
>> >> >
>> >>
>> >>
>> >> ------------------------------------
>> >>
>> >> Yahoo! Groups Links
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>> ------------------------------------
>>
>> Yahoo! Groups Links
>>
>>
>>
>>
>
>



Fri Jul 10, 2009 7:39 am

carlosble
Offline Offline
Send Email Send Email

Forward
Message #31361 of 32004 |
Expand Messages Author Sort by Date

Hi Carlos, ... I sometimes tell teams I work with that the three rules of test-writing are: 1. Know what you're testing 2. Know what you're testing 3. Know...
Charlie Poole
cpoole98370
Offline Send Email
Jul 9, 2009
5:30 pm

Everything clear Charlie, it is really appreciated :-) ... I like it :-) ... 66 years old, 30 years programming. Man, you worth your weight in gold :-) To me,...
Carlos Ble
carlosble
Offline Send Email
Jul 10, 2009
7:41 am

... If we're discussion taxonomy it seems that we need to be able to categorize whatever might be legitimately useful. We don't need to include antipatterns,...
Adam Sroka
adamjaph
Offline Send Email
Jul 9, 2009
1:41 am

Hi Adam, ... Sure. I'm just not sure how much effort I'd want to spend on taxonomy before moving on to testing. :-) In replying to Carlos, I got into the...
Charlie Poole
cpoole98370
Offline Send Email
Jul 9, 2009
1:53 am

... Agreed. I find it more helpful to think about tests in terms of "dimensions", as described elsewhere in this thread. Also we do say that we are using the...
Nat Pryce
nat_pryce
Offline Send Email
Jul 8, 2009
1:21 pm

Hi Nat, ... No, because the system has to be built before you can run the whole system. :-) As I've always used it, a system test is one that exercises the...
Charlie Poole
cpoole98370
Offline Send Email
Jul 8, 2009
3:03 pm

... I've not found this to be the case. I like to get the system functional as early as possible in the project and then grow its functionality. Maybe I've...
nat_pryce
Offline Send Email
Jul 10, 2009
3:16 pm

... You mean system-test first just sometimes, not all the time, is it? I think doing ATDD is right if we agree that acceptance/customer tests are business...
Carlos Ble
carlosble
Offline Send Email
Jul 10, 2009
3:41 pm

I think you can start with what will become the system test first (have done that on my current project) and it is a pure top-down approach: You start with how...
Manuel Klimek
manuel.klimek
Offline Send Email
Jul 11, 2009
7:44 am

... So at some time you decide to re-write your system test not to use mocks, but the real thing, I guess? ... -- twitter.com/olofb olofb.wordpress.com ...
Olof Bjarnason
olof.bjarnason@...
Send Email
Jul 11, 2009
8:16 am

Hi Manuel, ... That sounds to me like going back to waterfall model where we make a "fantastic" design up front and work from there. I like TDD because...
Carlos Ble
carlosble
Offline Send Email
Jul 11, 2009
2:14 pm

I don't think that's going back to waterfall. Given the business requirement, you create the basic user interfaces that is needed for that business...
Franz Allan Valencia ...
favs77
Offline Send Email
Jul 11, 2009
4:24 pm

I disagree :-) ... Customer should be interested in the "what" not the "how". Business analyst along with developers should do their best in translating...
Carlos Ble
carlosble
Offline Send Email
Jul 11, 2009
4:43 pm

To clarify, I am not saying to throw away all written documentations and just go for UI mockups, I was just emphasizing on the importance of UI mockups :-) ...
Franz Allan Valencia ...
favs77
Offline Send Email
Jul 11, 2009
5:42 pm

Hi Carlos, ... I agree with you here. Many will say that customers tend to understand things in terms of the UI they see. IME, a ui can just as easily give a...
Charlie Poole
cpoole98370
Offline Send Email
Jul 11, 2009
8:32 pm

... That's not what I meant. I wouldn't mock out the code called by the test. I leave the system test failing until the system actually implements what is...
nat_pryce
Offline Send Email
Jul 14, 2009
12:39 pm

... That's not a bad idea. From what I have seen it is not common to do this with Developer tests, but is more common with Customer tests. Most teams prefer...
Adam Sroka
adamjaph
Offline Send Email
Jul 18, 2009
1:50 am

Yes Adam, that makes a lot of sense - the finest grain tests (*real* unit tests) you expect to pass, and outer level tests (customer tests etc) you allow to be...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Jul 20, 2009
8:46 am

Sometimes the customer tests are in a separate framework (e.g. Cucumber, Fit/FitNesse.) Other times the customer tests are in the same framework but are run...
Adam Sroka
adamjaph
Offline Send Email
Jul 20, 2009
2:41 pm

Hi Adam, ... I'm impressed with your breadth of knowledge of frameworks. :-) I'll reply about only a few of them... Fit has only red and green results, so I...
Charlie Poole
cpoole98370
Offline Send Email
Jul 20, 2009
3:11 pm

On Mon, Jul 20, 2009 at 11:01 AM, Charlie ... Thanks :-) ... I would prefer to have the feedback. I expect some customer tests to fail, because I am not...
Adam Sroka
adamjaph
Offline Send Email
Jul 20, 2009
6:26 pm

Hi Adam, ... We get that feedback because developers are running the customer tests on their own machines until such time as the story is finished and the...
Charlie Poole
cpoole98370
Offline Send Email
Jul 21, 2009
3:00 pm

Charlie, I must admit that I find the yellow bar aversive and work to get rid of it. Perhaps it would be possible to have a fixture level attribute which says...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Jul 22, 2009
5:48 am

Hi John, I'm thinking that the new "Inconclusive" result may end up serving that purpose. Visually, it's currently a purple circle with question mark similar...
Charlie Poole
cpoole98370
Offline Send Email
Jul 22, 2009
7:26 pm

Charlie, I hadn't tried Assume.That before. NUnit has evolved a lot recently. It certainly does what I was suggesting (marks the failure, but doesn't propagate...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Jul 23, 2009
6:55 am

Hi John, I was imagining a different test for Assume than for Assert. For example, Assume.That( SomeHardwareIsConnected() ); will cause an inconclusive status...
Charlie Poole
cpoole98370
Offline Send Email
Jul 23, 2009
12:30 pm

I've used [Category("StoryTest")] to separate tests that might not pass from the unit tests. Is this still current with the latest NUnit? If so, then it...
George Dinwiddie
gdinwiddie
Offline Send Email
Jul 26, 2009
2:38 am

Hi George, That would work so long as you excluded the category on the command line of your run. However, you could also combine it with [Explicit] in which...
Charlie Poole
cpoole98370
Offline Send Email
Jul 26, 2009
7:50 pm

I was thinking I could exclude it using the GUI, but maybe I'm mis-remembering. - George ... -- ... * George Dinwiddie *...
George Dinwiddie
gdinwiddie
Offline Send Email
Jul 27, 2009
1:51 am

Hi George, You could, but I was thinking of unattended builds using the console runner. Charlie...
Charlie Poole
cpoole98370
Offline Send Email
Jul 27, 2009
2:44 pm
 First  |  |  Next > Last 
Advanced

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