软件性能测试它是在强迫测试和交替进行负荷时比较常用的专业术语。软件测性能在网络安全管理中必不可少,它通常是验证软件的性能在系统条件下和正常环境中使用能够满足性能指标,软件性能测试它比较关注的六个区域分别是:测试场景,测试环境,生成环境,目标,用户,用例。对应的工具有IBM,HP,OpenSource。下面我们来介绍关一下关于软件性能测试十个问答常识,希望能够对在岗的人士有所帮助。
性能测试的三个核心原理是什么?
基于协议。性能测试的对象是网络分布式架构的软件,而网络分布式架构的核心是网络协议。多线程。人的大脑是单线程的,电脑的cpu是多线程的。性能测试就是利用多线程的技术模拟多用户去负载。模拟真实场景。用户的访问时间,访问频率都不是固定的。
性能测试的核心关注点是什么?
1、用户关注。响应时间,稳定性、可恢复性 2、运维关注。服务器/数据库资源使用,服务器端处理速度,系统能否支撑7*24小时 3、测试关注。最大访问用户数量,最大业务处理数量,内存资源能否正常回收 4、开发关注。代码:算法、sql语句。
简述性能测试流程
1、分析性能需求。挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下 2、制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具 3、编写测试用例 4、搭建测试环境,准备好测试数据 5、编写性能测试脚本 6、性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本 7、设计测试场景,运行测试脚本,监控数据 8、分析测试结果,收集相关的日志提单给开发 9、性能测试回归 10、编写测试报告
如何确定系统最大负载?
通过负载测试,不断增加并发,随着并发数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数。Jmeter中可以用rps定时器或者阶梯加压线程组。
你们系统哪些地方(哪些功能)做了性能测试?
选用了用户使用最频繁的功能来做测试,比如:登陆,搜索,提交订单
你们的并发用户数是怎么确定的?
1、会先上线一段时间,根据收集到的用户访问数据进行预估 2、根据需求来确定,使用高峰时间段,注册用户数,单次响应时间等。
你们性能测试在什么环境执行?
搭建一套独立的性能测试环境进行测试。
你们性能测试什么时间执行?
基准测试:功能测试之后,系统比较稳定的时候再做。负载测试:夜深人静,系统没人用的时候
怎么分析性能测试结果?
首先查看事物通过率,然后分析其他性能指标,比如,确认响应时间,事务通过率,CPU等指标是否满足需求;如果测试结果不可信,要分析异常的原因,修改后重新测试。
服务器CPU指标异常
1、关注cpu利用率和负载情况,如果利用率过低负载过高,那么可能是进程队列过多,造成了阻塞 2、关注上下文切换,如果主动切换过多,那么可能是内存/IO瓶颈;如果被动切换过多,那么可能时间片不够,可以考虑调整进程优先级来增加时间片。
内存溢出,进程消失
观察堆内存的年轻代与老年代空间分配是否合理,调整内存参数
2、swap空间是否不足,触发了oomkiller程序在多用户运行时严重超时,甚至提示连不上服务器。程序可能是单线程处理机制,后续的线程全部在排队等待。
如何识别系统瓶颈?
随着负载的增加,吞吐量是否能持续稳定的上升,找到吞吐量下滑的那个点
随着负载的增加,响应时间是否开始变长,找到响应时间突然变长的那个点
3、随着负载的增加,是否开始出现错误
以上我们介绍了关于软件性能测试十个问答常识的相关知识点,如果您想了解更多相关信息,请您继续关注中培伟业。