性能测试

概念

首先来说说性能测试:性能是软件的一种非功能特性,他关注的不是软件是否完成了特定的功能,而是软件在完成特定功能是展示出来的及时性。

及时性从不同的视角代表不同的指标:

用户:响应时间
系统管理员:资源利用率,可扩展性,系统稳定性,系统容量
开发人员:系统架构,数据库设计,设计和代码实现
可见,系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心的“响应时间”,所以说稳定性测试时性能测试中非常重要的一环。

稳定性测试(亦可称可靠性测试)通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行。

如何实施

一、识别并确认软件主要业务(是否需要稳定性测试)
将稳定性测试的重心放在软件最有Value的地方,比如说一个抢票游戏系统,它最有value的地方是当有一定数量的用户同时进行买票操作是系统的相应时间,资源利用率等是否能够正常且稳定,而不是用户如何添加新的联系人,修改个人信息等

二、罗列主要用户场景及相应负载量
1、用户场景可以根据软件主要业务进行设定

2、对主要场景负载量需要有一个清晰的定义(或者通过负载测试验证了用户场景的负载量,这将作为一个标准的负载在稳定性测试中使用)

三、制定稳定性指标模型(Modeling)
根据用户场景建模,创建合适合理的稳定性指标模型(之后会有一个例子)

四、测试环境准备(对软硬件环境的配置:配置的来源可以是客户环境模拟、需求文档规定的配置或者配置测试得出的最佳配置)
1、识别稳定性的主要性能指标(KPI)

2、用来描述稳定性测试关注的系统指标,比如响应时间、CPU、内存使用率等等,需要根据具体业务进行定义

五、测试的执行和数据收集
按照相应稳定性指标模型(Modeling)分析测试结果,将测试结果应用在稳定性测试模型中,观察是否满足稳定性要求

六、持续改进(如有必要)
总的来说,稳定性测试是用来验证产品在一定的负载下是否能够长时间的稳定运行,其主要目的是验证能力,并在能力的验证过程中找到系统不稳定的因素并进行分析解决。

上一篇:redhat 5.5 配置网络yum源


下一篇:ffmpeg之-AVFrame解析(五)