Tuesday, December 21, 2010

Load Testing & Stress Testing

One of the most common, but unfortunate misuse of terminology is treating "load testing" and "stress testing" as synonymous.  The consequence of this ignorant semantic abuse is usually that the system is neither properly "load tested" nor subjected to a meaningful  stress test.

1.    Stress testing is subjecting a system to an unreasonable load while denying it the resources (e.g., RAM, disc, mips, interrupts, etc.) needed to process that load.  The idea is to stress a system to the breaking point in order to find bugs that will make that break potentially harmful.  The system is not expected to process the overload without adequate resources, but to behave (e.g., fail) in a decent manner (e.g., not corrupting or losing data).  Bugs and failure modes discovered under stress testing may or  may not be repaired depending on the application, the failure mode, consequences, etc.  The load (incoming transaction stream) in stress testing is often deliberately distorted so as to force the system into resource depletion.

2.    Load testing is subjecting a system to a statistically representative (usually) load.  The two main reasons for using such loads is in support of software reliability testing and in performance testing.  The term "load testing" by itself is too vague and imprecise to warrant use.  For example, do you mean representative load," "overload," "high load," etc.  In performance testing, load is varied from a minimum (zero) to the maximum level the system can sustain without running out of resources or having, transactions suffer (application-specific) excessive delay.

3.    A third use of the term is as a test whose objective is to determine the maximum sustainable load the system can handle.   In this usage, "load testing" is merely testing at the highest transaction arrival rate in performance testing.

6 comments:

  1. Hello there! Keep it up! I will be looking forward to visit your page again and for your other posts as well. Thank you for sharing your thoughts about stress engineering jobs. I'm glad to stop by your site and know more about stress engineering jobs. This is a good read.
    To determine the distribution of stress in a structure it is necessary to solve a boundary-value problem by specifying the boundary conditions, i.e. displacements and/or forces on the boundary. Constitutive equations, such as e.g. Hooke's Law for linear elastic materials, are used to describe the stress:strain relationship in these calculations. A boundary-value problem based on the theory of elasticity is applied to structures expected to deform elastically, i.e. infinitesimal strains, under design loads. When the loads applied to the structure induce plastic deformations, the theory of plasticity is implemented.
    One of the primary areas of responsibilities of having stress engineering jobs is to set strategic design direction for the structural layout through manufacturing processes.

    ReplyDelete
  2. Excellent blogs!!!!you have for sharing them effect information..we developer very learning to easy


    CMMI Consulting

    ReplyDelete
  3. Thanks for sharing as it is an excellent post would love to read your future post
    AWS / Amazon Web Services Training in India | AWS / Amazon Web Services Training Institutes for more knowledge

    ReplyDelete
  4. Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
    Hadoop Training Institute In chennai

    amazon-web-services-training-institute-in-chennai

    ReplyDelete
  5. I ‘d mention that most of us visitors are endowed to exist in a fabulous place with very many wonderful individuals with very helpful things.

    Java Training Institute Bangalore

    ReplyDelete
  6. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition.

    Hadoop Training in Chennai


    ReplyDelete