Tuesday, December 8, 2015

File Move

// Import for File class
import java.io.*;

class Yes
{

 public static void main(String args[]) throws IOException
 {

 // Create a file object for directory C:\java
 File f=new File("D:\\Root\\Test\\");

 String s=f.getAbsoluteFile().getParentFile().getName();

 System.out.println(s);

 // List all the files in the directory, get their File objects.
 File[] files=f.listFiles();

  // Loop till end of all files
  for(int i=0;i<files.length;i++)
  {

  // Get the name of each file
  String name=files[i].getName();

  // File should not be a directory, and file should have an extension [this logic also filters folders containing .]
  if(!files[i].isDirectory())
  {

   if(name.contains(".dat")||name.contains(".prm"))
   {

   // Print the name of the file, and the extension
   System.out.println(name);
  
   FileReader in = new FileReader(f+"\\"+name);
   FileWriter out = new FileWriter("D:\\Root\\Test2\\"+name);
  
  
   int c;

   while ((c = in.read()) != -1)
     out.write(c);
  

   in.close();
   out.close();
  
  
 }
  
 }
 
  }
  System.out.println("Moving Done");
 }

}

Tuesday, August 25, 2015

// Include ( Copy ) the Driver file to the Project file.


File sourceFile = new File("velocity-1.5.jar");
String name = sourceFile.getName();

File targetFile = new File(path2+"\\"+name);
System.out.println("Copying file : " + sourceFile.getName() +" from Java Program");

