如何在服务器上测试软件

如何在服务器上测试软件,第1张

天互数据 为您解答
服务器测试方法

服务器测试方法分为两个大方面,性能测试与功能测试。
我们在性能测试方面采用了新的测试方法,主要分为文件测试、数据库性能测试与
Web
性能测试三个
方面。其中,文件性能与数据库性能采用美国
Quest
软件公司的
Benchmark Factory
负载测试和容量规划
软件,
Web
性能测试则使用了
Spirent
公司提供的
Caw WebAvalanche
测试仪。
一、性能测试
1
、文件性能测试方法
Benchmark Factory
软件能按照文件读写的关键指标定制事务。软件最大支持
1000
个虚拟客户。
本次测试环境包括
10
台配置为
PIII800/128MB
内存
/20G
硬盘以上的客户端,它们用来模拟虚拟用户。
控制台为配置是
PIII 850/128MB
内存
/40G
硬盘的
Acer
笔记本电脑。交换机为带有两个千兆
GBIC
接口、
24

10/100M
自适应端口的
Cisco 2950
,客户端与控制台通过
100M
网卡连到交换机上,被测服务器则通
过千兆光纤网卡与交换机相连接。
被测服务器均安装带
SP4

Windows
2000
Advanced Server
*** 作系统,在所有三项性能测试中都统一
RAID
级别为
5

在具体测试方案设置上,测试软件把决定文件读写 *** 作的关键因素设定为:读
/
写、随机
/
顺序、 *** 作
块大小、对象大小四个。在本次测试中,考虑到我们设有单独的数据库及
Web
测试项目,所以在文件测试
中,我们把目标确定为测试服务器基本的
I/O
性能,这主要由网络接口、系统带宽、磁盘子系统等几大部
分所决定。同时,从几部分的作用看,以大 *** 作块读写大对象文件,小 *** 作块读写小对象文件,较能反映
服务器最基本的
I/O
性能,即“大 *** 作块读写大文件”对系统带宽、缓存的考察,以及“小 *** 作块读写小
文件”对磁盘子系统、网络接口的考察。最终我们确定的四个事务是:
大文件顺序读写
(
*** 作块
8KB
,对象文件
80% 500KB

20% 1MB)
大文件随机读写
(
*** 作块
8KB
,对象文件
80% 500KB

20% 1MB)
小文件随机读
(
*** 作块
1KB
,对象文件
80% 1KB

10% 10KB

10% 50KB)
小文件顺序写
(
*** 作块
1KB
,对象文件
80% 1KB

10% 10KB

10% 50KB)
每个事务的用户数均以固定步长逐渐增加,
最大可增加到
1000
个虚拟用户。
其中,
“大文件顺序读写”
事务的用户数按照
40
的步长从
1
可增加到
400

(
测试至强服务器
)

200

(
测试
TUALATIN
服务器
)
,其
他事务则将用户数按照
100
的步长从
1
增加至
1000
。我们期望得到其在不同用户数时被测服务器的性能表
现。总体上其走势及峰值反映了该服务器的性能。每项事务均运行三次,每次之间被测服务器进行重启,
最终结果为三次平均值。
2
、数据库性能测试方法

“乘机安全小贴士”安全出行要重视
数据库性能测试同样使用了
Benchmark Factory
软件,测试环境如同文件性能测试。测试时,在被测
服务器上安装
SQL Server 2000
使用企业版。首先在被测服务器上创建新的数据库,通过使用
Benchmark
Factory
预定义的
Database Spec
项目向数据库中创建表,装载数据。在服务器端创建以
CPU
计算为主的
存储过程,通过
10
台客户机模拟用户、按照
40
个虚拟用户的步长递增到
400
个用户,执行该存储过程。
结果是以获得的每秒事务数
(TPS)
衡量服务器的数据库事务处理能力。
整个测试分为三次,
每次之间重新启
动被测服务器,最终取三次平均值作为评价结果。
3

