Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Re: Sub-initiate needs help getting started

by MidLifeXis (Monsignor)
on Aug 27, 2003 at 18:14 UTC ( [id://287122]=note: print w/replies, xml ) Need Help??


in reply to Re: Sub-initiate needs help getting started
in thread Sub-initiate needs help getting started

3. That test-suite thingy - make one. DO NOT DO ANY WORK ON THE CODE WITHOUT ONE.

Any recommendations or literature on doing this? I have a sysadmin / jack of all trades type background, and as such, am starting to reach the limit of my "how to test" knowlege. I am looking for some insomnia meds in the form of some heavy (or light) reading on this topic.

Thanks

  • Comment on Re: Re: Sub-initiate needs help getting started

Replies are listed 'Best First'.
Re: Re: Re: Sub-initiate needs help getting started
by dragonchild (Archbishop) on Aug 27, 2003 at 19:31 UTC
    Googling will give you a lot of good info, as will browsing Borders and/or Barnes & Nobles. However, there are a few good rules of thumb I've seen after supporting a test team for a year:
    • Test the design first - make sure the design is sane. This includes the application, the database, the physical setup, the user interface, etc.
    • Nail down the specs - if you don't know what you're testing to, you don't know if you passed or not.
    • A corollary to the last point is that you shouldn't accept a spec if you can't test it. Remember, it's your responsibility to make sure that your code meets the spec. If you can't test a feature, you can't discharge your responsibility.
    • Don't test application functionality, test user functionality. Remember, the users don't care if you have a neat-o-keen sorting procedure. They just want to know that their data returns in the order they asked for / were expecting.
    • Test both coding units and logical units. You have to make sure that a given subroutine works, but you also have to make sure that a given feature works, too.
    • Don't just test functionality - you want to test under different scenarios. Light load, heavy load, different types of users, etc.
    • Automate your testing as much as possible. Ideally, you'll be running thousands of tests every time you change. It's a lot easier to have the computer do the grunt work for you.

    A lot of these suggestions assume that you have a rational codebase. For example, if you cannot extract a given subroutine from its context and test it, you very well could have a problem.

    Also, your testing design

    ------
    We are the carpenters and bricklayers of the Information Age.

    The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

    Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (7)
As of 2024-04-16 11:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found