//copy file from one location to other
try {
FileUtils.copyFile(sourceFile, targetFile);
System.out.println("Included the Driver to the Project");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

Friday, August 14, 2015

SP Inputs



cStmt.registerOutParameter("inOutParam", Types.INTEGER);
cStmt.setInt(2, 1);
int outputValue = cStmt.getInt(2);
----
getBigDecimal(int, int)
Get the value of a NUMERIC parameter as a java.math.BigDecimal object.
 o  getBoolean(int)
Get the value of a BIT parameter as a Java boolean.
 o  getByte(int)
Get the value of a TINYINT parameter as a Java byte.
 o  getBytes(int)
Get the value of a SQL BINARY or VARBINARY parameter as a Java byte[]
 o  getDate(int)
Get the value of a SQL DATE parameter as a java.sql.Date object
 o  getDouble(int)
Get the value of a DOUBLE parameter as a Java double.
 o  getFloat(int)
Get the value of a FLOAT parameter as a Java float.
 o  getInt(int)
Get the value of an INTEGER parameter as a Java int.
 o  getLong(int)
Get the value of a BIGINT parameter as a Java long.
 o  getObject(int)
Get the value of a parameter as a Java object.
 o  getShort(int)
Get the value of a SMALLINT parameter as a Java short.
 o  getString(int)
Get the value of a CHAR, VARCHAR, or LONGVARCHAR parameter as a Java String.
 o  getTime(int)
Get the value of a SQL TIME parameter as a java.sql.Time object.
 o  getTimestamp(int)
Get the value of a SQL TIMESTAMP parameter as a java.sql.Timestamp object.
 o  registerOutParameter(int, int)
Before executing a stored procedure call, you must explicitly call registerOutParameter to register the java.sql.Type of each out parameter.
 o  registerOutParameter(int, int, int)
Use this version of registerOutParameter for registering Numeric or Decimal out parameters.
 o  wasNull()
callableStatement.setInt(1, 10);
callableStatement.registerOutParameter(2, java.sql.Types.VARCHAR);
callableStatement.registerOutParameter(3, java.sql.Types.VARCHAR);
callableStatement.registerOutParameter(4, java.sql.Types.DATE);
String userName = callableStatement.getString(2);
String createdBy = callableStatement.getString(3);
Date createdDate = callableStatement.getDate(4);

call.registerOutParameter(1, Types.INTEGER);

BIGINT  long[]    long
BINARY byte[][]                byte[]
BIT          boolean[]            boolean
DATE     java.sql.Date[]  java.sql.Date
DOUBLE               double[]              double
FLOAT   double[]              double
INTEGER              int[]       int
LONGVARBINARY            byte[][]                byte[]
REAL      float[]   float
SMALLINT           short[]  short
TIME      java.sql.Time[]  java.sql.Time
TIMESTAMP       java.sql.Timestamp[]     java.sql.Timestamp
VARBINARY


  • getBoolean()
  • getByte()
  • getBytes()
  • getDate()
  • getDouble()
  • getFloat()
  • getInt()
  • getLong()
  • getObject()
  • getShort()
  • getString()
  • getTime()
  • getTimestamp()
  • registerOutParamter()


Sunday, August 2, 2015

DB_Test:

package gui_Design;

import java.sql.*;

public class DB_Connection_Test extends GUI_Design{


String DB_URL=Text1;
String UserName=Text2;
String Password=Text3;
String[] Driver_Class = 

{
"com.ibm.db2.jdbc.app.DB2Driver",
"com.mysql.jdbc.Driver",
"oracle.jdbc.driver.OracleDriver",
"com.microsoft.sqlserver.jdbc.SQLServerDriver",
"org.postgresql.Driver"

};




public void DB_Connection()
{

try {
            Class.forName(Driver_Class[0]);
        }
        
catch (ClassNotFoundException e)

{
            System.out.println("Please include Classpath  Where DB Driver is located");
            
            
        }
       
System.out.println("Driver is loaded successfully");
       
Connection conn = null;

       
        try {
            conn = DriverManager.getConnection(DB_URL,UserName,Password);
           
            if (conn != null)
            {
                System.out.println("Database Connected");
            }
            else
            {
                System.out.println("Database Connection Failed ");
            }
       
        
        } catch (SQLException e) {
           
       
        System.out.println("Database connection Failed");
        }

}



public void SQL_Query_Test()
{

}

public void SP_Test()
{

}

}


Buffer Test: 

import java.awt.Color;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableModel;

public class TablesDesign {
 
static String p,q;
static Boolean caught;
static String sb3;
static StringBuffer SB3=null;
static void Frame()
 {
  final JFrame Frame = new JFrame("SP- Inputs & Outputs");
  Frame.setBounds(300, 200, 500, 270);
   Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
  final JPanel LPanel = new JPanel();
  final JPanel RPanel = new JPanel();
  LPanel.setLayout(null);
  RPanel.setLayout(null);
  
  LPanel.setBackground(Color.black);
  LPanel.setBounds(0, 0, 290, 200);
  RPanel.setBounds(300, 0, 180, 200);
  RPanel.setBackground(Color.red);
  
  final JPanel LPanel1 = new JPanel();
  final JPanel RPanel1 = new JPanel();
  LPanel1.setLayout(null);
  RPanel1.setLayout(null);
  
  LPanel1.setBackground(Color.black);
  LPanel1.setBounds(0, 0, 290, 200);
  RPanel1.setBounds(300, 0, 180, 200);
  RPanel1.setBackground(Color.red);
  
  
  
  String columnNames[] = { "INPUT DATA TYPE", "VALUE"};
      String columnNames2[] = {"OUTPUT RETURN TYPE"};
     Object[][] data = new Object[2][2];
     Object[][] data2 = new Object[4][2];
     DefaultTableModel tableModel = new DefaultTableModel(data,columnNames);
     final JTable table = new JTable(data,columnNames);
     final JTable table1 = new JTable(data2,columnNames2);
     
     
     JScrollPane scroll1 = new JScrollPane(table);
     scroll1.setBounds(0, 0, 290, 200);
     scroll1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     LPanel.add(scroll1);
     
     JScrollPane scroll2 = new JScrollPane(table1);
     scroll2.setBounds(0, 0, 180, 200);
     scroll2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
     RPanel.add(scroll2);
     
     table.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(
          new JComboBox(new DefaultComboBoxModel(new String[] {
             "int",
                 "String",
                 "float",
                 "Char",
                 "xml",
                 "json"
               }))));
    
   
     table1.getColumnModel().getColumn(0).setCellEditor(new DefaultCellEditor(
          new JComboBox(new DefaultComboBoxModel(new String[] {
                 "int",
                 "String",
                 "float",
                 "Char",
                 "Date",
                 "Varchar"
               }))));
     
     
     final JButton Button1 = new JButton("OK" );
     
     
     Button1.setBounds(200, 210, 60, 25);
     Frame.add(Button1);     
     
     Button1.addActionListener(new ActionListener() {
    
     
     
    @Override
        public void actionPerformed(ActionEvent e) {
     caught = false;
   
     StringBuilder buf = new StringBuilder();
     try
    {
    for (int t=0;t<=1;t++)
        {
         
             
        table.getCellEditor(t,1).stopCellEditing();
        table1.getCellEditor(t,0).stopCellEditing();
         
             p =  (String) table.getModel().getValueAt(t, 0);
            q = (String) table.getModel().getValueAt(t, 1);

            for (int t1=0;t1<=3;t1++)
                {
                       
                table1.getCellEditor(t1,0).stopCellEditing();
                 
                     p =  (String) table1.getModel().getValueAt(t1, 0);
                     
                   sb3="Output_"+t1+"+"+"\"\\"+"n"+"\"+";

                     buf.append(sb3);
                  System.out.println();
                 
                   
        }
            caught =true;
             
             
        }
    String result = buf.toString();
    String Output_B="\"Output Return Values: \"+";
    String Output_E="\"\\"+"\\End"+"\"";
    StringBuilder Output_F=new StringBuilder();
    Output_F.append(Output_B).append(result).append(Output_E);
    System.out.println(Output_F);
    }
    catch (Exception Test)
    {
    JOptionPane.showMessageDialog(null,"Input type/Output type should not be empty"+Test);
    caught = false;
     
     
    } finally {
               if(caught == false){
                  
                System.out.println("Not Done");
               }
               else
               {
                JOptionPane.showMessageDialog(null,"Done");
               }
    }
    }
     
     }
     
    );
     
     
    
     
     
     JButton Button2 = new JButton("Cancel" );
     
 Button2.addActionListener(new ActionListener() {
    
     
     
    @Override
        public void actionPerformed(ActionEvent e) {
     
    if ( caught == false)
    {
    System.out.println("Variables are not created successfully");
   
    }
    else 
    {
    System.out.println("Variables are created Successfull....");
   
    // Scanner sc = new Scanner(ClassLoader.class.getResourceAsStream("Drivers\\Test.jar"));
     
    String nn= ClassLoader.class.getName();
    System.out.println(nn);
  }
    }
    });
     
     
     Button2.setBounds(270, 210, 80, 25);
     Frame.add(Button1);
     Frame.add(Button2);
  Frame.add(LPanel);
  Frame.add(RPanel);
  
  Frame.setLayout(null);
  
  Frame.setVisible(true);
 }
 
 public static void main(String[] args) {
  
  Frame();
  
 }
}

