一天一个面试题 7️⃣之性能测试怎么开展

219 阅读3分钟

写在前面

性能测试是每个公司都在想去开展的,作为评价app 的一个重要指标,性能在测试过程中占有相当高的比重,但是目前很多公司都没有正常的开展此项测试,原因大概有三点,1、性能不会影响用户的正常使用,只会影响用户的体验 2、性能公司测试人员不足,无法满足开展条件 3、公司用户体量没到达需要测试性能的级别,但是无论如何在测试过程中性能测试不可不做。

问题分析

首先可以聊一下,什么情况需要开展性能测试,再来聊一下性能测试的目的是什么,这些说明白后,再说性能测试该怎么去做,最后说一下性能测试的最终结果

回答

每个公司的要求不一样,所以需要去开展性能测试的时间也有所不痛,大致分为以下几种:
    1.产品上线前,要求必须要做性能测试
    2.产品上线后出现性能问题(比较慢/卡),再测试 
    3.一些重大模块/新功能的时候,测试功能模块的性能  
压测产品的性能的目的应该有三个情况   
   1.找出性能问题  
   2.性能测试报告-性能是否达标  
   3.标准,对比竞品,对比历史版本,性能指标  
具体应该怎么做  
   1.性能需求  
        性能指标  
           并发用户数 通过公式去计算/指定  
           响应时间 不同模块要求不一样  
           平均响应时间 90%用户的响应时间  
           吞吐量/吞吐率  
           事务成功率 95%以上  
       资源指标  
           CPU,内存、使用率就控制在75%以下  
           网络,磁盘  
   2.制定性能测试计划  
       全部测试-1个星期可以完成  
       1天是编写用例、1天准备环境,2执行用例,1天测试报告与分析  
       部分测试-1-2天就能完成(具体情况具体分析)  
   3.性能测试用例  
       单个业务场景的测试  
       混合场景的测试  
       负载测试,不断加压  
   4.准备环境  
       1.设备  
            服务器  
            压测机-选择一台比较干净的机器  
       2.编写性能测试脚本  
           1.参数化  
           2.断言  
           3.动态关联  
           4.模拟用户的操作  
       3.测试数据  
           需要模拟大量用户操作,需要提前准备大量的测试数据  
   5.压测  
       1.监控服务器资源工具nmon--在脚本运行之前打开  
       2.运行脚本  
           单个场景压测-一般运行15-30分钟,并发用户数在原有基础上添加10%-20%  
           混合场景压测-运行30-60分钟  
           负载测试-没有时间限制,找出系统的瓶颈,什么时候会崩溃  
       
   6.测试报告与结果分析(1天)  
       1.测试资源  
       2.测试设计-计划  
       3.结果分析  
       4.测试结论  
       5.优化和建议  
       6.测试通过的标准  
   7.调优(排除法)  
       响应时间过长  
           1.资源使用率太高  
           2.中间件线程组太大  
           3.数据库-线程数、索引、SQL优化、索引命中率、sleep等待时间过长、临时表空间 
           4.代码质量问题  
           5.网络问题  
       资源使用率不足  
           1.线程数不够  
           2.带宽问题  
           3.中间件连接数  
           4.数据库的问题  
           5.代码质量  
最后,通过性能测试找到系统瓶颈,完成性能测试,得出性能结果

写在最后

我是小巴哥,一个陪你成长,实实在在分享 测试干货职场经验的人,欢迎关注!!!