On Thu, 22 Jan 2009, Richard Hainsworth wrote:

4) Testing software is different from debugging or running software. Running is about providing functionality to the user. Debugging is about getting expected behaviour and discovering why behaviour exhibited is not what is expected / specified. Testing is about demonstrating that the functionality provided is the functionality expected / specified under all specified conditions.

I guess I've always seen it as having even more facets. I hadn't thought about testing in this context before. My suggestion, though, is that the facets would include:
-       "Useful" code (ie. the code that actually does the stuff you want)
-       Runtime error handling (ie. try/catch/whatever)
-       Debugging code (kind of like a log of watches[*], etc)
-       Tests (we're talking about these)
-       Comments # We know what these are :)
-       Documentation (POD, etc)

[*] by "watches", I mean those things in a GUI where you get it to show you the contents of a variable.

If there is a name for what I've labelled '"Useful" code', then please let me know :).

Anyway, I just wanted to highlight the contrast between code (which is essentially a 1-dimensional character stream), and the 2-dimensional nature we're trying to capture, in hopes that it will give someone ideas.

In particular, I note that we have specialised syntax for each of these. While it would presumably be confusing to unify the syntax for all of them, it seems to me that they naturally break into three groups:
-       "Useful" code (in as group by itself)
-       Checking code
        -       Runtime error handling
        -       Debugging code
        -       Tests
-       English
        -       Documentation
        -       Comments

Whether we should somehow unify the syntax of either the checking group or the English group isn't something that I know the answer to, but it's a thought. Perl 6 is confusing to the beginner, and that's OK, but I figure it should be no more confusing than it has to be.

        :)


---------------------------------------------------------------------
| Name: Tim Nelson                 | Because the Creator is,        |
| E-mail: wayl...@wayland.id.au    | I am                           |
---------------------------------------------------------------------

----BEGIN GEEK CODE BLOCK----
Version 3.12
GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI++++ D G+ e++>++++ h! y-
-----END GEEK CODE BLOCK-----

Reply via email to