Thursday, July 30, 2015

package gui_Design;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringWriter;

import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.runtime.RuntimeConstants;
import org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader;

public class FinalTest {
static StringBuffer stringBuffer = new StringBuffer();
public static void main(String[] args) throws Throwable {
Uma();
}

static void Uma() throws Throwable
{
try {
File file = new File("C:/Users/Mahesh/Desktop/Ma.txt");
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);

String line;
while ((line = bufferedReader.readLine()) != null) {
// if (Integer.parseInt(line)<1)
//
// {
// stringBuffer.append(line+"\"+");
// stringBuffer.append("\n");
// }
//
stringBuffer.append("\""+line+"\"+");
stringBuffer.append("\n");

}
fileReader.close();
//System.out.println("Contents of file:");
System.out.println(stringBuffer.toString());



} catch (IOException e) {
e.printStackTrace();
}
VelocityEngine ve = new VelocityEngine();

        ve.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
        ve.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
       
 
   ve.init();
   org.apache.velocity.Template t = ve.getTemplate( "gui_Design/SP_Template.vm" );
   VelocityContext context = new VelocityContext();
 
   context.put("output", stringBuffer.toString());
        StringWriter writer = new StringWriter();
       
   t.merge(context,writer);
   System.out.println(writer);
 

}


}

Wednesday, March 19, 2014

LoadRunner 12.0 Released.............





March 17, 2014: HP released its most anticipated, revamped, and packed with awesome features for performance testing, HP LoadRunner 12.

Key observations / new features are:


Cloud-based load generators.

 HP describes this feature as "cloud bursting". Users now have the ability to provision load generators on AWS (Amazon Web Service) cloud servers from within LoadRunner or Performance Center.
 Licensing - 50 vUsers free:
 Providing fully-functional applications that allow small-scale testing allow prolonged evaluations and proof-of-concept exercises.

VUGEN improvements:

There are a variety of improvements as you would expect. Key ones are:

The ability to review replay statistics for tests after each run.
Including details on total connections, disconnections and bytes downloaded.
The ability to edit common file types in the editor.
Support for recording in the Internet Explorer 11, Chrome v30 and Firefox v23 browsers.
The ability to create scripts from Wireshark or Fiddler files.
The ability to record HTML5 or SPDY protocols.

TruClient improvements:

TruClient script converter. This basically replays your TruClient scripts and records the HTTP/HTML traffic allowing you to create these script typers from TruClient recordings. This is similar to recording GUI scripts and then converting to other script types.

The addition of support for Rendezvous points, IP spoofing, VTS2 and Shunra network virtualisation in TruClient scripts.

Linux Load Generator improvements:

