首先来说说性能测试:
性能是软件的一种非功能特性,他关注的不是软件是否完成了特定的功能,而是软件在完成特定功能是展示出来的及时性。
及时性从不同的视角代表不同的指标:
-
用户:响应时间
-
系统管理员:资源利用率,可扩展性,系统稳定性,系统容量
-
开发人员:系统架构,数据库设计,设计和代码实现
可见,系统稳定性对系统管理员的意义重大,稳定性的好坏也可以直接影响到最终用户所关心的“响应时间”,所以说稳定性测试时性能测试中非常重要的一环。
稳定性测试(亦可称可靠性测试)通过给系统加载一定的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能够稳定运行。
01、如何实施
-
识别并确认软件主要业务(是否需要稳定性测试)
将稳定性测试的重心放在软件最有Value的地方,比如说一个抢票系统,它最有value的地方是当有一定数量的用户同时进行买票操作是系统的相应时间,资源利用率等是否能够正常且稳定,而不是用户如何添加新的联系人,修改个人信息等
-
罗列主要用户场景及相应负载量
a、用户场景可以根据软件主要业务进行设定
b、对主要场景负载量需要有一个清晰的定义(或者通过负载测试验证了用户场景的负载量,这将作为一个标准的负载在稳定性测试中使用)
-
制定稳定性指标模型(Modeling)
根据用户场景建模,创建合适合理的稳定性指标模型(之后会有一个例子)
-
测试环境准备
对软硬件环境的配置:配置的来源可以是客户环境模拟、需求文档规定的配置或者配置测试得出的最佳配置
-
识别稳定性的主要性能指标(KPI)
用来描述稳定性测试关注的系统指标,比如响应时间、CPU、内存使用率等等,需要根据具体业务进行定义
-
测试的执行和数据收集
-
按照相应稳定性指标模型(Modeling)分析测试结果
将测试结果应用在稳定性测试模型中,观察是否满足稳定性要求
-
持续改进(如有必要)
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn999】
02、稳定性指标模型(例子)
下面我们拿一个BI(商业智能)的例子来进行我们的稳定性测试建模:
1、软件主要业务:
从大量元数据中提取(ETL)客户关心的数据并最终生成报表(本文以微软平台BI为例:SSIS,SSAS,SSRS)
2、用户场景:
利用SSIS 包进行ETL操作将元数据计算转化后导入到数据立方体(Cube)中。
3、典型负载:每小时3000个用户,100000条数据,执行7x24小时
4、测试环境:需求文档中规定的配置
5、主要性能指标:
-
ETL时间:9分钟,差别:1分钟,方差:<0.1
-
系统相关:CPU,Memory,Private Mbytes/sec等
6、稳定性指标模型:
-
计算公式
-
稳定性模型
-
从图表中可以看出:
-
ETL上限为12分钟(即如果超过12分钟就证明有瓶颈,需要调查)
-
ETL平均值为9分钟
-
控制线的上下方分别为Avg加减3倍的方差
-
实际使用时间围绕平均值上下分布(标准为同一向不能出现连续7个点:如连续7个实际检测值都在平均值的上方,这时就需要进行调查)
-
系统方面的指标也可以按照这个方法去分析
当然,对系统资源占用要求不高的系统可以直接通过占用曲线来分析稳定性
7、执行测试获取结果,套用指标模型进行分析
03、总结
总的来说,稳定性测试是用来验证产品在一定的负载下是否能够长时间的稳定运行,其主要目的是验证能力,并在能力的验证过程中找到系统不稳定的因素并进行分析解决。
作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。