Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^8: What to test in a new module

by LanX (Saint)
on Mar 11, 2023 at 21:37 UTC ( [id://11150932]=note: print w/replies, xml ) Need Help??


in reply to Re^7: What to test in a new module
in thread What to test in a new module

I'm not sure where you read that I was advocating throw away tests.

My point was it's a top-down process with different layers of tests and POC.

The API tests of the top layer are stable, the POCs less so.

There is no point in starting a long endeavor without

  • clarifying the clients expectations
  • proving the feasibility

This is best done with some demo code, and this can and should be tested. Written specifications are open for interpretations, tests let you sleep well.

Since those tests define your API they can't easily be thrown away anymore unless your POCs were bad.

Hope my perspective is clearer now.

Cheers Rolf
(addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^9: What to test in a new module
by stonecolddevin (Parson) on Mar 11, 2023 at 22:15 UTC

    Yea again this assumes your demo code proves to be correct on the first swing, and I can count on one hand I've seen that happen.

    I honestly don't see the point in writing tests for demo/poc code until you and the client are in agreement that the current stage looks correct. Changes after that are changes in scope and will probably require tests to be reworked anyway.

    How do you know your top level API tests are stable? How do you know they're going to stay that way?

    Three thousand years of beautiful tradition, from Moses to Sandy Koufax, you're god damn right I'm living in the fucking past

      I think, we may have very different applications in mind.

      > How do you know your top level API tests are stable?

      Because they cement the specifications of the project.

      The only problem I see with my approach, is that clients tend to consider demo code as production ready.

      But I may have problems to express my ideas properly here.

      Cheers Rolf
      (addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
      Wikisyntax for the Monastery

        >Because they cement the specifications of the project.

        My question is how do you know your specifications are correct/stable? You're testing all this code up until it is stable, how much of that testing remains in its original form?

        Three thousand years of beautiful tradition, from Moses to Sandy Koufax, you're god damn right I'm living in the fucking past

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11150932]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (2)
As of 2024-04-19 01:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found