Building on the increased support for Linux Load Generators in 11.5x, LDAP, DNS, FTP, IMAP, ODBC, POP3, SMTP and Windows Sockets scripts can now be replayed through UNIX load generators.

CI/CD support:

Better integration with Jenkins etc.

Platform support:

Support for installation on Windows Server 2012:
(LoadRunner 11.x and PC 11.x only supported up to W2K8 which was a barrier to enterprise adoption).
LoadRunner components can now run in a "non-admin" user account with UAC and DEP enabled.


Get your own Copy: ( Trail Version ) : HP LoadRunner 12

HP LoadRunner Data Sheet:


---Source from: http://blog.trustiv.co.uk/2014/03/first-look-loadrunner-12

Monday, January 27, 2014

Big Data Testing VS ETL Testing



Big Data Testing VS ETL Testing

Whether it is a Data Warehouse (DWH) or a BIG Data Storage system, the basic component that's of interest to us, the testers, is the 'Data'. At the fundamental level, the data validation in both these storage systems involves validation of data against the source systems, for the defined business rules. It's easy to think that, if we know how to test a DWHwe know how to test the BIG Data storage system.
But, unfortunately, that is not the case! In this blog, focusing on some of the differences in these storage systems and suggest an approach to BIG Data Testing.
Let us look at these differences from the following 3 perspectives:

-Data

Four fundamental characteristics by which the data in DWH and BIG Data storage systems differ are the Data Volume, Data Variety, Data Velocity and Data Value.



DWH (Data Warehouse)
Big Data
Typical Data volumes which the current DWH systems are capable of storing is in terms of Gigabytes.
The BIG Data storage systems can store & process data sizes more than Petabytes.
When it comes to Data variety, there are no constraints on the type of data that can be stored and processed within a BIG Data storage system.
DWHs, can store and process only 'Structured' data.Whether it is 'structured' or 'unstructured' can be stored and efficiently processed within a tolerable elapsed time in BIG Data Storage system.
The data is stored in DWH is through 'Batch Processing', BIG Data implementations support 'Streaming' data too.
DWH systems are based on RDBMS.
The BIG Data storage systems are based on File system.
DWH systems have limitations on the linear data growth.BIG Data implementations such as the ones based on Apache Hadoop have no such limitations as they are capable of storing the data in multiple clusters.
Validation tools for DWH systems testing are based on SQL (Structured Query language). For BIG Data, in Hadoop eco system range from pure programming tools like MapReduce (which supports coding in Java, Peal, Ruby, Python etc) to wrappers that are built on top of MapReduce like HIVE QL or PIGlatin.

What does this mean to the tester?


DWH - Tester
Big Data - Tester
A DWH tester has the advantage of working with 'Structured' data. (Data with static schema).
But BIG Data tester may have to work with 'Unstructured or Semi Structured' data (Data with dynamic schema) most of the time.
The tester needs to seek the additional inputs on 'how to derive the structure dynamically from the given data sources' from the business/development teams.
When it comes to the actual validation of the data in DWH, the testing approach is well-defined and time-tested.
 Tester has the option of using 'Sampling' strategy manually or 'Exhaustive verification' strategy from within automation tools like Infosys Perfaware (proprietary DWH Testing solution).
 Considering the huge data sets for validation, even 'Sampling' strategy is a challenge in the context of BIG Data Validation.
RDBMS based databases (Oracle, SQL Server etc) are installed in the ordinary file system.
So, testing of DWH systems does not require any special test environment as it can be done from within the file system in which the DWH is installed. 
When it comes to testing BIG Data in HDFS, the tester requires a test environment that is based on HDFS itself.
Testers need to learn the how to work with HDFS as it is different than working with ordinary file system.
 The DWH testers use either the xl based macros or full-fledged UI based automation tools. Validation tools for DWH systems testing are based on SQL (Structured Query language).For BIG Data, there are no defined tools. Tools presently available in the Hadoop eco system range from pure programming tools like MapReduce (which supports coding in Java, Peal, Ruby, Python etc) to wrappers that are built on top of MapReduce like HIVE QL or PIGlatin.

-Conclusion

Experience in DWH at the least, can only shorten the learning curve of the BIG Data tester in understanding the extraction, loading transformation of the data from source systems to HDFS at the conceptual level. It does not provide any other advantage.
BIG Data testers have to learn the components of the BIG Data eco system from the scratch. Till the time, the market evolves and fully automated testing tools are available for BIG Data validation, the tester does not have any other option but to acquire the same skill set as the BIG Data developer in the context of leveraging the BIG Data technologies like Hadoop. This requires a tremendous mindset shift for both the testers as well as the testing units within the organization.

