Wednesday, January 11, 2012

Application Simulation Models

ASM refers to the way in which the features of application under test are simulated. In other wordswhich end/real user actions are simulated and how when an application is put under test

This simulation model can be derived in various ways depending up on the requirement to test and application/system type, complexity etc.,

Basic simulation models follow two ways

       User session based

       Transaction based

User session based

This type of simulation revolves around how the real user will behave(in case of vanilla versions) or might have been doing when an application is up and on in live/production environment

The key for this simulation is to understand the user session characteristics in real world. Some of them can be

       User session concurrency

       User sessions ramping up pattern

       Active session actions at any given point of time (TPS)

       Avg no. of trans per session,

       Weighing transactions as per volumes

       Visualizing the application usage patterns

       Session and transaction patterns over a period of time (round the clock, peak week days, week ends, holidays, year ends, month ends etc.,)

Develop code snippets or programs which will work on the production logs or databases to obtain the above mentioned session characteristics and finally derive a navigation profile 

     Advantages of this kind of simulation are:

       More realistic and more closer to the production behavior of the application under load

       Easy and accurate predictions of potential performance issues that may arise in near future

       Accurate like to like comparison between production and pre production results

       Leads to more confident decisions while giving a ‘Go Live’ signal to the application  

Other statistical analysis that can be done(but not limited to) in this kind of simulations 

 

A sample below shows how we can visualize the production usage patterns n production

 

 

Transaction Based Models

A transaction can be defined as an action or a group of actions done by a user or a subsystem/component of an application

 Transaction based simulation models are used to load/stress test the system while it does not reproduce exact end user usage pattern 

Transaction based simulation can be applicable to the end user facing systems however they are more applicable to the transaction based sub systems like middle layer integration subsystems talk everything in terms of messages else called transactions

Transaction based simulations are easy compared to user session based simulation models. These simulations can follow simple formula as shown below

 

Transaction rate (TPS)       =                              N (No. of vusers)

                                    -----------------------------------------------------------       

       Think time + Pacing + transaction response time + code logic execution time       

1 comment:

  1. Nice article but not many people understand the context and importance behind what your talking about here
    This simulation refers to pre production performance testing and the models described are to emulate the virtual user behavior as close to production as possible. SO you will have a likt to like comparative analysis and good possibility of predicting future potential bottlenecks.

    And I like the production system's behavior analysis technique explained above !!

    ReplyDelete