您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 性能测试 > 正文

性能测试构造测试数据--初篇

发表于:2017-01-09 作者:网络转载 来源:

  MySQL
  mysql构造测试数据分为两种:
  1、自己写SQL语句,利用LR等工具进行对数据的插入
  2、利用数据库本身的存储过程构造测试数据(单线程执行,服务器端执行减少了网络的消耗)
  本篇主要说下第二种方式。
1 BEGIN
2     -- DECLARE 是用来定义变量的
3     DECLARE i INT DEFAULT 1;
4     DECLARE p_sex VARCHAR(10);
5     DECLARE p_course VARCHAR(10);
6     -- WHILE循环,以DO开始,以END WHILE结束
7     WHILE i<10000
8         DO
9         -- IF循环,以THEN开始,以END IF结束
10         IF i%2=0 THEN
11             SET p_sex = 'M';
12             SET p_course = 'Math';
13         ELSE
14             SET p_sex = 'W';
15             SET p_course = 'Music';
16         END IF;
17         -- CONCAT(str1,str2,...)拼接多个字符串
18         -- RAND()函数,随机返回一个(0,1)的小数
19         -- FLOOR()函数:取整函数
20         INSERT INTO teacher (cardNO,name,sex,age,course,created,modified) VALUES(i+1000000,CONCAT('teacher_',FLOOR(RAND()*10000)),p_sex,FLOOR(20+RAND()*10),p_course,NOW(),NOW());
21         SET i = i+1;
22     END WHILE;
23 END
  Redis
  redis的数据构造要比mysql的数据构造简单些。
  具体方法如下:
  1、导入jedis-2.1.0.jar包,在eclipse写构造数据的代码
  2、把写好的代码导入LR进行参数化等
  单个redis具体的代码如下:
1 package com.redis;
2
3 import redis.clients.jedis.Jedis;
4
5 public class redistest {
6
7     public static void main(String[] args){
8         Jedis jedis = new Jedis("192.168.1.x",6379);//连接redis,可以放在LR的int里面
9
10         jedis.set("hankai", "123456");//具体需要构造的数据,可在LR中进行参数化等
11         System.out.println("ok");
12     }
13 }
  还有一种办法是先进行压力的测试直接从数据库读取数据,一边连接进redis查看dbsize的数量。