--Thanks.


Thursday, January 16, 2014

Apache JMeter - Version 2.11 Released.............


  
 Download -Version 2.11




New Improvements

HTTP(S) Test Script Recorder improvements.

JMS Publisher/Point to Point : Add ability to set typed values in JMS header properties.

View Results Tree : Add an XPath Tester.

Ability to choose the client alias for the cert key in JsseSslManager such that Mutual SSL auth testing can be made more flexible.

Add a "Save as Test Fragment" option.

Summariser is be enabled by default in Non GUI mode.

Transaction Controller:Change default property "Include duration of timer..." for newly created element.

Go to Changes for more info. Follow on Twitter.




Monday, December 23, 2013

HP LoadRunner Mobile Recorder - ( Android App)



Hi,

Mobile applications are quickly becoming the de-facto market platform for many of the business-critical applications deployed by banks, insurance companies and other enterprise organizations, the need to ensure an optimal end user experience mandates a robust mobile performance testing environment.

When millions of people hit your mobile app at once, it needs to perform like a rock star. So how can we ensure that our 'Mobile App' performing well?

HP LoadRunner Mobile Recorder is an Android application that enables you to record all of the network traffic of your native, browser-based or hybrid mobile web applications to a capture file. The file is then used to generate a LoadRunner script. Recorded script can be used to test Mobile App performance.


Install LoadRunner Mobile App for Android.

Here is a short tutorial how to use Mobile Recorder.

Check out the Article, 'Who’s up for mobile performance testing?

LoadRunner Utility Functions ( C language)


LoadRunner Utility Functions ( C - language)


Command line parsing functions:

 lr_get_attrib_double
lr_get_attrib_long
lr_get_attrib_string

Informational functions:

lr_end_timer
lr_get_host_name
lr_get_master_host_name
lr_get_vuser_ip
lr_start_timer
lr_user_data_point
lr_user_data_point_ex
lr_user_data_point_instance
lr_user_data_point_instance_ex

lr_whoami

Message Functions 

lr_debug_message
lr_error_message
lr_get_debug_message
lr_log_message
lr_message
lr_output_message
lr_set_debug_message

lr_vuser_status_message

Run-Time Functions

lr_abort
lr_continue_on_error
lr_disable_ip_spoofing
lr_enable_ip_spoofing
lr_exit
lr_load_dll
lr_param_increment
lr_peek_events
lr_rendezvous
lr_rendezvous_ex
lr_think_time

String and Parameter Functions 

lr_advance_param 
lr_checkpoint
lr_convert_string_encoding 
lr_decrypt 
lr_eval_string
lr_eval_string_ext 
lr_eval_string_ext_free 
lr_free_parameter
lr_next_row
lr_param_increment
lr_param_sprintf
lr_param_unique
lr_paramarr_idx
lr_paramarr_len
lr_paramarr_random
lr_save_datetime
lr_save_int
lr_save_searched_string
lr_save_string
lr_save_var

Transaction Functions

lr_end_sub_transaction
lr_end_transaction
lr_end_transaction_instance
lr_fail_trans_with_error
lr_get_trans_instance_duration
lr_get_trans_instance_status
lr_get_trans_instance_think_time
lr_get_trans_instance_wasted_time
lr_get_transaction_duration
lr_get_transaction_status
lr_get_transaction_think_time
lr_get_transaction_wasted_time
lr_resume_transaction
lr_resume_transaction_instance
lr_set_transaction
lr_set_transaction_instance_status
lr_set_transaction_status
lr_set_transaction_status_by_name
lr_start_sub_transaction
lr_start_transaction
lr_start_transaction_instance
lr_stop_transaction
lr_stop_transaction_instance
lr_wasted_time

Database Functions 

lr_db_connect
lr_db_disconnect
lr_db_executeSQLStatement
lr_db_dataset_action
lr_db_getValue
lr_db_dataset_action



Monday, December 9, 2013

Thursday, October 31, 2013


Automating Hadoop Stack Deployment & Testing:

Check the below video how to Automating Hadoop Testing & Why 





Thanks,

Uma Mahesh A

Tuesday, October 22, 2013

Apache JMeter - Version 2.10 Released.........






Download -Version 2.10




Core Improvements

New Performance improvements.
New CSS/JQuery Tester in View Tree Results.

Many improvements in HTTP(S) Recording have been made.

You can now load test MongoDB through new MongoDB Source Config.

Kerberos authentication has been added to Auth Manager.

Device can now be used in addition to source IP address.

Timeout has been added to OS Process Sampler.

Query timeout has been added to JDBC Request.

