一些测试总结

来源:互联网 发布:北京公交卡充值软件 编辑:程序博客网 时间:2024/04/27 02:01

换机器了,前一个机器里面,写了很多测试程序,用来测试程序的各个方面。总结一下,省的将来忘记了。


1.List的addAll测试


import java.util.ArrayList;
import java.util.List;
/**
 * 测试列表对象的addAll方法
 * 总结:list的addAll方法将list的值带过去,原list不变。
 * @author Administrator
 *
 */
public class TestListAddAll
{
public static void main(String[] args){
List<String> testList = new ArrayList<String>();
for(int i=0;i<10;i++){
testList.add(String.valueOf(i));
}


List<String> testList2 = new ArrayList<String>();
testList2.addAll(testList);
System.out.println("添加后的list2");
for(int i=0;i<testList2.size();i++){
System.out.println(testList2.get(i));
}
modList(testList2);
System.out.println();
System.out.println("list2修改后的list1");
for(int i=0;i<testList.size();i++){
System.out.println(testList.get(i));
}
System.out.println();
System.out.println("list2修改后的list2");
for(int i=0;i<testList.size();i++){
System.out.println(testList2.get(i));
}

}

public static void modList(List<String> list){
for(int i=0;i<list.size();i++){
list.set(i, "a");
}
}

}


2.对象初始化



/**
 * 测试成员变量的初始化默认值
 * 总结:boolean=false;int=0;float=0.0;double=0.0;Object=null;
 * @author Administrator
 *
 */
public class TestObjectInit {


public boolean boolObj;
public int intNum;
public float floatNum;
public double doubleNum;
public String stringObj;
public Object obj;

public static void main(String[] args){
TestObjectInit testObjectInit = new TestObjectInit();
System.out.println(testObjectInit.boolObj);
System.out.println(testObjectInit.intNum);
System.out.println(testObjectInit.floatNum);
System.out.println(testObjectInit.doubleNum);
System.out.println(testObjectInit.stringObj);
System.out.println(testObjectInit.obj);
}
}



3.DBUnit测试


import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.dbunit.operation.DatabaseOperation;
import org.junit.Test;




/**
 * dbunit 测试
 * 测试结果:
 * 1.dbunit会改变数据库数据
 * 2.可以通过顺序调用setup、test、tearDown的方式达到独立提供dbunit能力的目的
 * 3.dbunit在需要时自行调用数据库连接修改数据,与原有数据库连接无关
 * @author wjx
 *
 */
public class TestSql extends DBTestCase {




@Override
protected DatabaseOperation getSetUpOperation() throws Exception {
return DatabaseOperation.DELETE_ALL;
}


public TestSql() {
super();
        System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "com.mysql.jdbc.Driver" );
        System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "jdbc:mysql://localhost:3306/ZSHOP-DEMO" );
        System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "root" );
        System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "root" );
}


@Test
public void testSql() throws SQLException, Exception{
Class driverClass = Class.forName("com.mysql.jdbc.Driver");
        Connection jdbcConnection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/ZSHOP-DEMO", "root", "root");
        Statement statement = jdbcConnection.createStatement();
        ResultSet rs = statement.executeQuery("SELECT count(*) as NUM FROM `ZSHOP-DEMO`.`UC_ACCOUNT` LIMIT 0, 100; ");
        rs.next();
        System.out.println(rs.getString("NUM"));
        int num = rs.getInt("NUM");
        assertTrue(num>0);
}

@Override
protected IDataSet getDataSet() throws Exception {
return new FlatXmlDataSetBuilder().build(new FileInputStream("student_exp.xml"));
}


}


3.apache ddos模块

package com.ceopen.wjx.test.ddos;


import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import java.util.Set;


/**
 * apache ddos攻击防范模块测试
 * 测试结果:
 * apache ddos攻击防范模块针对整个apache服务器进行,
 * 无法区分服务器内网站进行ddos攻击防范,需要的话,可以改进原代码完成需要
 * @author wjx
 *
 */
