學(xué)習(xí)使用Jmeter做壓力測試(一)--壓力測試基本概念
作者:
網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:
[ 2016/6/20 14:39:41 ] 推薦標(biāo)簽:
性能測試工具 Jmeter
中只是new一個(gè)Test_DB_crud類,形成了Test_DB_crud對(duì)Test_DB_Control的依賴關(guān)系。
[java] view plain copy
package d706;
/*
*程序界面
*按鈕事件
*/
public class Test_DB_gui extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
public static String SQLTEXT = null; // 界面輸入的sql文本
private JScrollPane js = null;
private JPanel jp1 = null;
private JTextArea ta = null;
private JButton jb = new JButton();
public Test_DB_gui(){
this.setTitle("sqlExecV1.0");
ta = new JTextArea();
ta.setText("");
js = new JScrollPane(ta);
jp1 = new JPanel();
jp1.setLayout(new BorderLayout());
jp1.add(js,BorderLayout.CENTER);
jb = new JButton();
jb.setText("執(zhí)行");
jb.addActionListener(this); // 添加監(jiān)聽
jp1.add(jb,BorderLayout.SOUTH);
this.getContentPane().add(jp1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(400,200,700,500);
this.setVisible(true);
jb.addActionListener(new ActionListener(){ // 按鈕事件
public void actionPerformed(ActionEvent e) { // 匿名內(nèi)部類的形式實(shí)現(xiàn)按鈕事件
SQLTEXT = ta.getText(); // 將要執(zhí)行的SQL設(shè)置成靜態(tài)的
Multi_process mp = new Multi_process(SQLTEXT); // 在構(gòu)造實(shí)例時(shí),傳入sql
mp.run(); // 運(yùn)行程序
//System.out.println( mp.SQLTEXT +"***"); // 控制臺(tái)輸出
}
});
}
public void actionPerformed(ActionEvent e) {
// 實(shí)現(xiàn) ActionListener 接口,需要實(shí)現(xiàn)的方法
}
public void run() { // 運(yùn)行方法
Test_DB_gui np = new Test_DB_gui();
System.out.println( np.getTitle() );
}
}
[java] view plain copy
public class Multi_process {
/*
*多線程
*/
public static String SQLTEXT = null; // 待處理的sql語句
public Multi_process(String sql){
SQLTEXT = sql; // sql語句以參數(shù)的形式,在構(gòu)造實(shí)例的時(shí)候傳入
}
public void run(){
Test_DB_Insert td1 = new Test_DB_Insert(SQLTEXT); // 創(chuàng)建實(shí)例
// Test_DB_Insert td2 = new Test_DB_Insert(SQLTEXT);
Thread t1 = td1; // 創(chuàng)建線程
// Thread t2 = td2;
t1.start(); // 啟動(dòng)線程
// t2.start();
// Test_DB_Insert t3 = new Test_DB_Insert();
// Test_DB_Insert t4 = new Test_DB_Insert();
// t3.run();
// t4.run();
}
}
[java] view plain copy
public class Test_Exec {
/*
* 程序入口
*/
public static void main(String[] args){
Test_DB_gui np = new Test_DB_gui();
np.run();
}
}
在Linux下執(zhí)行,需打成jar包,通過shell腳本執(zhí)行。以下是sqlexec的startup.sh執(zhí)行腳本.
[plain] view plain copy
#!/bin/sh
#
#Author: bruce
#Version: sqlExecv1.0
#Date:2013-11-20
#
read -p "please input jar file path:" jarpath
java -jar "$jarpath"
echo "running sqlExec."
注:
突然想到測試數(shù)據(jù)的一個(gè)問題。即造出來的數(shù)據(jù)應(yīng)該更接近真實(shí),而不是都一樣。所以想利用配置文件的方式,在配置文件中寫好SQL,程序讀取執(zhí)行配置文件并動(dòng)態(tài)生成SQL,完成插入測試數(shù)據(jù)。這樣解決了測試數(shù)據(jù)不夠真實(shí),可能影響測試結(jié)果的問題。