性能测试的流程
首先做性能需求分析、分析出来需要测试的核心业务,然后根据核心业务设计业务建模,录制脚本,回放一遍,接下来优化脚本,有时候也会用到正则,最后用命令模式跑性能,分析结果输出测试报告;
1.网络连接速度测试
用户连接到Web应用系统的速度根据上网方式的变化而变化,他们或许是电话拨号,或是宽带上网。当下载一个程序时,用户可以等较长的时间,但如果仅仅访问一个页面就不会这样。如果Web系统响应时间太长(例如超过5秒钟),用户就会因没有耐心等待而离开。另外,有些页面超时的限制,如果响应速度太慢,用户可能还没来得及浏览内容,就需要重新登陆了。而且,连接速度太慢,还可能引起数据丢失,是用户得不到真实的页面。
2.负载测试
负载测试是为了测量Web系统在某一负载级别上的性能,以保证Web系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:Web应用系统能允许多少个用户同时在线?如果超过了这个数量,会出现什么现象?Web应用系统能否处理大量用户对同一个页面的请求
3.压力测试:
进行压力测试是指实际破坏一个Web应用系统,测试系统的反应。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。黑客常常提供错误的数据负载,直到Web应用系统崩溃,接着当系统重新启动时获得存取权。
压力测试的区域包括表单、登录和其他信息传输页面等。测试需要验证系统能否在同一时间相应大量的用户没在用户传送大量数据的时候能否响应,系统能否长时间运行。可访问性对用户来说是极其重要的。如果用户得到“系统忙”的信息,他们可能放弃,并转向竞争对手。系统检测不仅要使用能够正常访问站点,在很多情况下,可能会有黑客试图通过发送大量数据包来攻击服务器。出于安全的原因,测试人员应该知道当系统过载时,需要采取哪些措施,而不是简单地提升系统性能。
吞吐量:单位时间内系统处理用户请求的数量
并发数:单位时间内服务器接受到的请求数
TPS:单位时间内服务器处理的事务数
性能测试:百分之二十的时间发生百分之八十的事件
启动Badboy,输入url地址,完成负责模块的操作,我负责的是注册登录模块、在脚本录制完成后,点击导出jmeter脚本,然后使用jmeter打开录制的脚本、利用excel或者编程软件创建数据,比如说创建2万个用户名,格式为user0001,保存为txt文件或者csv文件、设置变量名,在请求中引用用户变量,然后设置线程,比如说20个线程,线程组循环次数为1次,循环控制器循环次数稍微1000次,保证最终能够运行2万个用户名。测试过程中也可能会因为请求发送太快,服务器无法响应,可以在请求间加入计时器,模拟真实的操作环境;通过设置断言检查注册登录成功标志位是否出现来判定注册登录是否成功,如果要实现随机要求,可以通过添加正则表达式提取器来处理,通过添加监听器,添加需要监控的对象,如CPU、内存等、通过添加察看结果树运行调试、添加聚合报告,通过cmd命令,生成报告;