软件测试中使用VS2008进行WEB负载测试
最近接触关于多线程的软件测试,所以对vs2005里的测试开始感兴趣,今天学习试用了一下,记下所获得的。
vs 测试分“WEB测试”,“单元测试”,“负载测试”,“手动测试”,“顺序测试”,一般测试这几个,我分别讲解一下。
Web测试是用于测试一连串的网页,可把服务器路径作为参数,把post,get的变量作为参数输入,还有其它一些功能可参考vs的说明。
负载测试是把“WEB测试”,“单元测试”,“顺序测试”都放在一个测试项目里,然后设定负载数量作测试,但我在实际使用中发现个问题就是,我在负载里设定一分钟,50000个负载,运行同一个 asp.net的页面,实际情况是只运行了30000多次,但系统提示测试完成,而且也没出现什么错误,我也不明白是什么问题,希望有高手指教。
手动测试,这个好像是你在外部测试完后在vs里写下记录已而。
顺序测试,这是把web测试,单元测试按你自己指定的排序执行
一般测试,可以在外部设计测试程序,然后嵌入到VS里面。
在试用完vs的测试系统后,感觉功能强大,面而灵活性很好,早几天和一个朋友交流,据了解vs的测试系统比IBM的rational功能还强。
网站性能分析工具很多,最有名的是LoadRunner进行压力测试。但VS2008也提供了工具进行Web测试和负载压力测试,前者可以用来单步逐页分析网站性能,确定哪个request哪个步骤占用时间,后者可以对网站模拟并发用户请求,测试WEB性能。
首先打开VisualStudio2008新建一个工程,测试 - 测试,一个空的测试项目就建好了。
然后选中项目,右键新建WEB测试:
然后进行场景录制,可以输入你的网站地址,然后进行模拟用户的操作,可以很多步。。。。
在建好的WEB测试中点击“运行测试”开始测试,看到运行结果,可以对结果进行单步每个request逐页分析网站性能,确定哪个request哪个步骤占用时间。
负载测试:
选中项目,右键新建负载测试(Load Test),点击next,每一步可以设置一些测试参数,例如并发用户数量及其增长方式等,在TestMix这一步中要加前面已建立的WEB测试项目,或更多。在NextworkMix这一步可以模拟用户的网络状况,多加几种网络状况,设置权重比等。在CounterSets这一步一定要加上WebServer机器名,而不是本机名。然后设置运行时间等。
在建好的负载测试中点击“运行测试”开始测试,注意一点:默认的CounterSets的WebServer的性能指标只有两个,你如果希望监测服务器更多的性能指标,例如IO、网络、CPU、内存等等,可以在左边点“计算机”-“机器名”-“指标”,然后右键“添加到选中的图表”:
注意看Server的CPU利用率,IO,网络,内存使用情况,页面反应时间等,对性能瓶颈进行分析。
并发数量可能受限于测试机的性能,这点要注意,尽量用多台机器分布式模拟用户并发。
也可以运行perfmon,通过Performance查看机器的各项指标。