public class ThreadGetHtmlPage extends Thread {


private String urlString;
public ThreadGetHtmlPage(String url){
this.urlString = url;
}
@Override
public void run() {
try {
printHeader();
} catch (IOException e) {
e.printStackTrace();
}
}
private void printHeader() throws IOException{
URL url = new URL(urlString);
URLConnection urlConnection = url.openConnection();
Map<String,List<String>> headers = urlConnection.getHeaderFields();
Set<String> keySet = headers.keySet();
System.out.println("Url:"+urlString);
for(String key : keySet){
List<String> headerValues = headers.get(key);
System.out.print("key:"+key+" value:[");
for(String headValue : headerValues){
System.out.print(" "+headValue+" ");
}
System.out.println("]");
}
InputStream input = urlConnection.getInputStream();

byte[] bytes = new byte[1024*5];
input.read(bytes);
String html = new String(bytes);
System.out.println(html);

System.out.println();
System.out.println();


}
}


4.HttpClient测试



import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.methods.OptionsMethod;
import org.apache.commons.httpclient.methods.PostMethod;


/**
 * apache http client测试
 * 发送post请求,取结果
 * @author wjx
 *
 */
public class MainTest01 {


/**
* @param args
* @throws IOException 
* @throws HttpException 
*/
public static void main(String[] args) throws HttpException, IOException {
HttpClient httpclient = new HttpClient(); 
PostMethod method = new PostMethod("http://www.zshop186.com/Consult.do?method=create01");
method.setParameter("compId", "Consult_create01-103");
method.setParameter("productId", "24>%22%27><img%20src%3d%22javascript:alert(590186)%22>");

int statusCode = httpclient.executeMethod(method);

System.out.println("..............header................");
Header[] headers=method.getResponseHeaders();
// List<Header> headers = (List<Header>) httpclient.getHostConfiguration().getParams().getParameter("http.default-headers");
if(headers!=null){
for(Header header : headers){
System.out.println(header.getName()+":"+header.getValue());
}
}
System.out.println("..................header end ...................");


System.err.println("Method status: " + method.getStatusLine());
byte[] responseBody = method.getResponseBody();
String respBodyStr = new String(responseBody);
System.out.println(respBodyStr.indexOf("javascript:alert(590186)"));
// System.out.println(respBodyStr);
System.out.println();
}


}


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


import java.io.IOException;


import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.OptionsMethod;
/**
 * apache http client测试
 * 发送参数方法,取结果
 * @author wjx
 *
 */
public class MainTest03 {


public static void main(String[] args) throws HttpException, IOException{
HttpClient httpclient = new HttpClient();
OptionsMethod method = new OptionsMethod("http://www.dyccb.net/maker/pages/");
httpclient.executeMethod(method);
Header allowHeader = (Header)method.getResponseHeader("Allow");
System.out.println(allowHeader.getValue());

}
}

import java.io.IOException;


import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.OptionsMethod;
/**
 * apache http client测试
 * 发送参数方法,取结果
 * @author wjx
 *
 */
public class MainTest03 {


public static void main(String[] args) throws HttpException, IOException{
HttpClient httpclient = new HttpClient();
OptionsMethod method = new OptionsMethod("http://www.dyccb.net/maker/pages/");
httpclient.executeMethod(method);
Header allowHeader = (Header)method.getResponseHeader("Allow");
System.out.println(allowHeader.getValue());

}
}


5.im4java测试


import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;


import javax.imageio.ImageIO;


import junit.framework.TestCase;


import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
import org.im4java.core.Stream2BufferedImage;




/**
 * im4java测试
 * 基本测试,设置图片大小和格式
 * @author wjx
 *
 */
public class TestIm4Java extends TestCase {




public void testUseIm4Java() throws IOException, InterruptedException, IM4JavaException{
// create command
Stream2BufferedImage myOutputConsumer = new Stream2BufferedImage();
ConvertCmd cmd = new ConvertCmd();
cmd.setSearchPath("/usr/local/ImageMagick-6.5.9-0;C:/Program Files/ImageMagick-6.7.3-Q16");
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage();
op.resize(800, 600);
// op.wave(10D,100D);
// op.blur(0.5D);
op.addImage("JPG:-");
cmd.setOutputConsumer(myOutputConsumer);
// execute the operation
String inputFileName="myimage.jpg";
String outputFileName="myOutputImage.jpg";
cmd.run(op,inputFileName);
BufferedImage bufImg = myOutputConsumer.getImage();
OutputStream outputStream = new FileOutputStream(outputFileName);
ImageIO.write(bufImg, "jpg", outputStream);

}


}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;


