最近在给第三方的合同签署做压测,中间整理了一些思路和测试点,和大家分享
这些第三方的项目,都有一个共同点,加密算法极其复杂。基本都涉及了base文档加密,参数ecode转码,转码再加密。我们需要把这些算法也设计到脚本里面,因为正式用户在上传合同之后,算法也是时间消耗的一部分。可以用事物控制器把这些脚本都合并成一个业务流,统一计算响应时间
关于场景设计,这里设计了多个维度,具体如下
针对不同的网络环境,做基线测试,确保在稳定的网络下测试
针对不同的附件尺寸,做上传测试。如1m的合同pdf,10兆的合同pdf,20兆的合同pdf。重点观察合同上传过程中对内存的消耗 比如在测试中就发现,基线1m的合同,持续上传一分钟,消耗内存就达到了1G。
两天之内,8g内存就消耗干净,频繁的fullgc
针对不同的页数,测试签署的时间。比如40页的合同,签署时间肯定要比10页的长,90页的合同,合同签署时间要更长
签章分两种,一种是普通章,只在最后一页签署;一种是骑缝章,每一页都要有。这两种的签署效率完全不同
针对骑缝章的证书,也有两种。一种是每一个骑缝章都有一个证书,一种是只在最后一页骑缝章加证书,这两种签署的效率也截然不同。
由于项目是异步操作,所以接口的返回时间都是假象,真实的回调时间才是用户感知到的时间。所以一定要把回调时间测出来哦~