Web
性能测试方法
Web
性能测试工具是由
Spirent
公司提供的
Caw WebAvalanche

WebAvalanche
模拟实际的用户发出
>那么性能测试环境与功能测试环境有什么不同呢?性能测试对测试环境的干净、独立性要求更高,更为严格。对于一个相对较规范的公司,都会建立其独立的研发环境、测试环境、线网环境(最终运行软件的环境)。

这里多扯一点,系统可以分为C/S架构的系统与B/S架构的系统,C/S架构的系统又可以分为两种,第一种是基本不用与服务器连接的,比如我们用到的java虚拟机JVM,photo shop平面处理软件,我们可以开启软件更新功能,这时软件向服务器发请求,查当前版本是否是服务器端发布的最新版本,然后,提示用例是否需要更新或下载最新版本的软件。当然,我们也可以关闭更新功能或不检测更新。那么这个软件一样可以在电脑上运行。对于这类软件,我的主要测试环境就是用户的电脑。不同硬件配置、不同 *** 作系统下对软件一系列,从安装使用到卸载。除了验证软件与硬件和系统的兼容性能,还需要验证与其它软件是否兼容。
第二种类型的C/S软件要时刻与服务器与连接,比如我的在线网游,QQ聊天工具等。从软件的启动就需要与服务器进行连接,对于此类软件,我们测试环境的重点依然是用户电脑,但服务器端必须也有一个相对应的测试环境支撑。
对于B/S的系统,我们测试环境的重点就要由用户电脑转为服务器端了,因为系统的所有功能都是由服务器端传递给用户的,所以需要验证服务器传递来的功能是否可用,以及功能的容错能力等。

再回到测试环境的问题上,对于一些企业为了节约资源,进行功能测试的测试环境,一台服务器可以运行多个系统,通过技术手段可以使系统之间是不会相互影响的(以前公司就是一台服务器上跑多个tomcat)。因为功能测试的重点大于系统对客户端发来的请求是否可以进行正确的处理。
那么性能测试为什么对系统的环境要求干净、独立呢?性能测试是要对整个系统运行的软件硬件环境进行测试的,如果某环境下运行多个系统,就很难判断其中的某个环境对资源的占用情况。

1、开发环境
顾名思义,开发同学开发时使用的环境,每位开发同学在自己的dev分支上干活,提测前或者开发到一定程度,各位同学会合并代码,进行联调。
2、测试环境
也就是我们测试同学干活的环境啦,一般会由测试同学自己来部署,然后在此环境进行测试。bug修复后,需要发版更新测试环境来回归bug。
3、回归环境
回归bug的环境,其实就是我们的测试环境,在测试环境上测试、回归验证bug。
4、预发布环境
测试环境到生产环境的过渡。测试环境可能会受到一些限制,一些流程或者数据没有测试到,就可以在预发布环境进行验证,从而保证产品上线质量。
预发布环境和生产环境区别:
1)预发环境中新功能为最新代码,其他功能代码和生产环境一致。
2)预发环境和生产环境的访问域名不同。
注意事项:
1)预发布环境一般会连接生产环境的数据库,测试时要注意,以免产生脏数据,影响生产环境的使用。
5、生产环境
即线上环境,用户使用的环境。由特定人员来维护,一般人没有权限去修改。
另外,还有个灰度发布,发生在预发布环境之后,生产环境之前。
生产环境一般会部署在多台机器上,以防某台机器出现故障,这样其他机器可以继续运行,不影响用户使用。灰度发布会发布到其中的几台机器上,验证新功能是否正常。如果失败,只需回滚这几台机器即可。

软件测试环境包含硬件环境和软件环境,硬件换进主要是pc机,软件环境包括软件运行的 *** 作系统(主流的 *** 作系统:windows、linux、unix),数据库(oracle、mysql、sqlserver、db2等)、web应用服务器(apache、iis、tomcat、nginx等)和集群环境(如负载均衡)。
纯手打,求过。如有错误或不足,欢迎指出。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10260946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存