Some testing algorithms – or patterns

These algorithms/patterns mostly fall into “System Testing” category.

  1. Constructor- Destructor race condition test – For objects of a class, keep a constructor and a destructor thread, being invoked at random times. Such testing is limited by the time available. Such testing can be carried out “in use for the purpose” or “just construction-destruction”. Such testing can also be enhanced by stressing out system wide phenomena like cold/warm booting, cold/warm/hot fail overs, load balancing etc. This will expose
    1. Any resource leaks that may be there between pure construction and destruction
    2. Any overrun/underrun violation – too many objects created or too many deleted
    3. In case of “in use for the purpose”, hidden assumption about existence/uniqueness/… of such objects
    4. Error handling
  2. “Rug pulling” – For hierarchical dependence, create the most dependent object and then delete objects at the foundation. This will expose
    1. Any hidden assumption about existence/uniqueness/… of foundational objects in dependent objects
    2. Error handling
  3. “Change of mind” tests – Deploy, un-deploy and re-deploy a feature. This is actually a functional test but typically ignored by functional testers. This will expose
    1. Any idempotence errors
  4. “All messages” test – making sure that all the programmed messages are communicated during the testing. This will expose
    1. Wrong messages
    2. Missing messages
    3. Error handling
    4. Any missing test coverage

Which more test algorithms do you use? Let us list out.

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s