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等都是不错的。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。