一、项目背景:
小A新入职一家IT公司,该公司主营业务是做监控云平台的。由于公司还处在成长期,所以目前就只有小A一名测试工程师。也就是通常所说的全能型人才,需求分析、功能测试、性能测试、持续集成、运维、技术支持、售后培训等等一系列的工作可能都需要小A来支持。并且部门内部没有其他人对测试非常了解,小A唯有自助,才能得到天助。一开始小A很是气馁,感觉自己从一个坑跳到另一个坑~但是他发现其实这样的架构也能有一些好处,比如之前不敢尝试的测试工具和方法可以在这里尝试。
某天,项目经理找到小A,对他说:我们云平台的基本功能开发已经完成了,马上要进入试运行阶段,试运行阶段的数据量大概在3000-4000个终端的样子,希望你来评估一下平台能否承受这么大的压力。
二、需求分析
小A听了项目经理的话,就开始分析客户的需求。项目经理的话就是最原始的客户需求。用测试的专业术语来说就是:需要度量平台在现有配置下(CPU、内存、网络、硬盘),最大能承受多少模块的连接。显然这需要进行一次压力测试。
压力测试之前应该先保证所加压的模块功能流程是通的。所以先找开发的同事要来接口文档,弄清楚模块和平台之间的报文交互流程,如下:
登录开始
1.客户端给服务端第一包
696901003a00000001000100000001000100534757354c5542413048000000000000534757354c55424130480000000000000000000000000000000000000000000036df
2.如果数据正确,服务端给客户端返回如下数据,如果数据不正确,服务端不会返回数据。
6969010012000000000000000000000004000100121E0D1101117AF6
3.客户端发给服务端第二包
696901002a000000010001000000010003000000000000000000000000000000000000000000000000000000000000000000ef22
4.如果数据正确,服务端给客户端返回如下数据,如果数据不正确,服务端不会返回数据。
6969010012000000000000000000000004000100121E0D1101117AF6
至此登陆认证通过
心跳包及业务数据
5.客户端发送业务数据
6.
69690100fe000000010001000000040029000100000000140e1101111a0001180158423530010119013231373601011a013030353001011b013630000001011c012020202001011d012020202001011e012020202001011f012020000001012201f8110000010123010400000001010401000000000101050100000000010106010000000001010701000000000101080100000000010109010000000001010a010000000001010b010000000001010c010000000001010d01000000000102fa0000010000140e11011102fb0000010000140e11011102fc0000010000140e11011102fd0000010000140e11011102fe0000010000140e11011102ff0000010000140e11011114b7
7.服务端返回 0x10
8.客户端发送心跳包数据: 0x10
9.服务端返回 0x10
连接断开逻辑
客户端断开的逻辑 就是4分10s没有收到 心跳包 0x10。。然后客户端断开了 服务端自动断开
注:所有数据都是十六进制的字节流,心跳是56s一条,业务数据是2min一条
三、测试方案
3.1 测试环境
查看更多精彩内容,请点击下载:
版权声明:本文出自《51测试天地》第五十期。51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。