New functions (__urlencode and __urldecode) are now available to encode/decode URL encoded chars.

Continuous Integration is now eased by addition of a new flag that forces NON-GUI JVM to exit after test end.

HttpSampler now allows DELETE Http Method to have a body (works for HC4 and HC31 implementations). This allows for example to test Elastic Search APIs.

2 implementations of HtmlParser have been added to improve Embedded resources parsing.
Distributed testing has been improved.

ModuleController has been improved to better handle changes to referenced controllers.

Best-practices section has been improved, ensure you read it to get the most out of JMeter.


GUI Improvements


New Templates feature that allows you to create test plan from existing template or merge template into your Test Plan.

Workbench can now be saved.

Syntax color has been added to scripts elements (BeanShell, BSF, and JSR223), MongoDB and JDBC elements making code much more readable and allowing UNDO/REDO through CTRL+Z/CTRL+Y.

Better editors are now available for Test Elements with large text content, like HTTP Sampler, and JMS related Test Element providing line numbering and allowing UNDO/REDO through CTRL+Z/CTRL+Y.
JMeter GUI can now be fully Internationalized, all remaining issues have been fixed.
Response Time Graph Y axis can now be scaled.

JUnit Sampler gives now more details on configuration errors.


Go to Changes for more info.


Monday, July 15, 2013

Important Performance Testing Counters...


VIRTUAL USERS

Running VUser – No of VUsers currently accessing a system and their state.

TRANSACTIONS

· Average Transaction Response Time - Gives details of the response time of each executed transaction.
· Passed/Failed Transactions - Indicator of how many transactions passed and failed during the performance test.

WEB RESOURCES

Web resource metrics provide the web server parameters information captured during the performance test.

· Hits per Second - Information of number of HTTP requests sent to the web server during specific time period of the performance test.
· Throughput - Information on server response during specific time period of the performance test.
· HTTP Responses per Seconds - Information of all the HTTP status codes generated per second during the performance test execution.
· Errors per Second - The number different types of errors generated per second.
· Pages Downloaded per Second - Web pages downloaded in every second of the test from the web server.
· Connections per Second - Information on number of new TCP/IP connections opened and shut down during each second of the performance test.

SYSTEM RESOURCES

Monitoring of all the machines (Servers and load injectors) and their operating system resources which
are being used in performance testing of the application are listed below.

· CPU Usage - Information on machine CPU utilization.
· Memory Usage - Information on amount of free disk space, virtual memory pages moved between main memory and disk storage and percent memory used during the scenario execution.
· Disk Space Usage - Information on percent disk space used.
· Service Monitors - Information on running processes on the machine and the amount of system resources they are using.

WEB SERVERS

List of performance metrics monitored during performance test varies with the type of web server;
Following is the list of performance counters for Microsoft IIS web server.

· Bytes Sent per Second
· Bytes Received per Second
· Get Requests per Second
· Post Requests per Second
· Maximum Connections
· Not Found (404) Error per Second
· Private Bytes
· Percent of Processor Time
· System Processor Queue Length
· Percent Disk Time
· Queue Length
· Cache Hit Percent
· Request Wait Time
· Request Queued
· Transactions per Second

APPLICATION SERVERS

Every type of application server has its performance counters based on its model.
Some of the important Web Sphere application performance counters:

· Memory Free
· Total Memory
· Memory Use
· Bean Destroys
· Active Threads
· Total Threads
· Percent Time Maxed
· Connection Wait Time
· Connection Time
· Connection Percent Used
· Active Transactions
· Transactions Suspended
· Rolled Back
· Timeouts
· Servlet Errors
· Sessions Invalidated

DATABASE SERVERS

Some of the common metrics monitored for all database servers are following,

· Database Transaction Summary - Information of volume of data sent and received by the database server.
· Database Connection Summary - Information of total number of open and close connections on database server during the test.
· Database Thread Summary - Information of number of new threads created, connected and used.
· Database Query Summary - Information of total number of queries read, wrote and deleted by the database server.

Some of the most important performance counters of Microsoft SQL Server are following,

· Transactions per Second
· Log Cache Hit Ratio
· Log Cache Reads per Second
· Log Bytes Flushed per Second
· Log Flush Wait Time
· Log Flush Waits per Second
· Log Flushes per Second
· Percent Log Used

NETWORK CONFIGURATIONS

Some of the important network metrics within a network segment which AgileLoad monitors are,

· Bytes per Second Sent to Network Interface Card
· Bytes per Second Received by NIC
· TCP Segments Sent per Second
· TCP Segments Received per Second
· TCP Segments per Second
· TCP Segments Retransmitted per Second
· TCP Connections Failures
· TCP Connections Reset
· TCP Connections Established

