Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re^10: What to test in a new module

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


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

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

Replies are listed 'Best First'.
Re^11: What to test in a new module
by stonecolddevin (Parson) on Mar 11, 2023 at 22:33 UTC
    >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

      I'm confused, unstable specifications result in an unstable project.

      This can happen if communication is bad or priorities are messed up.

      Starting with demos, POCs and tests for the main features should minimize that risk.

      With some clients this still happens, but then it's their responsibility to pay for the extra costs.

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

        I guess I'm not communicating my point clearly. I don't see any point in writing tests for a first draft of a spec implementation/POC. No client is going to communicate their requirements in a manner that's not going to require iteration on both ends unless they're coming to you saying "we need to integrate with this API" which is an existing specification that has known inputs and outputs regardless of the quality of the API. POC and demos have only as good of a chance of being correct as the requirements dictating their implementation and the quality of communication to do so.

        Starting with demos, POCs and tests for the main features should minimize that risk.

        I'm not sure how tests minimize risk in a POC unless you're using them as something that's black and white in terms of an API contract that says "hey these are the requirements that were communicated and this is proof that they were coded to spec." I feel like it's much harder to iterate into a concrete state quickly if you have to change tests 2-3 times before you and your client reach a consensus.

        Anyway I'm probably not going to get my point across any more effectively at this point so hopefully someone finds some sort of value reading through this.

        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://11150936]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2024-04-24 06:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found