《精通软件性能测试与LoadRunner最佳实战》—第2章2.5节 测试脚本编写

简介: 性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。

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

2.5 测试脚本编写
精通软件性能测试与LoadRunner最佳实战
性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。本书后面章节将讲述了有关LoadRunner协议选择和脚本编写的一些知识,如果您还不是特别清楚,请参见第3~6章内容。关于测试脚本的编写在这里着重强调以下几点。

(1)协议的正确选用,关系到脚本是否能够正确录制与执行,十分重要。因此在进行程序的性能测试之前,测试人员必须弄清楚,被测试程序使用的是什么协议。

(2)测试脚本不仅可以使用性能测试工具来完成,在必要的时候,可以使用其他语言编程来完成同样的工作。

(3)通常,在应用工具录制或者编写脚本完成以后,您还需要去除脚本不必要的冗余代码,对脚本进行完善,需要加入集合点、检查点、事务以及对一些数据进行参数化、关联等处理。在编写脚本时,需要注意的还有,为了脚本之间的前后依赖性,如一个进销存管理系统,在进行销售商品之前,您必须首先登录到系统,对系统进行进货处理,才能够进行销售(在本系统不支持红数概念,即不允许负库存情况发生)。这就是前面所讲的脚本间依赖的一个实例,所以在进行有类似情况发生时应该考虑到脚本的执行顺序,在本例中是先执行登录脚本,再执行业务脚本进货,最后进行销售,系统登出。当然有两种处理方式,一种就是录制4个脚本,另外一种方式就是在一个脚本中进行处理,将登录部分放在vuser_init(),进货、销售部分代码可以放在Acition中,最好建立两个分别存放,而将登出脚本放在vuser_end()部分。同时,参数化的时候,也要考虑前后数据的一致性,关于参数化相关选项的含义,请参看第6.4章节。

(4)在编写测试脚本的时候,您还需要注意编码的规范和代码的编写质量问题。软件性能测试不是简单的录制与回放,作为一名优秀的性能测试人员,您可能经常需要自行编写脚本,这需要您一方面提高自己的编码水平,不要将您编写的脚本成为性能测试的瓶颈,有很多测试人员,由于不是程序员出身,也对程序的理解不够深入,经常会发现:例如,申请内存不释放、打开文件不关闭等情况的发生,却不知这些情况会产生内存泄露。所以我们要加强编程语言的学习,努力使自己成为一名优秀的“高级程序员”;另外一方面,也要加强编码的规范。测试团队少则几人,多则几十人,上百人,如果大家编写脚本的时候,标新立异,脚本的可读性势必很差,加之IT行业人员流动性很大,所以测试团队有一套标准的脚本编写规范势在必行,同时在多人修改维护同一个脚本的情况下,应该在脚本中记录修改历史。好的脚本应该是不仅自己能看懂,别人也能看懂。

(5)经常听到很多同事追悔莫及地说,“我的那个脚本哪去了,这次性能测试的内容和以前做过的功能一模一样啊!”、“以前便写过类似脚本,可惜被我删掉了!”等类似话语。因为企业做的软件在一定程度上存在着类似的功能,所以脚本的复用情况也会经常发生,历史脚本的维护同样是很重要的一项工作。笔者建议您将脚本一定要纳入到配置管理,配置管理工具有很多,如Visual Source Safe、Firefly、PVCS、CVS、Havest等都是不错的。

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

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
28天前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
3月前
|
测试技术 Python
Playwright系列(4):录制测试脚本
Playwright系列(4):录制测试脚本
|
3月前
|
测试技术
性能测试和负载测试的区别
性能测试和负载测试的区别
|
4月前
|
测试技术 Shell
shell脚本写的班级管理系统测试用例
shell脚本写的班级管理系统测试用例
56 1
|
4月前
|
JSON 测试技术 API
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
75 3
|
7天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
8天前
|
人工智能 分布式计算 Kubernetes
人工智能,应该如何测试?(三)数据构造与性能测试篇
本文探讨了人工智能场景中的性能测试,区别于传统互联网测试,其复杂性更高。主要关注点包括两类AI产品——业务类和平台类,后者涉及AI全生命周期,测试难度更大。测试重点是模型训练的性能,特别是数据模拟。需要构造大量结构化数据,如不同规模、分布、分片和特征规模的数据,以评估算法效率。此外,还涉及模拟设备规模(如视频流)和节点规模(边缘计算),以测试在大规模负载下的系统性能。文中提到了使用工具如Spark、ffmpeg、流媒体服务器和Kubernetes(K8S)的扩展项目,如Kubemark,来模拟大规模环境。最后,文章介绍了使用Golang进行异步IO操作以构建海量小文件,优化IO性能。
25 0
|
4月前
|
人工智能 自然语言处理 测试技术
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
77 0
软件测试/人工智能|如何使用ChatGPT帮我们写自动化测试脚本
|
28天前
|
数据采集 数据处理 开发工具
argparse是你的好帮手:快速编写自动化脚本、测试脚本、数据处理脚本
argparse是你的好帮手:快速编写自动化脚本、测试脚本、数据处理脚本
|
1月前
|
前端开发 Java 测试技术
《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)
【2月更文挑战第14天】《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程) 前面几篇宏哥介绍了两种(java和maven)环境搭建和三大浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本。前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容,首先宏哥搭建好的环境中创建首个完整的自动化测试脚本,让小伙伴或者童鞋们提前感受感受,也是为了激起大家的学习兴趣。宏哥的个人经验是:自动化脚本编写比较容易,最大的困难去如何去写测试断言。自动化测试,最重要的还是落在测试上面,而不是自动化,自动化只是手段。
38 1
《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)