CLIENT SIDE OF THE APP

· Images Load Time
· JavaScript Files Load Time
· CSS Files Load Time
· HTML Resources Load Time
· DNS Lookup Time
· TCP Connection Time
· SSL Handshake Time
· Time to First Byte
· Content Download Time
· Content Caching Policy
· Availability Content Delivery Network (CDN)
· Resources Rendering Time
· Number of HTTP Requests
· HTTP Response Status
· HTTP Response Size



Thursday, July 4, 2013

HP LoadRunner 11.52 released...


Watch newly released HP LoadRunner 11.52 Video ...Really its entertainment and informative.




Wednesday, July 3, 2013

LR Web Vuser Functions: C language


Web Vuser Functions:




Action Functions

"web_custom_request"   To create a custom HTTP request with any method supported by HTTP.
"web_image"       Emulates a mouse click on the image defined by the attributes.
"web_link"       Emulates a mouse click on the link defined by the attributes.
"web_submit_data"       Performs an "unconditional" or "contextless" form submission.
"web_submit_form"       Emulates the submission of a form.
"web_url"               Loads a specific URL.


Authentication Functions

"web_set_certificate" To use a specific certificate that is listed in the Internet Explorer registry.
"web_set_certificate_ex" Specifies location and format information of a certificate and key file.
"web_set_user" Specifies a login string for a Web server.


Asynchonous Functions

"web_stop_async"         Stops the specified Asynchronous Conversation including all its active and                future tasks.
"web_util_set_request_body" Sets the specified string to be the request body for the next request sent in the Conversation.
"web_util_set_request_url" Sets the specified string to be the request URL for the next request sent in the Conversation.
"web_reg_async_attributes" Registers the next action function that has requests and responses with the specified URL as the beginning of an Asynchronous Conversation.
"web_reg_cross_step_download" Registers a request to allow the download of the specified URL to continue beyond the step that initiated it.
"web_sync"          Suspends the Vuser script execution until the specified parameter exists.

Callbacks

"Request Callback"                         Called before a request is sent.
"Response Body Buffer Callback" Called when there is content in the response body buffer and at the end of the response body.

"Response Callback"                         Called once at the end of a conversation


Check Functions

"web_find"                 Searches inside an HTML page for a specified text string.
"web_global_verification"                 Searches for text string in all subsequent requests.
"web_global_verification_pause" Suspends the specified checks set by web_global_verification.
"web_global_verification_resume" Resumes the specified checks suspended by web_global_pause.
"web_image_check"                 Verifies the presence of a specified image inside an HTML page.
"web_reg_find"                 Registers a search for a text string for the next Action function.


Connection Definition Functions

"web_enable_keep_alive"            Enables keep alive HTTP connections.
"web_disable_keep_alive"            Disables Keep-Alive HTTP connections.


Concurrent Group Functions

"web_concurrent_end" Marks the end of a concurrent group.
"web_concurrent_start" Marks the beginning of a concurrent group.

The following functions can be used within a concurrent group:

"web_url"
"web_submit_data"
"web_custom_request"
"web_create_html_param"
"web_create_html_param_ex"
"web_reg_save_param"
"web_add_header"


Cookie Functions

"web_add_cookie"         Adds a new cookie or modifies an existing one.
"web_add_cookie_ex" Adds a cookie with specified add behavior.
"web_cleanup_cookies" Removes all cookies currently stored by the Vuser.
"web_reg_add_cookie" Registers a search for a text string and adds a cookie if the text is found.
"web_remove_cookie" Removes the specified cookie.


Correlation Functions*

"web_create_html_param" Saves dynamic information on an HTML page to a parameter. (Obsolete: use only for LR 6.5 and below)
"web_create_html_param_ex" Saves recurring dynamic information on an HTML page to a parameter. (Obsolete: use only for LR 6.5 and below)
"web_reg_save_param"   Deprecated: Use "web_reg_save_param_ex", "web_reg_save_param_regexp" or "web_reg_save_param_xpath".       Saves non-NULL terminated dynamic data from an HTML page to a parameter.
"web_reg_save_param_ex"        Registers a request to save dynamic data located between specified boundaries to a parameter.
"web_save_param_length"         Saves the length of a parameter
"web_reg_save_param_regexp" Registers a request to save dynamic data that matches a regular expression to a parameter.
"web_reg_save_param_xpath" Registers a request to find dynamic data in an HTML buffer that has been formatted as XML and save the data to a parameter.
"web_save_timestamp_param" Saves the current timestamp.
"web_set_max_html_param_len" Sets the maximum length of retrieved dynamic HTML information.


