您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
單元測試之用JUnitPerf測試多線程并發(fā)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/1/15 10:19:26 ] 推薦標(biāo)簽:

  簡介:

  單元測試和性能測試在測試領(lǐng)域?qū)儆谝笙鄬^高的測試活動,也是測試工程師成長、向上發(fā)展的反向。單元測試評測我們的代碼實現(xiàn)功能的情況,性能測試則企圖分析應(yīng)用程序的性能表現(xiàn)和負(fù)載能力。那么“單元性能測試”能做什么?我們可以這樣說,單元性能測試以單元測試的形式對代碼進(jìn)行性能測試。單元性能測試像單元測試一樣,需要測試人員編寫測試代碼,但現(xiàn)在關(guān)注的不是代碼的功能實現(xiàn)情況了,而是想得到被測試代碼的性能數(shù)據(jù),包括執(zhí)行方法耗時、多線程并發(fā)是否線程安全、內(nèi)存是否泄漏、是否存在短期循環(huán)對象等。單元性能測試相對于系統(tǒng)性能測試更容易定位問題,對關(guān)鍵的方法進(jìn)行測試,可以降低系統(tǒng)性能風(fēng)險,減少系統(tǒng)集成后系統(tǒng)性能測試的工作量。本篇文檔演示如何使用JUnitPerf程序包對代碼進(jìn)行多線程并發(fā)測試。

  待測代碼DateUtil:

  我們待測的程序代碼為com.loggingselenium.DateUtil類。這個類中有一個私有靜態(tài)成員timeFormator和一個靜態(tài)方法compareDateTime(String dateTime1, String dateTime2)。


package com.loggingselenium;
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateUtil {
 private  static SimpleDateFormat timeFormator =
  new SimpleDateFormat("yyyyMMdd HH:mm:ss");
 public synchronized static int compareDateTime(String dateTime1, String dateTime2) {
  try {
   Date date1 = timeFormator.parse(dateTime1);
   Date date2 = timeFormator.parse(dateTime2);
   if (date1.before(date2))
    return -1;
   if (date1.after(date2))
    return 1;
   else
    return 0;
  } catch (Exception e) {
   throw new RuntimeException("解析日期時間格式出錯,期望的字符串格式為[yyyyMMdd HH:mm:ss]");
  }
 }
}


  單元測試代碼UnitTestDateUtil:

  我們的測試代碼com.loggingselenium.UnitTestDateUtil如下:


package com.loggingselenium;
import junit.framework.TestCase;
public class UnitTestDateUtil extends TestCase {
 protected void setUp() throws Exception {
  super.setUp();
 }
 protected void tearDown() throws Exception {
   super.tearDown();
 }
 public  void testCompareDateTime(){ 
  String dateTime1="20120111 01:02:03";
  String dateTime2="20130111 01:02:03";
  String dateTime3="20130111 01:02:03"; 
  assertEquals(-1, DateUtil.compareDateTime(dateTime1, dateTime2));
  assertEquals(1,  DateUtil.compareDateTime(dateTime2, dateTime1));
  assertEquals(0,  DateUtil.compareDateTime(dateTime2, dateTime3));
 }
}


  經(jīng)過運(yùn)行單元測試代碼,可以驗證com.loggingselenium.DateUtil類的compareDateTime(String dateTime1, String dateTime2)的功能已經(jīng)實現(xiàn)了,可以用來比較兩個日期時間的大小了。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd