Re: Code correctness, and testing strategies



Hi list.

Do test-driven development or behaviour-driven development advocate
how to do higher-level testing than unit testing?

From reading up on the subject, I see that there are formally these
types of testing:

unit
integration
system
acceptance

I'm asking about this, because as suggested by various posters, I have
written my latest (small) app by following a Behaviour-Driven
Development style.

The small app consists of about 5 relatively simple classes, each with
behaviour tests, and mocks for the other objects it uses. I wrote the
tests before any code (I cheated a bit here and there, like adding
logging before adding logger mocks and tests to check that the logging
took place).

That went well, and the code ended up much more modular than if I
hadn't followed BDD. And I feel more confident about the code quality
than before ;-) The testing module has about 2x the lines of code as
the code being tested.

My problem is that I haven't run the app once yet during development :-/

It looks like I've fallen into the trap described here:

http://en.wikipedia.org/wiki/Test-driven_development#Fakes.2C_mocks_and_integration_tests

Should I go ahead and start manually testing (like I would have from
the beginning if I wasn't following TDD), or should I start writing
automated integration tests?

Is it worth the time to write integration tests for small apps, or
should I leave that for larger apps?

I've tried Googling for integration testing in the context of TDD or
BDD and haven't found anything. Mostly information about integration
testing in general.

When following BDD or TDD, should one write integration tests first
(like the unit tests), or later? Or don't those practices cover
anything besides unit testing? Which integration test process should
one use? (top down, bottom up, big bang, etc).

Thanks in advance for any tips.

David.
.



Relevant Pages

  • Re: Code correctness, and testing strategies
    ... have written my latest app by following a Behaviour-Driven ... I usually start by implementing (through BDD) a skeleton of the entire ... to the version control system branch nominated for "integration" code. ... Your customers and your developers will value frequent feedback on ...
    (comp.lang.python)
  • Re: ADFS with ASP application
    ... So far I was looking at claim aware app, via the Step by step guide, ... .NET 2.0 must be installed on the machine for ADFS to be installed and ... map user tokens. ... integration project. ...
    (microsoft.public.windows.server.active_directory)
  • Re: General architecture in BizTalk
    ... since it's just integration between two apps on the (sql ... I am going to start new project using BizTalk Server 2006 R2 and I ... Both applications use Sql Server 2005 as a database. ... A is in app. ...
    (microsoft.public.biztalk.general)
  • Re: Mail Server
    ... Integration is good till you need something else which overlaps your app ... It won't end up in Fedora because the primary developer Sam Varshavchik, doesn't like dealing with anything other than source releases. ...
    (Fedora)
  • Re: How to test a method which has void return type and no argument?
    ... want to test unit testing of my application. ... unit testing after integration of code. ... whether a unit conforms to its contract with the rest of the application. ...
    (comp.lang.java.programmer)