Data Format Functions

"web_convert_from_formatted"   Converts a string created with one or more data format extensions back to the source format.
"web_convert_param" Converts an HTML parameter to a URL or text.
"web_convert_to_formatted" Formats data using one or more data format extensions.


Filter Functions

"web_add_filter"           Sets criteria to include or exclude URLs when downloading (applies to the next action function only).
"web_add_auto_filter"  Sets criteria to include or exclude URLs when downloading (applies to all subsequent action functions).
"web_remove_auto_filter"   Removes a filter on download content.


Header Functions

"web_add_auto_header"   Adds a customized header to all subsequent HTTP requests.
"web_add_header"         Adds a customized header to the next HTTP request.
"web_cleanup_auto_headers" Stops adding customized headers to subsequent HTTP requests.
"web_remove_auto_header" Stops adding a specific header to subsequent HTTP requests.
"web_revert_auto_header" Stops adding a specific header to subsequent HTTP requests, but generates Implicit headers.
"web_save_header"        


Proxy Server Functions

"web_set_pac"         Sets the location of the proxy auto-configuration (PAC) script.
"web_set_proxy" Specifies that all secure HTTP requests be directed to the specified proxy server.
"web_set_proxy_bypass" Specifies the list of URLs that scripts access directly, i.e., not via the specified proxy server.
"web_set_proxy_bypass_local"   Specifies whether or not the proxy server should bypass local addresses.
"web_set_secure_proxy" Specifies that all secure HTTP requests be directed to the specified secure proxy server.


Replay Functions

"web_set_max_retries" Sets the maximum number of retries for an Action step.
"web_set_option"         Sets a Web option.
"web_set_timeout"         Specifies the maximum amount of time that a script waits for a specified operation to be performed.


Service Functions

Service functions perform a task, manipulate, or analyze the data that was received from the server. Many of the tasks done by the service functions can be set by using the Run-Time settings. Advanced users can use the service functions to change settings from inside a script.

Service functions are preceded by the word Service in the treeview representation of the script. For example, Service: Add Auto Header.Saves request and response headers to a variable.


Miscellaneous Functions

"web_cache_cleanup"           Clears the contents of the cache simulator.
"web_convert_date_param"        Converts a date string stored in a parameter to a different format.
"web_convert_param"           Converts an HTML parameter to a URL or text.
"web_dump_cache"                   Save the Vuser cache to a file.
"web_get_int_property"           Returns specific information about the previous HTTP request.
"web_js_reset"                   Resets the JavaScript engine context for the Vuser.
"web_js_run"                   Runs the specified JavaScript.
"web_load_cache"                   Load the Vuser cache from a file.
"web_reg_cross_step_download" Registers a request to allow the download of the specified URL to continue beyond the step that initiated it.
"web_report_data_point"           Specifies a data point and adds it to the test results.
"web_sjis_to_euc_param"           Converts an SJIS string to EUC and assigns it to a parameter.
"web_set_sockets_option"          Sets an option for secure sockets.
"web_switch_net_layer"           Specifies a network layer for replay. (WAP only)



Web (Click and Script) Vuser Functions


Web (Click and Script) functions are GUI Level Vuser Functions. They have a web_xxx prefix, like other HTTP-related functions. Web (Click and Script) Vuser Functions emulate user actions, like clicking on an element, selecting a radio button, and others. The GUI level functions are used together with other HTTP-related functions in the same scripts.


"web_browser"  Performs an action on a browser.
"web_button"         Emulates a user clicking on button.
"web_check_box" Selects or clears a check box.
"web_edit_field" Enters data for text and password input fields.
"web_element"         Emulates a user clicking on an element defined with any HTML tag.
"web_file"                 Enters a path for file input elements.
"web_image_link" Emulates a user clicking on an image that is a hypertext link.
"web_image_submit" Emulates a user clicking on an image that fires a submit request.
"web_list"                 Selects an item from a list control.
"web_map_area" Activates an area within a client side map.
"web_radio_group" Selects one button from a radio button group.
"web_reg_cross_step_download" Registers a request to allow the download of the specified URL to continue beyond the step that initiated it.
"web_reg_dialog" Registers user response for the subsequent call to a JavaScript function.
"web_static_image" Emulates a user clicking on a static image.
"web_table"         Emulates a user action on a table.
"web_text_area" Enters text in an input text area.
"web_text_link"  Emulates a user clicking on a hypertext link.