非功能测试中的性能测试需要掌握哪些?

网友投稿 760 2022-11-14

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

非功能测试中的性能测试需要掌握哪些?

非功能测试,一般来说,比功能测试门槛高些,多数还是需要掌握一两种流行的测试工具,配合代码脚本能力和超强的分析问题的能力,才能得到开发人员的尊重。功能测试其实也一样,但以性能为基础的非功能测试更能考验测试人员的综合能力,这里绝对带有个人倾向哈。本文以分享非功能测试中的性能测试相关内容为主,比如安全测试等暂不作为讨论的内容。

性能测试主要分类?大体上包括负载测试、压力测试、并发测试、基准测试、稳定性测试、可恢复性测试。按LOADRUNNER书籍中的标准定义如下:

负载测试(Load Testing),不断加压被测系统,直到超过预订指标或者部分资源已经达到饱和不能再加压。其目的是找到系统最大的负载能力,在特定的环境下测试,不断加压,知道系统中部分资源达到极限。

压力测试(Stress Testing),系统已经达到一定的饱和程度(如CPU磁盘等),此时系统处理业务的能力,系统是否会出现错误。疲劳测试是压力测试的一种表现形式。一般用于系统稳定性测试。

配置测试(Confguration Testing),调整系统的软硬件环境,了解各种不同环境对系统的影响,从而找到系统的最佳配置。用于系统调优和规划,了解不同因素对系统性能的影响情况。

并发测试(Concurrency Testing):模拟用户并发访问,测试多用户同时访问某一应用、模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他一些性能问题。

可靠性测试(Reliability Testing):系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性,必须给出明确的要求,例如系统能够持续无故障运行的时间。持续关注运行状态。

基准测试:在一定软硬件以及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据。在系统调优或系统评测的过程中,通过运行相同业务场景并比较测试结果确定调优是否达到效果或者为系统的选择提供决策数据。

性能测试包含的主要内容?工具+计划+监控+调优。

性能测试工具更多的是模拟客户端产生压力的工具,其在性能分析和调优方面较弱,需要一些监控和调优工具,才能做好性能测试,性能测试计划也很重要。

经典工具LOADRUNNER的过程:计划测试,测试设计,创建虚拟用户脚本,创建测试场景,运行测试场景,分析结果。

性能测试本身有没有质量?当然有。测试工具的稳定性,测试环境的稳定性都可以用做考核工具本身。需求定义时的性能指标需要同步提出,比如CPU利用率低于60%,响应时间不超过1秒,每秒请求数目达到单机1万QPS,跑7*24小时稳定性系统服务成功率达到99.999%等。

性能测试何时开始,何时结束?一般在需求分析阶段就开始介入,到最后一个版本测试完成,得出性能报告,才算是一个需求的终结。

研发阶段如何安排呢?一般情况下在编码进行并发测试、压力测试和配置测试,因为此阶段可以快速发现性能的问题;编码结束后的测试阶段,对系统的稳定性和调优,达到系统最优性能,进行负载测试、基准测试和配置测试。

关注性能的三类人:用户(软件系统对用户请求的响应时间)、运维和测试工程师(响应时间+资源消耗+硬件资源可扩展性)、开发工程师(关注所有问题,包括内存泄露、死锁、中间件以及应用服务器等)。

性能测试消耗的资源包括时间、物力、财力;性能测试中发现的bug数目及各自的差别;系统交付用户,在生产环境运行后发现的性能bug数目和级别。

上一篇:自动化测试的劣势
下一篇:性能测试的测试模型
相关文章

 发表评论

暂时没有评论,来抢沙发吧~