性能测试
测试人员通常是做为软件质量控制的一个角色,不仅仅是找bug,需要对整个软件的质量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面 。
测试人员需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能 。
测试人员在做性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等方方面面 。
性能测试类型
1.基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数据作为基础参考
负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,知道系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等
模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题 。负载测试更多地体现了一种方法或一种技术 。
压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力 。
是在**强负载(大数据量、大量并发用户等)**下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力 。压力测试分为高负载下的长时间(如24小时以上)的稳定性压力测试和极限负载情况下导致系统崩溃的破坏性压力测试 。
压力测试可以被看作是负载测试的一种,即高负载下的负载测试,或者说压力测试采用负载测试技术 。通过压力测试,可以更快地发现内存泄漏问题,还可以更快地发现影响系统稳定性的问题 。例如,在正常负载情况下,某些功能不能正常使用或系统出错的概率比较低,可能一个月只出现一次,但在高负载(压力测试)下,可能一天就出现,从而发现有缺陷的功能或其它系统问题 。
通过负载测试,可以证明这一点,某个电子商务网站的订单提交功能,在10个并发用户时错误率是零,在50个并发用户时错误率是1%,而在200个并发用户时错误率是20% 。
负载测试是为了发现系统的性能问题,负载测试需要通过系统性能特性或行为来发现问题,从而为性能改进提供帮助,从这个意义看,负载测试可以看作性能测试的一部分 。但它们两者的目的是不一样的,负载测试是为了发现缺陷,而性能测试是为了获取性能指标 。因为性能测试过程中,也可以不调整负载,而是在同样负载情况下改变系统的结构、改变算法、改变硬件配置等等来得到性能指标数据,从这个意义看,负载测试可以看作是性能测试所属的一种技术,即性能测试使用负载测试的技术、使用负载测试的工具 。性能测试要获得在不同的负载情况下的性能指标数据 。
通过负载测试和压力测试都可以获得系统正常工作时的极限负载或最大容量 。容量测试,自然也是采用负载测试技术来实现,而在破坏性的压力测试中,容量的确定可以看作是一种副产品——间接结果 。
压力测试
稳定性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定
并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题
容量测试(Volume Testing):确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等
性能测试应用场景(领域)主要有:能力验证、规划能力、性能调优、缺陷发现、性能基准比较
恢复测试
恢复测试检测系统的容错能力 。检测方法是采用各种方法让系统故障,检验系统是否按照要求从故障中恢复过来,并在约定的时间内开始事务处理,而且不对系统造成任何伤害 。
强度测试
对系统在异常情况下的承受能力的测试,是检查系统在极限状态下运行时,性能下降的幅度是否允许的范围内 。检查系统能力的最高实际限度,即软件在一些超负荷情况下的运行情况 。
疲劳强度测试
指材料在无限多次交变载荷作用而不会产生破坏的最大应力,称为疲劳强度或疲劳极限 。就像是寻找项目的极值,当到达极值后,会首先出现内存泄漏 。
- bim技术基础的课程总结和心得体会 bim工作总结报告
- 公司员工个人总结报告 企业员工工作总结范文
- 公司和个人项目合作合同 正规个人与公司合作协议范本
- 95公益周是什么意思,95服务项目是什么意思?
- 景区经营什么项目投资少又赚钱 景区暴利赚钱项目有哪些
- 光伏发电项目可靠吗 光伏发电国家站补贴政策补贴
- 粉红丝带是什么项目,粉红丝带主题的公益活动
- 科目三考哪些项目,科目三主要练习哪些项目?
- 现在还有适合于普通人创业的互联网项目吗有实例参考最好
- 一个人单干暴利项目 没人注意的暴利行业