import javax.imageio.ImageIO;


import junit.framework.TestCase;


import org.im4java.core.ConvertCmd;
import org.im4java.core.IM4JavaException;
import org.im4java.core.IMOperation;
import org.im4java.core.Stream2BufferedImage;


/**
 * im4java测试
 * 滤镜测试,测试各种滤镜效果
 * @author wjx
 *
 */
public class TestIm4Java6 extends TestCase {




public void testUseIm4Java() throws IOException, InterruptedException, IM4JavaException{
// create command

ConvertCmd cmd = new ConvertCmd();
cmd.setSearchPath("/usr/local/ImageMagick-6.5.9-0;C:/Program Files/ImageMagick-6.7.3-Q16");
Stream2BufferedImage myOutputConsumer = new Stream2BufferedImage();
cmd.setOutputConsumer(myOutputConsumer)
;
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage();
op.resize(800, 600);
op.wave(10D,100D);
op.blur(0.5D);
op.noise(15.0D);
op.addImage("JPG:-");



// execute the operation
String inputFileName="myimage.jpg";
String outputFileName="myOutputImage3.jpg";
BufferedImage inputImage = ImageIO.read(new File(inputFileName));

cmd.run(op,inputImage);
BufferedImage bufImg = myOutputConsumer.getImage();
OutputStream outputStream = new FileOutputStream(outputFileName);
ImageIO.write(bufImg, "jpg", outputStream);

}


}


6.文件操作测试


import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Random;


/**
 * 创建一个指定大小的文件,按照字节计算
 * @author wjx
 *
 */
public class CreateFile {


public static long fileSize=1024*1024*200;
public static String filePath = "/usr/local/apache-tomcat-6.0.32/create_file.txt";
public static String[] charAry = {"1","2","3","4","5","6","7","8","9","0"};
public static int writeSize = 1024*1024;

public static void main(String[] args) throws IOException{
File file=new File(filePath);
if(!file.exists()){
File fileDir = new File(file.getParent());
if(!fileDir.exists()){
fileDir.mkdirs();
}
file.createNewFile();
}
Random rd = new Random(10);


FileOutputStream fileOutputStream = new FileOutputStream(file);
StringBuffer sbf = new StringBuffer();
int size = 0;
for(int i=0;i<fileSize;i++){

int pos = Math.abs(rd.nextInt() % 10);
sbf.append(charAry[pos]);
size++;
if(size>writeSize){
fileOutputStream.write(sbf.toString().getBytes());
System.out.println("file writed");
sbf.delete(0, size);
size=0;
}


}
fileOutputStream.close();
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;


/**
 * 读文件
 * @author wjx
 *
 */
public class ReadFile {


public static String filePath = "/usr/local/apache-tomcat-6.0.32/create_file.txt";
public static int readSize = 16;

public static void main(String[] args) throws IOException{
File file = new File(filePath);
byte[] bytes = new byte[readSize];
if(file.exists()){
FileInputStream fis = new FileInputStream(file);
int readLength = 0;
do{
readLength = fis.read(bytes);
String memo = new String(bytes,0,readLength);
System.out.println("read file:"+readLength);
System.out.println("file content:"+memo);
}while(readLength>=0);

fis.close();

}

}
}


//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


import java.io.File;


/**
 * 文件改名
 * @author wjx
 *
 */
public class RenameFile {


public static String filePath = "/usr/local/apache-tomcat-6.0.32/create_file.txt";
public static String filePathNew = "/usr/local/apache-tomcat-6.0.32/create_file_new.txt";

public static void main(String[] args){
File file = new File(filePath);
File fileNew = new File(filePathNew);
if(file.exists()){
boolean renameFile = file.renameTo(fileNew);
System.out.println("file rename:"+renameFile);
}else{
System.out.println("not found file");
}
}
}


7.系统命令调用


package com.ceopen.wjx.test.runtime;


import java.io.BufferedReader;
import java.io.InputStreamReader;


public class RuntimeExeTest {


public static void main(String[] args) throws Exception {
Process p = Runtime.getRuntime().exec(
"C:/Program Files/ImageMagick-6.7.3-Q16/convert /?");


BufferedReader input = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
}
}