Monday, May 14, 2012

Database Testing Using JMeter

Steps For Database Testing
  • Download JMeter
  • Download the Latest Version of JMeter

  • Run the JMeter.bat
  • Run the jmeter.bat file from the JMeter installation directory.

  • JMeter GUI
  • JMeter GUI will be shown…

  • Adding Basic controls to the Test Plan
    • Thread Group control
    • Right click on the Test Plan and add the Thread Group control.
      Note: Thread Group allows us to run script with n no. of users with defined ramp-up period and also the scheduling of execution.
    • JDBC Request control
    • Add the JDBC Request control below the Thread Group. Note: JDBC Request allows us to run a SQL query, procedure etc.
    • JDBC Connection Configuration control
    • Add the JDBC Connection Configuration control to the Test Plan.
      Note: JDBC Connection Configuration control is used to configure the database i.e. Oracle, SQL Server etc. In this control, we need to provide values to the following parameters to communicate with DB server
      Database Connection Configuration
        For Oracle
        ============================
        Database URL: jdbc:oracle:thin:@localhost:IP:service (e.g. IP: 1521, Service: oracle)
        JDBC Driver Class: oracle.jdbc.driver.OracleDriver
        Username: Username of the database (e.g. Username: scott)
        Password: Password of the user (e.g. Password: tiger)

        For SQL Server 2005
        ============================
        Database URL: jdbc:sqlserver://localhost:1433;databaseName=Learn_DB;
        JDBC Driver Class: com.microsoft.sqlserver.jdbc.SQLServerDriver
        Username: Username of the database (e.g. Username: sa)
        Password: Password of the user (e.g. Password: password)
        Copy this jar file to “lib” folder. This is jdbc driver for SQL server 2005 [downloaded from Microsoft’s site]
        For MySQL
        ============================
        Database URL: jdbc:mysql://localhost:3306/mydb
        JDBC Driver Class: com.mysql.jdbc.Driver
        Username: Username of the database (e.g. Username: guest)
        Password: Password of the user (e.g. Password: password)
        Where “mydb” is Database Name E.g. for MySQL is given in jmeter’s user manual “http://jakarta.apache.org/jmeter/usermanual/build-db-test-plan.html”
    • View Result Tree control Add the View Result Tree control to the Test Plan.
    • Note: View Result Tree control is used to view the result of the query executed.
    • Parameterization
    • User Parameters Control
      1. Add the User Parameters control to the Thread Group.
      2. Pass the variable to the query or procedure.
      Syntax: ${variable_name} (e.g. ${Dept_No})
      Sample Query: update dept set loc='JMeter' where deptno=${Dept_No}
    • Calling Procedure
    • 1. Add the JDBC Request control to the Thread Group.
      2. Procedure which we are going to call must exist in database.
      3. Type the following command in SQL Query parameter of the JDBC Request control
      begin
      {call update_DEPT_PKG.update_DEPT(10)};
      end;
      Whichever procedure we want to call must be inside the begin…end block. Call keyword is used to call the procedure from the database.