《精通软件性能测试与LoadRunner最佳实战》—第2章2.7节 测试场景运行

简介:

本节书摘来自异步社区《精通软件性能测试与LoadRunner最佳实战》一书中的第2章2.7节 测试场景运行,作者于涌 , 王磊 , 曹向志 , 高楼 , 于跃,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.7 测试场景运行
精通软件性能测试与LoadRunner最佳实战
测试场景运行是关系到测试结果是否准确的一个重要过程。经常有很多做测试的人员花费了大量的时间和精力去做性能测试,可是做出来的测试结果不理想。原因是什么呢?关于测试场景的设计在这里着重强调以下几点。

(1)性能测试工具都是用进程或者线程来模拟多个虚拟用户,每个进程或者线程都是需要占用一定内存的,所以要保证负载的测试机足够跑设定的虚拟用户数,如果内存不够,请用多台负载机分担进行负载。

(2)在进行性能测试之前,需要先将应用服务器“预热”,即先运行一下应用服务器的功能。这是为什么呢?语言翻译成机器语言,计算机才能执行高级语言编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,比如可执行文件,以后要运行的话就不用重新翻译了,直接使用编译的结果文件执行(EXE)就行了,因为翻译只做了一次,运行时不需要翻译,所以编译型语言的程序执行效率高。解释则不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,如解释性语言JSP、ASP、Python等,专门有一个解释器能够直接执行程序,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就要翻译一次,效率比较低。这也就是有很多测试系统的响应时间为什么很长的一个原因,就是没有实现运行测试系统,导致第一次执行编译需要较长时间,从而影响了性能测试结果。

(3)在有条件的情况下,尽量模拟用户的真实环境。经常收到一些测试同行的来信说:“老师,为什么我们性能测试的结果每次都不一样啊?”,经过询问得知,性能测试环境竟与开发环境为同一环境,且同时被应用。有很多软件公司,为了节约成本,开发与测试应用同一环境,进行测试,这种模式有很多弊端。做性能测试时,若研发和测试共用系统,因性能测试周期通常少则几小时,多则几天,这不仅给研发和测试人员使用系统资源带来一定的麻烦,而且容易导致测试与研发的数据相互影响,所以尽管经过多次测试,但每次测试结果各不相同。随着软件行业的蓬勃发展,市场竞争也日益激励,希望软件企业能够从长远角度出发,为测试部门购置一些与客户群基本相符的硬件设备,如果买不起服务器,可以买一些配置较高的PC代替,但是环境的部署一定要类似。如果条件允许也可以在客户实际环境做性能测试。总之,请大家一定要注意测试环境的独立性,以及网络、软、硬件测试环境与用户的实际环境一致性,这样测试的结果才会更贴近真实情况,性能测试才会有意义。

(4)测试工作并不是一个单一的工作,作为测试人员应该和各个部门保持良好的沟通。例如,在遇到需求不明确的时候,就需要和需求人员、客户以及设计人员进行沟通,把需求搞清楚。在测试过程中,碰到问题以后,如果自己以前没有遇到过也可以跟同组的测试人员、开发人员进行沟通,及时明确问题产生的原因、解决问题,点滴的工作经验积累对一个测试人员很有帮助,这些经验也是日后问题推测的重要依据。在测试过程中,也需要部门之间相互配合,在这里就需要开发人员和数据库管理人员同测试人员相互配合完成1年业务数据的初始化工作。所以,测试工作并不是孤立的,需要和各部门进行及时沟通,在需要帮助的时候,一定要及时提出,否则可能会影响项目工期,甚至导致项目的失败,在测试中我一直提倡“让最擅长的人做最擅长的事”,在项目开发周期短,人员不是很充足的情况下这点表现更为突出,不要浪费大量的时间在自己不擅长的东西上。

(5)性能测试的执行,在时间充裕的情况下,最好同样一个性能测试用例执行3次,然后分析结果,如果结果相接近才可以证明此次测试是成功的。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
4月前
|
测试技术 Shell API
Playwright系列(3):运行测试用例
Playwright系列(3):运行测试用例
|
10天前
|
数据采集 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks运行任务时出现链接超时,但在测试连通性时显示正常连通是什么原因导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
21 0
|
11天前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
11天前
|
测试技术 Python
python运行集成测试
【4月更文挑战第22天】
10 1
|
12天前
|
XML 测试技术 持续交付
python运行集成测试
【4月更文挑战第21天】
21 2
|
17天前
|
资源调度 JavaScript 测试技术
单元测试:编写和运行Vue组件的单元测试
【4月更文挑战第23天】本文探讨了为Vue组件编写单元测试的重要性,以及如何设置测试环境、编写和运行测试。通过使用Jest或Mocha作为测试框架,结合Vue Test Utils,可以独立测试组件的功能,如渲染、事件处理和状态管理。编写测试用例时,应注意覆盖各种行为,并使用断言验证组件状态。运行测试并观察结果,确保测试独立性和高覆盖率。单元测试是保证代码质量和维护性的关键,应随着项目发展持续更新测试用例。
|
24天前
|
Python
Pycharm运行提示(运行‘Python测试(00.py内)‘(u)
Pycharm运行提示(运行‘Python测试(00.py内)‘(u)
|
28天前
|
缓存 小程序 开发者
小程序,运行测试时卡在等待界面,持续加载不到资源
小程序,运行测试时卡在等待界面,持续加载不到资源
|
2月前
|
机器学习/深度学习 API Apache
机器学习PAI常见问题之本地运行深度学习训练和预测的测试代码时报错如何解决
PAI(平台为智能,Platform for Artificial Intelligence)是阿里云提供的一个全面的人工智能开发平台,旨在为开发者提供机器学习、深度学习等人工智能技术的模型训练、优化和部署服务。以下是PAI平台使用中的一些常见问题及其答案汇总,帮助用户解决在使用过程中遇到的问题。
|
3月前
|
Java 测试技术 Maven
单元测试添加运行参数的maven插件
单元测试添加运行参数的maven插件
22 0