51Testing软件测试论坛

标题: 这样做并发测试能行吗?(希望大家能帮忙.在此小弟非常感谢)在线等大家的帮忙? [打印本页]

作者: jadeyu712    时间: 2010-1-15 10:17
标题: 这样做并发测试能行吗?(希望大家能帮忙.在此小弟非常感谢)在线等大家的帮忙?
应用程序说明:   .Net2.0, MySQL的数据库.

测试要求:两个客户端(连接到同一个MySql数据库)能同时做一个添加food的功能,如下图:

(说明:查看开发代码.添加这一条记录的主键值是从另一个表中读取出来的.从为添加当前记录主键的值.当添加成功后.再把主键表中的值向前加1.例:当前主键表中的值是10000,当点击OK按钮后.从主键表中知到这一条记录的主键值为10000,然后在food表中添加主键值为10000的记录,再把主键表的值更新为10001).
测试方法:  通过LR的.NET插件.代码如下:
          public class VuserClass
    {
        LoadRunner.LrApi lr;
        public VuserClass()
        {
            lr = new LoadRunner.LrApi();
        }

        public int Initialize()
        {
            return lr.PASS;
        }

        public int Actions()
        {
            FoodManagement foodManagement = new FoodManagement();

            //添加foodmenu的操作.
            //1.从主键表中得到当前的主键信息.
            long FoodNo;

            FoodNo = foodManagement.GetTableNo("t_foodmenu");
            lr.think_time(3);
            //下面是向添加Foodmenu的方法.
//插入集合点
           // lr.rendezvous("添加foodmenu");
            lr.start_transaction("T_AddFoodmenu");
            byte[] imageByte=null;
foodManagement.AddFoodMenu(FoodNo,1000003,"kotei01","bread","面包",float.Parse("1.2"),float.Parse("1.3"),float.Parse("1.4"),float.Parse("1.5"),float.Parse("1.6"),(int)FoodNo,"Yes","Yes",imageByte);
            lr.end_transaction("T_AddFoodmenu", lr.AUTO);
             return lr.PASS;
        }

        public int Terminate()
        {
            // TO DO: Add virtual user's termination routines
            return lr.PASS;

        }

    }
当在场景中时,只能成功一个VU.其它的失败.

这样是否说明这个并发是不成功的呢?这样的测试方法是否正确.还有其它测试方法.

[ 本帖最后由 jadeyu712 于 2010-1-15 10:28 编辑 ]
作者: jadeyu712    时间: 2010-1-15 10:34
有12个看了.一句安慰的话也没有?哎!
作者: 云层    时间: 2010-1-15 10:47
看到.net的用Loadrunner做性能测试就头晕,用vsts自带的不好么。。。
作者: blessed    时间: 2010-1-15 11:13
现在还不会编码实现性能测试,都是用录制的 ,帮你顶
作者: Gerrard    时间: 2010-1-15 13:35
是不是从主键表锁造成的?
作者: jadeyu712    时间: 2010-1-15 14:52
标题: 回复 5# 的帖子
什么意思?
能详细说明一下吗?
作者: jadeyu712    时间: 2010-1-15 18:07
还是不行呀!
作者: zhuxiaoyan003    时间: 2010-1-16 09:46
我很想跟你探讨这个问题,于是认真看了你写的问题描述,但感觉看后仍然很糊涂,不是很明白楼主的意思,希望楼主能踏下心来,仔细的描述一下问题,别有错别字啊。
作者: Gerrard    时间: 2010-1-18 09:38
标题: 回复 6# 的帖子
http://blog.csdn.net/zmhdgut/archive/2008/07/24/2705812.aspx
这篇文章是介绍表锁的,表锁针对 多个用户同时对数据库的并发操作时造成数据不一致的问题.
你参考一下,对你的测试可能有帮助.




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2