java的并发测试

原创 2016年05月30日 20:34:49

1. 什么是并发测试

通过代码的编写和工具的利用模拟多线程(多用户)来执行某一个业务操作。来确保业务在多线程的环境下业务(或者说数据的)的正确性

2. 为什么做并发测试

我们常常听到线上环境在高并发的情况下。出现用户的账户余额不对,一个手机号注册了两个账户这类情况。所以我们有必要模拟大量用户的并发测试

3. 如何做并发测试

我在这儿是使用的是testng的方法。见如下实例(在多线程的环境下,非线程安全)

package com.one;

import java.util.HashMap;

import org.testng.annotations.AfterTest;
import org.testng.annotations.Test;

public class UnsafeCountingFactorizer {

    private long count=0;

    public long getCount(){
        return count;
    }

    @Test(invocationCount=20000,threadPoolSize=1000) 
    public void service() {
        HashMap<String, String> hashMap  = new HashMap<String,String>();
        hashMap.put("1", "1");
        hashMap.put("1", "1");
        hashMap.put("1", "1");
        hashMap.put("1", "1");


        ++count;


        HashMap<String, String> hashMap2  = new HashMap<String,String>();
        hashMap2.put("1", "1");
        hashMap2.put("1", "1");
        hashMap2.put("1", "1");


    }

    @AfterTest
    public void endService(){
        System.out.println("count value{}:"+count);
    }   
}

参数讲解
invocationCount:注解的方法执行多少次,threadPoolSize:启动多少个线程去执行。两个参数合起来的含义是启动多少个线程一共执行多少次

结果
预期的结果是20000次,但是事实非如此,见下图:
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

简单java程序测试并发数

package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; ...

java测试并发类

/** * ConTest.java * 版权所有(C) 2012 * 创建:cuiran 2012-07-12 10:12:14 */ package com.wpndemo.test; ...
  • cuiran
  • cuiran
  • 2012年07月12日 15:43
  • 8571

java模拟并发操作进行压力测试

http://www.qqread.com/java/2010/01/c488170.html import java.io.BufferedReader; import java...

白盒测试中如何实现真正意义上并发测试(Java)

在这个话题开始之前,首先我们来弄清楚为什么要做并发测试?一般并发测试,是指模拟并发访问,测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题。站在性能测试...

Java模拟并发操作进行压力测试代码

import java.io.BufferedReader;   import java.io.File;   import java.io.FileInputStream;   import ...
  • a9529lty
  • a9529lty
  • 2013年01月11日 10:40
  • 24506

如何测试一个网站的性能(并发数)?

JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用...
  • zhang_ps
  • zhang_ps
  • 2016年05月08日 15:33
  • 19943

12款最常用的Java测试工具

Parasoft Jtest Jtest是Parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。 Abbot ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Java 性能测试工具 JMH

前言 最近在看《Java8函数式编程》时,发现了一个性能测试工具 JMH(Java Microbenchmark Harness)。这个工具方便了我们进行微基准测试。比如,在进行微基准测试时,我们...
  • hotdust
  • hotdust
  • 2017年05月23日 15:57
  • 1227

使用多线程模拟多用户并发访问一个或多个tomcat,测试性能 java

Java代码   package test;      import java.net.HttpURLConnection;   import java.net.SocketTim...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java的并发测试
举报原因:
原因补充:

(最多只允许输入30个字)