Re: OOP/OOD Philosophy



Phlip wrote:
> hansewetz wrote:
>
> > I can't put them together since you don't present a single strategy
> > for testing.
>
> I said it over and over again. You could probably repeat it. Unless you
> moved the definition of "strategy"...
>
> > At least I can come up with a few strategies for analyzing
> > problems, solutions and problem solving.
>
> At least I can too. I hold them subservient to you-know-whats.
>
> > For example, I can choose to develop a meta model for my domain. I can
> > then show that any model instantiated from the meta model has certain
> > characteristic I want it to have. I can also enumerate the different
> > elements I will use in my model. For example, I may choose to use
> > entities, events, values, etc. - each being well defined. When I
> > solve a problem I have multiple problem solving strategies available:
> > solve difficult parts first, solve easy parts first and hope the
> > difficult ones disappears, generalize the problem and maybe it becomes
> > easier to solve, map the problem into mathematical notation and apply
> > mathematical analysis, remove assumptions - maybe the assumptions
> > prevents me from solving the problem, reformulate the problem, solve a
> > similar problem to get hints, etc.
>
> That is orthogonal, at least, to the goal of tests driving development. Of
> course you still need to do all that, but...
>
> Can you put an 'assert(false)' anywhere in your code, run all your tests,
> and get failing test cases? Done right, you should at least fail "unit"
> tests, and each of these should associate with a user story. And you will
> very probably fail an acceptance test, and this _will_ associate with a user
> story. (Done perfectly, an acceptance test _will_ fail, but that's more
> perfect than most development needs.)
>
> So in your scenario, you have tangled this traceability up into an elaborate
> object model. It's a fine model, and a fine system to generate it, but my
> thought experiment illustrates how your system is not necessarily driven by
> executable specifications derived from requirements derived from field use.
>
> > I could see a few test related issues that should be analyzed. You may
> > want to build tests that detect simple code bugs - i.e. the design
> > has been coded incorrectly. You may want to build tests that show that
> > the design or algorithms are logically working according to
> > specifications. You may want to build tests that show that there are no
> > inconsistencies among different behaviors in the software. There are
> > probably many other categories of tests that may be done. I'm not
> > saying it is possible to practically separate tests this way since you
> > are applying tests on something that implements a mix of concerns.
> > However, it is probably worth giving it a shot - maybe someone has
> > already done it. Or, maybe you are already doing it ...?
>
> Yes, we hire QA departments to add these kinds of tests that target coverage
> and combinatoric issues. Our QA has a much easier time of it.
>
> And unless you use SPARKS, we debug much less than you.

I have quite a few comments to make here - but I have to bite the
bullet and keep quiet! Have too many things to do right now.

Regards,
Hans Ewetz

.



Relevant Pages

  • Re: OOP/OOD Philosophy
    ... > solve a problem I have multiple problem solving strategies available: ... you should at least fail "unit" ... and each of these should associate with a user story. ... very probably fail an acceptance test, and this _will_ associate with a user ...
    (comp.object)
  • Re: crash during file writing, how to recover ?
    ... >will it either do it succesfully, OR say half fail (eg write a few letters ... You then have gibberish on your floppy. ... probably should bulk erase and reformat such a floppy. ... Coaching, problem solving, economical contract programming. ...
    (comp.lang.java)
  • Re: crash during file writing, how to recover ?
    ... >will it either do it succesfully, OR say half fail (eg write a few letters ... You then have gibberish on your floppy. ... probably should bulk erase and reformat such a floppy. ... Coaching, problem solving, economical contract programming. ...
    (comp.programming)
  • Re: crash during file writing, how to recover ?
    ... >will it either do it succesfully, OR say half fail (eg write a few letters ... You then have gibberish on your floppy. ... probably should bulk erase and reformat such a floppy. ... Coaching, problem solving, economical contract programming. ...
    (comp.lang.java.programmer)
  • Re: crash during file writing, how to recover ?
    ... >will it either do it succesfully, OR say half fail (eg write a few letters ... You then have gibberish on your floppy. ... probably should bulk erase and reformat such a floppy. ... Coaching, problem solving, economical contract programming. ...
    (comp.os.linux.development.apps)